RESULT eDVBServicePlay::setFastForward(int ratio)
{
if (m_decoder)
- m_decoder->setFastForward(ratio);
+ return m_decoder->setFastForward(ratio);
else
return -1;
}
RESULT eDVBServicePlay::seekTo(pts_t to)
{
- return -1;
+ eDebug("eDVBServicePlay::seekTo: jump %lld", to);
+
+ ePtr<iDVBPVRChannel> pvr_channel;
+
+ if (m_service_handler.getPVRChannel(pvr_channel))
+ return -1;
+
+ ePtr<iDVBDemux> demux;
+ m_service_handler.getDemux(demux);
+ if (!demux)
+ return -1;
+
+ return pvr_channel->seekTo(demux, 0, to);
}
RESULT eDVBServicePlay::seekRelative(int direction, pts_t to)
if (!demux)
return -1;
- return pvr_channel->getCurrentPosition(demux, pos);
+ return pvr_channel->getCurrentPosition(demux, pos, 1);
+}
+
+RESULT eDVBServicePlay::setTrickmode(int trick)
+{
+ if (m_decoder)
+ m_decoder->setTrickmode(trick);
+ return 0;
}
RESULT eDVBServicePlay::frontendStatusInfo(ePtr<iFrontendStatusInformation> &ptr)