Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#9546 closed Patch - Bug Fix (fixed)

[patch] corrupted read buffer refs #9511

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


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


Attachments (1)

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

Download all attachments as: .zip

Change History (5)

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

the patch

comment:1 Changed 10 years ago by stuartm

Cc: stuartm added
Milestone: unknown0.25

comment:2 Changed 10 years ago by markk

c3e1879e0c284b3c2267 reverted in 46e694c75893bd81040b

comment:3 Changed 10 years ago by markk

Resolution: Fixed
Status: newclosed

Fixed in commit e45da57be5cee702fe9d

comment:4 Changed 10 years ago by Mark Kendall

Resolution: Fixedfixed

Faster pausing when switching programs in live tv.

See and 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

Note: See TracTickets for help on using tickets.