[mythtv-commits] Ticket #4515: Frontend unknown error, exiting decoder, livetv stuck on bad channel

MythTV mythtv at cvs.mythtv.org
Mon Feb 18 13:40:59 UTC 2008


#4515: Frontend unknown error, exiting decoder, livetv stuck on bad channel
------------------------------------+---------------------------------------
 Reporter:  markus.ingalsuo at osp.fi  |        Owner:  danielk 
     Type:  patch                   |       Status:  assigned
 Priority:  minor                   |    Milestone:  0.21    
Component:  mythtv                  |      Version:  head    
 Severity:  medium                  |   Resolution:          
  Mlocked:  0                       |  
------------------------------------+---------------------------------------

Comment(by dm at prolingua.co.uk):

 I've been looking at various issues to do with the frontend.  The attached
 patch deals with the situation where av_find_stream_info is looking for
 timing information on the streams.  Since DSMCC packets are not part of a
 PES stream there is no timing information available.

 There are other issues:
 mpegts.c sets AVFMTCTX_NOHEADER for the transport stream presumably
 because information about the stream is held in the PMT.  That causes
 av_find_stream_info not to return until MAX_FRAMES packets have been
 returned, or there is both video and audio.  That can cause the ring
 buffer to time out on some channels (e.g. TeleG) with a very low rate of
 DSMCC packets.  One possibility would be to clear AVFMTCTX_NOHEADER once a
 PMT is seen.  The original ffmpeg version of av_find_stream_info actually
 waits for read_size >= MAX_READ_SIZE only and it looks as though this
 condition has been weakened in the Myth version to speed up channel
 changing in live TV.

 RingBuffer.cpp sets end-of-file and produces a "Timing out wait due to
 impending livetv switch." message if the user changes channel.  If this
 happens before sufficient packets have arrived for
 NuppelVideoPlayer::OpenFile to return successfully this appears as a hard
 error and the log shows something like:


 2008-02-18 13:05:12.067 RingBuf(/video/1008_20080218130508.mpg): Timing
 out wait due to impending livetv switch.[[BR]]
 2008-02-18 13:05:12.067 NVP::OpenFile(): Error, couldn't read file:
 /video/1008_20080218130508.mpg[[BR]]
 2008-02-18 13:05:12.067 NVP: DoPlay: rate: 25 speed: 1 skip: 1 => new
 interval 40000[[BR]]
 2008-02-18 13:05:12.067 Set video sync frame interval to 40000[[BR]]
 2008-02-18 13:05:12.067 NVP, Error: JumpToProgram failed.[[BR]]


 This can make it impossible to change to a different channel if one is
 tuned to a channel that is producing DSMCC packets slowly.

 I've tried out Daniel's revised backend patch and it seems to work fine.

 David.

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/4515#comment:22>
MythTV <http://svn.mythtv.org/trac>
MythTV


More information about the mythtv-commits mailing list