PyObject *getAll(bool original); // a sum of getFrontendData/Status/TransponderData
};
-class eSubtitleWidget;
+class eSubtitleWidget;
class eDVBServicePlay: public eDVBServiceBase,
public iPlayableService, public iPauseableService,
RESULT audioDelay(ePtr<iAudioDelay> &ptr);
RESULT rdsDecoder(ePtr<iRdsDecoder> &ptr);
RESULT keys(ePtr<iServiceKeys> &ptr) { ptr = 0; return -1; }
+ RESULT streamed(ePtr<iStreamedService> &ptr) { ptr = 0; return -1; }
// iPauseableService
RESULT pause();
RESULT unpause();
RESULT setSlowMotion(int ratio);
RESULT setFastForward(int ratio);
-
+
// iSeekableService
RESULT getLength(pts_t &len);
RESULT seekTo(pts_t to);
// iStreamableService
RESULT stream(ePtr<iStreamableService> &ptr);
PyObject *getStreamingData();
+
private:
friend class eServiceFactoryDVB;
eServiceReference m_reference;
int m_current_audio_stream;
int selectAudioStream(int n = -1);
+ RESULT setFastForward_internal(int ratio);
/* timeshift */
ePtr<iDVBTSRecorder> m_record;
ePtr<eConnection> m_new_dvb_subtitle_page_connection;
std::list<eDVBSubtitlePage> m_dvb_subtitle_pages;
- eTimer m_subtitle_sync_timer;
+ ePtr<eTimer> m_subtitle_sync_timer;
void checkSubtitleTiming();
/* radiotext */
ePtr<eConnection> m_video_event_connection;
void video_event(struct iTSMPEGDecoder::videoEvent);
- struct iTSMPEGDecoder::videoEvent m_videoEventData;
};
class eStaticServiceDVBBouquetInformation: public iStaticServiceInformation
eServiceReference &getPlayableService() { return m_playable_service; }
RESULT getName(const eServiceReference &ref, std::string &name);
int getLength(const eServiceReference &ref);
- int isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
+ int isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate=false);
RESULT getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &ptr, time_t start_time);
};