[mythtv-commits] Ticket #1361: Lots of "NVP: prebuffering pause" while watching HD recording, audio stutters

MythTV mythtv at cvs.mythtv.org
Sat Feb 25 02:31:02 UTC 2006


#1361: Lots of "NVP: prebuffering pause" while watching HD recording, audio
stutters
----------------------------------+-----------------------------------------
 Reporter:  smalenfant at gmail.com  |        Owner:  ijr     
     Type:  defect                |       Status:  reopened
 Priority:  minor                 |    Milestone:          
Component:  mythtv                |      Version:  0.19    
 Severity:  medium                |   Resolution:          
----------------------------------+-----------------------------------------
Changes (by smalenfant at gmail.com):

  * resolution:  invalid =>
  * status:  closed => reopened

Comment:

 I think I've found why I'm having issues with recording.  Please don't
 close before analysing this.  The buffers used by the function
 CalcReadAheadThresh returns smaller buffers for recording with rawbitrate
 under 18000 kbits/sec.

 All my recording that are over 18mbits works fine, all the one under
 doesn't.

 For example :

   Terminator (Plays fine) start_time: 38308.760 duration: 8335.827
 bitrate=18421 kb/s
   CalcReadAheadThresh(65384 KB) -> threshhold(2650 KB) min read(32 KB) blk
 size(512 KB)

   American Idol (Plays horribly) start_time: 65694.620 duration: 3605.606
 bitrate=12973 kb/s
   CalcReadAheadThresh(15384 KB) -> threshhold(819 KB) min read(32 KB) blk
 size(256 KB)

 Looking at the source code, it seems that when the playback speed is over
 1.5x, it would work fine because the buffer are bigger.  As soon as it
 resume to normal, stutters starts again on stream with bitrate lower than
 18000.  I have proven this by trying it...

   No prebuffer pause when playback is 2x!
   'video_output' mean = '21299.68', std. dev. = '15939.60', fps = '46.95'
   'video_output' mean = '21756.72', std. dev. = '18567.09', fps = '45.96'
   'video_output' mean = '19804.54', std. dev. = '7594.39', fps = '50.49'

 So as part of this, I'm asking if it would be possible to have an option
 to increase the buffers via a setting in the database (the current one I
 believe is only for the backend).  Maybe a multiplier.

 I strongly believe the buffer algorithm needs to be revisted.  The bigger
 buffer should be used for stream of at least 12000 kbits/sec.  The
 American Idol one was ~13000 kbits/sec and plays horribly.

 Have I made my case now? :)

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/1361>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list