ATSC Hauppauge WinTV 1600 in VLC 1.0.3
Posted: 01 Dec 2009 13:30
I recently got a Hauppauge WinTV 1600, for tuning into the local ATSC, and wanted to use VLC to do so. However, no matter how hard I tried, VLC refused to work. I searched these forums, and Google, for answers but found none. Most everybody was not doing ATSC tuning, so it didn't even apply to me.
No matter. After three or four days of playing with DirectShow filters I discovered that VLC was using the wrong Network Provider. Consequently it would fail to connect a Tuner to the provider, since the Tuner was not compatible with the provider VLC was choosing. VLC chooses the provider specified by the ATSC Tuning Space. That would seem correct, but in all of my experiments I have never seen it work. WinTV 7, the application that comes with the card, specifically uses Microsoft Network Provider as the Provider.
After learning all of that, and getting a few graphs working in GraphEdit, I set out to modify the dba access module. Took me all of today and tonight to do it, but I got the code compiling in Cygwin. I added a new FindFilter method which looks for a named filter. In this case, I request "Microsoft Network Provider". I use that instead of the Tuner Space defined provider. Once that provider is in place, every other filter connects perfectly.
Well, to my dismay, VLC cannot submit the tune request properly to MNP. I coded the dba module to ignore such errors and push on forward, but since the card isn't tuned VLC gets no data. Well, easy enough to hack that! I inserted a "Sleep(10000);" after the graph has been built. During that time I can open WinTV 7, tune the channel I desire, and close it. Once VLC kicks back in the card will be properly tuned. Indeed it is, and VLC happily plays live digital TV
So, tomorrow I will investigate the tuning issue and see if I can get VLC to tune the card itself.
I wanted to post this for several reasons. One, to vent. Two, in case others find it insightful. Three, in case I missed something obvious and VLC has worked with this card all along! I'd love to hear that I was mistaken, although a bit disappointed for the work I put in. Please, let me know if this work is useful, I'd be glad to post the changes.
No matter. After three or four days of playing with DirectShow filters I discovered that VLC was using the wrong Network Provider. Consequently it would fail to connect a Tuner to the provider, since the Tuner was not compatible with the provider VLC was choosing. VLC chooses the provider specified by the ATSC Tuning Space. That would seem correct, but in all of my experiments I have never seen it work. WinTV 7, the application that comes with the card, specifically uses Microsoft Network Provider as the Provider.
After learning all of that, and getting a few graphs working in GraphEdit, I set out to modify the dba access module. Took me all of today and tonight to do it, but I got the code compiling in Cygwin. I added a new FindFilter method which looks for a named filter. In this case, I request "Microsoft Network Provider". I use that instead of the Tuner Space defined provider. Once that provider is in place, every other filter connects perfectly.
Well, to my dismay, VLC cannot submit the tune request properly to MNP. I coded the dba module to ignore such errors and push on forward, but since the card isn't tuned VLC gets no data. Well, easy enough to hack that! I inserted a "Sleep(10000);" after the graph has been built. During that time I can open WinTV 7, tune the channel I desire, and close it. Once VLC kicks back in the card will be properly tuned. Indeed it is, and VLC happily plays live digital TV
So, tomorrow I will investigate the tuning issue and see if I can get VLC to tune the card itself.
I wanted to post this for several reasons. One, to vent. Two, in case others find it insightful. Three, in case I missed something obvious and VLC has worked with this card all along! I'd love to hear that I was mistaken, although a bit disappointed for the work I put in. Please, let me know if this work is useful, I'd be glad to post the changes.