[mythtv] [PATCH] more pcHDTV channel-change improvements

Doug Larrick doug at ties.org
Fri Oct 24 09:16:28 EDT 2003


On 10/24/03 06:50:16, Jarod C. Wilson wrote:
> Just throwing in my experiences here, not sure if they are quite what  
> you're seeing, Doug... I haven't had much chance to play with my  
> pcHDTV card yet, but I was never able to successfully change channels  
> w/cvs mythtv from about two weeks ago, and the same holds true for  
> 0.12.
> 
> Example: I've got ABC and CBS right next to each other, both known  
> working HD channels. In the mythtv setup util, I set up to tune to  
> channel 4 (ABC) when the tuner is first accessed. Everything is fine.  
> I watch for a bit, then try to change to channel 7 (CBS). The last  
> frame from channel 4 remains, and the frontend just sits there doing  
> nothing. If I kill the frontend and reenter it, and go back to  
> watching live TV, up comes channel 7 without problem, so the channel  
> change was registered, but never fully completed. Or something like  
> that.

Yes, this is exactly what I was seeing with 0.12.  I believe what was  
happening is that avcodec (avformat, actually) had locked onto the PIDs  
making up the show from the first channel.  If the PIDs happened to be  
the same on the next channel (not as unlikely as it seems -- they're  
standardized per subchannel), all was well.  My first commit -- to  
strip out unused PIDs -- made this worse because then we're less likely  
to see the old PID if the new station was broadcasting multiple  
subchannels.

My newest commit (current CVS) rewrites the PIDs to be what the decoder  
is expecting after a channel change.  Not necessarily the most elegant  
solution but it works.  Once we're decoding the PAT (table of PIDs,  
essentially) we should rewrite it to match, and then we'll be a 100%  
compliant transport stream again.

With this new code, I get good channel-change performance so long as  
the format stays the same... so from CBS to NBC (both 1080i) is fine.  
>From either of those to ABC (720p, lower resolution) is usually fine.   
But switch from ABC to CBS/NBC (higher resolution) and the frontend  
crashes.  It does seem to pick up the change -- I see "Video has  
changed: 1920 1080" in the frontend log -- but crashes shortly  
thereafter.

Maybe someone who's familiar with ffmpeg will tell me that it would  
handle the transition properly if I weren't filtering out x piece of  
information from the stream ... that would be great.  But I suspect  
some missing piece of reinitialization.

-Doug


More information about the mythtv-dev mailing list