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

Jarod C. Wilson jcw at wilsonet.com
Fri Oct 24 13:10:38 EDT 2003


On Friday, Oct 24, 2003, Doug 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.

Heh. Ugly but functional is better than elegant but non-functional 
(well, usually)! =]

> 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.

Ah, that would probably be compounding my issue. For me, ABC is 
1280x720p, 59.97fps, CBS is 1920x1080i, 29.97fps (and my signal is too 
weak for NBC). Is it possible that the fps changes are contributing to 
the problem?

I'll have to try out cvs and tweak my setup so I can do a like-format 
to like-format channel change too (I think the next channel up from CBS 
is PBS, which is also 1920x1080, so I should be okay trying that...).

> 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.

I haven't a clue myself... I'm happy to do any testing and give 
feedback though.

--Jarod
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 186 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20031024/8082d593/attachment.pgp


More information about the mythtv-dev mailing list