[mythtv-commits] Ticket #7144: Multirec with HDHR closes video stream when recordings overlap
MythTV
mythtv at cvs.mythtv.org
Fri Sep 25 04:49:28 UTC 2009
#7144: Multirec with HDHR closes video stream when recordings overlap
------------------------------------+---------------------------------------
Reporter: david.madsen at gmail.com | Owner: danielk
Type: defect | Status: new
Priority: minor | Milestone: unknown
Component: MythTV - Recording | Version: head
Severity: medium | Mlocked: 0
------------------------------------+---------------------------------------
I recently started utilizing the multirec features of the HDHR and have
run into a few issues when recordings actually overlap on the virtual
tuners assigned to the HDHR.
The problem occurs when one of the recordings ends while other recordings
are still active on other virtual tuners. It appears that when the
recording ends, the EnterPowerSavingMode function is called for the stream
handler class. There is a check here to stop this task call from turning
off the tuner while other recordings are active, but from what I can tell
the function call is not accomplishing what is intended. What ended up
happening for me was that there is an overlap of a couple of minutes
between the two programs. The 2nd program started out recording properly
for the time when both recordings were active, but once the first
recording ended, the 2nd recording stopped receiving data as well.
bool HDHRStreamHandler::EnterPowerSavingMode(void)
{
if (!hdhomerun_device_get_video_sock(_hdhomerun_device))
{
VERBOSE(VB_RECORD, LOC + "Ignoring request - video streaming
active");
return false;
}
else
{
return TuneChannel("none");
}
}
After looking through the HDHR library functions, it appears that this
hdhomerun_device_get_video_sock() function will return a pointer to the
internal video_socket structure, and will actually create a new video
socket if there isn't one allocated. This would result in the task almost
always (except in the case of an error building the socket) return a non
null value. This in turn will force the tuner to tune to "none" which
shuts down the stream to any other listeners.
I haven't had a chance to look for a solution to this yet, I just thought
I'd post this here for anyone else who may be more familiar with the
libraries and code.
I have attached the relevant section of the backend log when the
recordings overlapped. I've attempted to grep out the useful info, but I
can post the entire log if there's anything else that would be helpful in
verifying this.
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/7144>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list