[mythtv-commits] Ticket #12045: Live TV after a short while always make the frontend hang

MythTV noreply at mythtv.org
Wed Feb 19 09:52:28 UTC 2014


#12045: Live TV after a short while always make the frontend hang
-------------------------+-------------------------------------------------
 Reporter:  jyavenard    |          Owner:  Jean-Yves Avenard <jyavenard@…>
     Type:  Bug Report   |         Status:  closed
  - General              |      Milestone:  unknown
 Priority:  blocker      |        Version:  0.27-fixes
Component:  MythTV -     |     Resolution:  fixed
  Recording              |  Ticket locked:  0
 Severity:  medium       |
 Keywords:               |
-------------------------+-------------------------------------------------
Changes (by Jean-Yves Avenard <jyavenard@…>):

 * owner:   => Jean-Yves Avenard <jyavenard@…>
 * status:  new => closed
 * resolution:   => fixed


Comment:

 In [changeset:"2eb5091b6b2058bf94cb11ef36b5972ef9a18fee/mythtv"]:
 {{{
 #!CommitTicketReference repository="mythtv"
 revision="2eb5091b6b2058bf94cb11ef36b5972ef9a18fee"
 Fix fileringbuffer locking up on read()

 From time to time, most often seen during LiveTV,
 FileRingBuffer::safe_read() would lock and not return for a long time (on
 my system, it would block in excess of 20s).
 Upon investigation, the issue occurs while reading a file currently being
 written to, if a call to read() encountered EOF, returned early and a
 following call to read() was made, before another write. Under those
 conditions, read() wouldn't return for a long time, causing the backend to
 abort the read and dropping the frontend connection.

 So instead we now check the size of the current file via a call to POSIX
 fstat and never try to read beyond the EOF position.
 If the file being read isn't a regular, or fstat returned an error, the
 old behaviour is used: read until we get as much data as we asked.

 Surprisingly, this has fixed most of the issues I've been having for years
 with liveTV:
 - Stuttering or temporary free when close to the live
 - Freeze at program transition.

 Add debugging information while in file mode

 Fixes #12045
 }}}

--
Ticket URL: <https://code.mythtv.org/trac/ticket/12045#comment:5>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list