Modify
Warning Please read the Ticket HowTo before creating or commenting on a ticket. Failure to do so may cause your ticket to be rejected or result in a slower response.

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#9546 closed Patch - Bug Fix (fixed)

[patch] corrupted read buffer refs #9511

Reported by: Jiri Fojtasek <jiri.fojtasek@…> Owned by: janne
Priority: critical Milestone: 0.25
Component: MythTV - Video Playback Version: Master Head
Severity: high Keywords:
Cc: stuartm Ticket locked: no

Description

Replying to markk:

Jiri - I'm closing this ticket as fixed, though recognise that there are probably outstanding issues.

The RingBuffer? wait condition should have been resolved in c3e1879e0c284b3c2267 and I took a slightly different approach to the decoder eof problem in 679b668e3669a38bd08e

If you are still seeing issues with livetv hitting the end of the file during normal playback, please open another ticket as that is a separate issue that needs a proper root cause analysis.

Thanks for the time and effort taken in debugging the issue and producing the patches.

Mark

Mark,
c3e1879e0c284b3c2267 introduced new problem and its stream corruption when you hit pause/play few times (sometimes leading in to playback crash), or during program switch/jump.

Your solution is wrong because when the buffer is paused and decoder trying to read from ringbuffer ReadDirect? is used instead and reading data from physical file without readahead buffer and read position adjustment. This will cause readahead buffer corruption when playback is resumed.

Attached patch reverting c3e1879e0c284b3c2267 and fixing wait condition by another way than in my previous patch.

Jiri

Attachments (1)

104-corrupted_stream_fix.patch (2.9 KB) - added by Jiri Fojtasek <jiri.fojtasek@…> 3 years ago.
the patch

Download all attachments as: .zip

Change History (5)

Changed 3 years ago by Jiri Fojtasek <jiri.fojtasek@…>

the patch

comment:1 Changed 3 years ago by stuartm

  • Cc stuartm added
  • Milestone changed from unknown to 0.25

comment:2 Changed 3 years ago by markk

comment:3 Changed 3 years ago by markk

  • Resolution set to Fixed
  • Status changed from new to closed

Fixed in commit e45da57be5cee702fe9d

comment:4 Changed 3 years ago by Mark Kendall

  • Resolution changed from Fixed to fixed

Faster pausing when switching programs in live tv.

See http://code.mythtv.org/trac/ticket/9511 and
http://code.mythtv.org/trac/ticket/9546 for details.

In summary, if we are near the end of the buffer when in live tv, force
the reload of the tv chain and return immediately from
RingBuffer::WaitFroAvail? - before we hit the 'generalWait' condition.

Closes #9546

Changeset: e45da57be5cee702fe9d8bb4ba700bcc3f310848

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.