[mythtv] [mythtv-commits] Ticket #3690: Prebuffering pauses with ivtv sinceffmpeg resync
Anduin Withers
awithers at anduin.com
Tue Aug 7 00:25:28 UTC 2007
> Since the ffmpeg resync - [13655] - one of my frontends has had issues
> playing back recordings from the PVR150 in the backend. If I roll back to
> 13654 playback is smooth but on 13655 it's unwatchable (prebuffering
> pauses every 2 seconds or so). This only occurs with recordings from the
> PVR150, playing from the DVB cards is fine.
[...]
> Ticket URL: <http://svn.mythtv.org/trac/ticket/3690>
I had one frontend that was hitting this bug and so spent a good chunk of
yesterday looking in to 3690.
It looks like libavformat/mpeg.c mpegps_read_pes_header line 1446:
url_fseek(&s->pb, last_sync, SEEK_SET);
This will result in calls to RingBuffer::Seek() with seeks to where we are,
not too bad except for unnecessary things like a potential network call and
worse, a ResetReadAhead call.
For me the difference between unwatchable even at 1x and, as it was back at
13654, is a check early in RingBuffer::Seek(). My change is to do nothing
(not literally nothing, return the right values) when SEEK_SET(where we are)
and SEEK_CUR(0).
Does anyone object to this change? (I'll attach the patch to the ticket
later tonight)
--
Anduin Withers
More information about the mythtv-dev
mailing list