to start recording from the data demux. */
r = m_service_handler.tune((eServiceReferenceDVB&)m_reference, m_is_pvr);
m_event(this, evStart);
+ m_event((iPlayableService*)this, evSeekableStatusChanged);
return 0;
}
RESULT eDVBServicePlay::pause(ePtr<iPauseableService> &ptr)
{
+ /* note: we check for timeshift to be enabled,
+ not neccessary active. if you pause when timeshift
+ is not active, you should activate it when unpausing */
if ((!m_is_pvr) && (!m_timeshift_enabled))
{
ptr = 0;
if (m_timeshift_fd < 0)
{
- delete m_record;
+ m_record = 0;
return -4;
}
m_timeshift_enabled = 0;
m_record->stop();
- delete m_record;
+ m_record = 0;
close(m_timeshift_fd);
remove(m_timeshift_file.c_str());
- eDebug("timeshift disabled");
return 0;
}
void eDVBServicePlay::switchToLive()
{
- eDebug("SwitchToLive");
if (!m_timeshift_active)
return;
void eDVBServicePlay::switchToTimeshift()
{
- eDebug("SwitchToTimeshift");
if (m_timeshift_active)
return;
eServiceReferenceDVB r = (eServiceReferenceDVB&)m_reference;
r.path = m_timeshift_file;
- eDebug("ok, re-tuning to %s", r.toString().c_str());
m_service_handler_timeshift.tune(r, 1); /* use the decoder demux for everything */
}