[mythtv-commits] mythtv/master commit: bff85941c by Mark Kendall (mark-kendall)
MythTV
noreply at mythtv.org
Sun Jun 5 11:59:36 UTC 2011
Author: Mark Kendall <mkendall at mythtv.org>
Change Date: 2011-06-05T04:59:16-07:00
Push Date: 2011/06/05 04:59:29 -0700
Repository: mythtv
Branch: master
New Revision: bff85941ca0a0d09c2ea8365dcf097eedb735d15
Changeset: https://github.com/MythTV/mythtv/commit/bff85941c
Log:
RingBuffer: Make the buffer size dynamic.
- convert the buffer size to a member variable that can be adjusted mid-
- add buffer sizing factors that increase the size of the buffer for
networked playback, matroska streams and streams with an unknown video
bitrate.
- set the matroska and unknown bitrate flags when scanning the streams
in AvFormatDecoder.
RingBuffer behaviour is unchanged for playback of local files and for
RingBuffers operating on backends; the default 4Mb is ample for fast,
local disk access.
For networked playback, the 4Mb is doubled and doubled again for both
matroska files and files of an unknown bitrate - and hence the maximum
networked buffer size (in the frontend) is 32Mb. This is sufficient to
playback the now infamous galactica clip over an 18Mps wifi connection
with minimal pauses (and there are a couple of additional tweaks that
will remove those pauses altogether).
The specific triggers and multipliers used are a little contrived to fix
the worst case scenarios we have now (in many cases the buffer size will
be much larger than needed - improvements are more than welcome) but the
increase in buffer size for networked playback is probably long overdue.
Modified:
mythtv/libs/libmythtv/avformatdecoder.cpp
mythtv/libs/libmythtv/fileringbuffer.cpp
mythtv/libs/libmythtv/ringbuffer.cpp
mythtv/libs/libmythtv/ringbuffer.h
More information about the mythtv-commits
mailing list