HVR-1600 ALSA Audio and Mplayer

There is now a tree that users are welcome to test which provides an ALSA interface for the HVR-1600:

http://kernellabs.com/hg/~dheitmueller/hvr-1600-alsa-2

As was the case with the ClearQAM improvements, we have ONELAN Limited to thank for sponsoring this work.

One thing that is interesting: as a result of wanting to do some testing, I noticed that neither tvtime nor mplayer really work gracefully with the HVR-1600. Both applications only support raw video streaming via MMAP, and the cx18 driver only supports the read() interface. Also, neither support the HM12 colorspace that is specific to the cx18.

It’s worth noting that in the case of mplayer, I’m talking about using the v4l2 based “tv://” argument, which allow you to do things like specify the channel, input selection, and do simultaneous ALSA streaming. You *can* use mplayer for video by piping the data directly from /dev/video32 (and manually specify the format options), but this is pretty clunky and you cannot do the other features.

If we wanted to make these apps work, we could extend both applications to support the read() mechanism, although I think it would be better to update the driver to use the videobuf framework, which would allow for the device to support both read() and mmap(). This would bring the HVR-1600 in line with all of other devices which already use videobuf. In terms of the HM12 colorspace, mplayer already supports it but needs it’s V4L2 code updated to know about the additional fourcc code. For tvtime, we would probably be better to just cut it over to use libv4l, which provides transparent conversion to YUYV.

With the ALSA support wrapping up, I’m now switching back to finishing the em28xx PAL work.

Leave a Reply