TEMPLATE_TYPEDEF(ePtr<iTimeshiftService>, iTimeshiftServicePtr);
+ /* not related to eCueSheet */
+class iCueSheet: public iObject
+{
+#ifdef SWIG
+ iCueSheet();
+ ~iCueSheet();
+#endif
+public:
+ /* returns a list of (pts, what)-tuples */
+ virtual PyObject *getCutList() = 0;
+
+ enum { cutIn = 0, cutOut = 1, cutMark = 2 };
+
+ virtual RESULT addCut(const pts_t &when, int what) = 0;
+ virtual RESULT removeCut(const pts_t &when, int what) = 0;
+};
+
class iPlayableService: public iObject
{
#ifdef SWIG
virtual SWIG_VOID(RESULT) subServices(ePtr<iSubserviceList> &SWIG_OUTPUT)=0;
virtual SWIG_VOID(RESULT) frontendStatusInfo(ePtr<iFrontendStatusInformation> &SWIG_OUTPUT)=0;
virtual SWIG_VOID(RESULT) timeshift(ePtr<iTimeshiftService> &SWIG_OUTPUT)=0;
+ virtual SWIG_VOID(RESULT) cueSheet(ePtr<iCueSheet> &SWIG_OUTPUT)=0;
};
TEMPLATE_TYPEDEF(ePtr<iPlayableService>, iPlayableServicePtr);
return -1;
}
+RESULT eDVBServicePlay::cueSheet(ePtr<iCueSheet> &ptr)
+{
+ if (m_is_pvr)
+ {
+ ptr = this;
+ return 0;
+ }
+ ptr = 0;
+ return -1;
+}
+
RESULT eDVBServicePlay::getName(std::string &name)
{
if (m_is_pvr)
return -2;
}
+PyObject *eDVBServicePlay::getCutList()
+{
+ PyObject *list = PyList_New(0);
+
+ return list;
+}
+
+RESULT eDVBServicePlay::addCut(const pts_t &when, int what)
+{
+ return -1;
+}
+
+RESULT eDVBServicePlay::removeCut(const pts_t &when, int what)
+{
+ return -1;
+}
+
void eDVBServicePlay::updateTimeshiftPids()
{
if (!m_record)
class eDVBServicePlay: public iPlayableService, public iPauseableService,
public iSeekableService, public Object, public iServiceInformation,
public iAudioTrackSelection, public iFrontendStatusInformation,
- public iSubserviceList, public iTimeshiftService
+ public iSubserviceList, public iTimeshiftService,
+ public iCueSheet
{
DECLARE_REF(eDVBServicePlay);
public:
RESULT frontendStatusInfo(ePtr<iFrontendStatusInformation> &ptr);
RESULT subServices(ePtr<iSubserviceList> &ptr);
RESULT timeshift(ePtr<iTimeshiftService> &ptr);
+ RESULT cueSheet(ePtr<iCueSheet> &ptr);
+
// iPauseableService
RESULT pause();
int isTimeshiftActive();
RESULT activateTimeshift();
+ // iCueSheet
+ PyObject *getCutList();
+ RESULT addCut(const pts_t &when, int what);
+ RESULT removeCut(const pts_t &when, int what);
+
private:
friend class eServiceFactoryDVB;
eServiceReference m_reference;
RESULT frontendStatusInfo(ePtr<iFrontendStatusInformation> &ptr) { ptr = 0; return -1; }
RESULT subServices(ePtr<iSubserviceList> &ptr) { ptr = 0; return -1; }
RESULT timeshift(ePtr<iTimeshiftService> &ptr) { ptr = 0; return -1; }
+ RESULT cueSheet(ePtr<iCueSheet>& ptr) { ptr = 0; return -1; }
// iPausableService
RESULT pause();