X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fservice%2Fservicedvb.h;h=3efc259de4d8612a94a2fc88c361aa089fbb6669;hp=e3c7fd58933fa13e0510f46bbb0129a1ed2333c9;hb=1b50c31e8c9a2d690500feac0065fd1ace941c80;hpb=699e95c18614b5e6c659a82ae955be6c3920f6e5 diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index e3c7fd5..3efc259 100644 --- a/lib/service/servicedvb.h +++ b/lib/service/servicedvb.h @@ -159,9 +159,10 @@ public: // iTimeshiftService RESULT startTimeshift(); - RESULT stopTimeshift(); + RESULT stopTimeshift(bool swToLive=true); int isTimeshiftActive(); RESULT activateTimeshift(); + RESULT setNextPlaybackFile(const char *fn); // iCueSheet PyObject *getCutList(); @@ -184,7 +185,7 @@ public: RESULT stream(ePtr &ptr); PyObject *getStreamingData(); -private: +protected: friend class eServiceFactoryDVB; eServiceReference m_reference; @@ -213,9 +214,8 @@ private: int m_is_pvr, m_is_paused, m_timeshift_enabled, m_timeshift_active, m_timeshift_changed; int m_first_program_info; - std::string m_timeshift_file; + std::string m_timeshift_file, m_timeshift_file_next; int m_timeshift_fd; - ePtr m_decode_demux; int m_current_audio_stream; @@ -228,9 +228,11 @@ private: void updateTimeshiftPids(); void switchToLive(); + + void resetTimeshift(int start); void switchToTimeshift(); - - void updateDecoder(); + + void updateDecoder(bool sendSeekableStateChanged=false); int m_skipmode; int m_fastforward; @@ -287,6 +289,8 @@ private: ePtr m_video_event_connection; void video_event(struct iTSMPEGDecoder::videoEvent); + + virtual ePtr createTsSource(eServiceReferenceDVB &ref); }; class eStaticServiceDVBBouquetInformation: public iStaticServiceInformation