// iStaticServiceInformation
RESULT getName(const eServiceReference &ref, std::string &name);
+ int getLength(const eServiceReference &ref);
// for filtering:
int checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQuery &query);
virtual void ReleaseUse() = 0;
};
+typedef unsigned long long pts_t;
+
class iDVBPVRChannel: public iDVBChannel
{
public:
/* FIXME: there are some very ugly buffer-end and ... related problems */
/* so this is VERY UGLY. */
virtual RESULT playFile(const char *file) = 0;
+
+ virtual RESULT getLength(pts_t &pts) = 0;
+ virtual RESULT getCurrentPosition(pts_t &pos) = 0;
+
+ // seekTo ...
};
class iDVBSectionReader;
virtual RESULT createSectionReader(eMainloop *context, ePtr<iDVBSectionReader> &reader)=0;
virtual RESULT createTSRecorder(ePtr<iDVBTSRecorder> &recorder)=0;
virtual RESULT getMPEGDecoder(ePtr<iTSMPEGDecoder> &reader)=0;
+ virtual RESULT getSTC(pts_t &pts)=0;
};
class iTSMPEGDecoder: public iObject