25 Nov 2009 |
Posted by Devin Heitmueller | 11 Comments.
My last few months have mainly been spent working on various analog-related projects. As a result, I often need to test various tuners with analog. I typically use the stock tvtime that ships with Ubuntu for this testing.
Over the last year or so, a number of problems have become blindingly apparent with tvtime. Here’s a brief list of the things bugging me (in no particular order):
Lack of audio support for modern tuners – many tuners deliver audio on an ALSA device, and tvtime has no ability to stream this audio. As a result, people end up with running sox or arecord/aplay in a separate window, with no lipsync.
NTSC closed captioning is pretty much completely broken unless you happen to have a BTTV card or a card that behaves exactly like it. Tvtime doesn’t use the V4L2 API to determine the VBI configuration, always assuming a VBI width of 2048, capture height of 16, and sampling rate of 28636363.
Unsupported controls are not handled gracefully – you see the controls in the GUI, but you cannot adjust them at all.
Very limited colorspace support – if your card does not support are YUYV or UYVY, then you are out of luck.
Doesn’t compile from source on modern distributions – in cases where it doesn’t behave gracefully, I want to be able to recompile from source and add debugging – except the source code no longer compiles cleanly on modern distributions.
I’m sure there are other issues, but these are just the things that I keep running into. Given that the project is essentially unmaintained, KernelLabs has decided to do something about it.
We’ve setup a new source repository, and started merging the patches the various Linux distros are maintaining, as well as starting to look at the patches in the SourceForge patch tracker:
Once we have some more merging done, I will spin a release tarball and invite the various Linux distributions to switch over to bundling the KernelLabs version of tvtime.
I’ve also started working on fixing various issues, starting with the VBI support. If you look below, this is a screen capture of tvtime running with a Hauppauge HVR-950 (an em28xx based device).
(Click the image above to see full version)
We also have the start of some patches for ALSA audio support. My hope is that between fixing the audio support and the closed captioning, this should address the two largest issues that users run into.
The goal here is to have a single upstream version that reflects all the patches of the various distros, reducing their overhead and breathing some new life into the project so it works better with modern hardware.
It’s worth noting that this is a KernelLabs project that is not tied to a paying customer. It’s just something we are doing because we are tired of people not having a simple application to easily “just watch tv”.
Users’ lives will be made easier by having an application that just works.
KernelLabs developers’ lives will be made easier having an application for testing that reliably reflects the V4L2 APIs.
Distribution maintainers’ lives will be made easier by not having to keep forward-porting patches as their distribution evolves (because nobody was merging their patches upstream).