[mythtv-firehose] mythtv branch master updated by jyavenard. v0.28-pre-893-g443b624
Git Repo Owner
noreply at mythtv.org
Sun Feb 23 10:02:48 UTC 2014
The branch, master has been updated on the
mythtv repository by gitolite user jyavenard.
via 443b624ebcc8ea56026cb49ca833edc7d73832c1 (commit)
via fafc658597b547e2f0173032515e9790170ebcbe (commit)
from b00e85edd397b2424cc54bcb81d7e6951f6109a4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 443b624ebcc8ea56026cb49ca833edc7d73832c1
Author: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 23 Feb 2014 20:24:28 +1100
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 23 Feb 2014 20:27:40 +1100
URL: http://code.mythtv.org/cgit/mythtv/commit/?id=443b624ebcc8ea56026cb49ca833edc7d73832c1
Prevent playback to exit early should backend's writes be delayed
Typical scenario is when watching on-going recordings and being very close to real time TV: should the backend take more than 360ms between two writes, the reader would treat it as an EOF and abort the read.
When encountering EOF, we now check if the file is being written to in parallel and if so wait.
We can also remove all EOF retries in FileRingBuffer::safe_read() as we definitely know now if we did reach EOF (as we check against the file size).
This allows for almost instantaneous program transition in live TV.
commit fafc658597b547e2f0173032515e9790170ebcbe
Author: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 23 Feb 2014 20:19:50 +1100
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 23 Feb 2014 20:27:40 +1100
URL: http://code.mythtv.org/cgit/mythtv/commit/?id=fafc658597b547e2f0173032515e9790170ebcbe
Have backend advertise which files are currently being written to
It is necessary in some playback scenarios to know if a file being read is currently being written to. This is useful in determining when encountering EOF if we should wait for more data or abort the read.
MythCoreContext will now keep track of files as they are being opened for writing
Connected frontends will receive the information via the event socket in the form of a BACKEND_MESSAGE event.
The myth protocol is extended with two new BACKEND_MESSAGE events:
FILE_WRITTEN: Sent when a file is opened in write mode, and when the file is being written to (at most every 10s)
FILE_CLOSED: Sent when the file opened in write mode is closed.
The myth protocol version doesnât have to be increased as frontends will make use of it only if available and the changes are backward compatible with exiting myth protocol.
-----------------------------------------------------------------------
Summary of changes:
mythtv/libs/libmythbase/mythcorecontext.cpp | 98 ++++++++++++++++++++++++
mythtv/libs/libmythbase/mythcorecontext.h | 4 +
mythtv/libs/libmythbase/threadedfilewriter.cpp | 62 +++++++++++-----
mythtv/libs/libmythbase/threadedfilewriter.h | 1 +
mythtv/libs/libmythtv/fileringbuffer.cpp | 10 ++-
mythtv/libs/libmythtv/ringbuffer.cpp | 24 ++++++-
6 files changed, 179 insertions(+), 20 deletions(-)
--
More information about the mythtv-firehose
mailing list