X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/4c9293c08de2abe11f03d15f6515201348bc41f1..16f9d918460fb645b3e64c65437fda2161abd93c:/lib/service/servicedvb.h diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index b40341f7..789edbea 100644 --- a/lib/service/servicedvb.h +++ b/lib/service/servicedvb.h @@ -75,7 +75,10 @@ protected: public: // iFrontendInformation int getFrontendInfo(int w); - PyObject *getFrontendData(bool); + PyObject *getFrontendData(); + PyObject *getFrontendStatus(); + PyObject *getTransponderData(bool); + PyObject *getAll(bool original); // a sum of getFrontendData/Status/TransponderData }; class eSubtitleWidget; @@ -86,7 +89,7 @@ class eDVBServicePlay: public eDVBServiceBase, public iAudioTrackSelection, public iAudioChannelSelection, public iSubserviceList, public iTimeshiftService, public iCueSheet, public iSubtitleOutput, public iAudioDelay, - public iRadioText + public iRdsDecoder, public iStreamableService { DECLARE_REF(eDVBServicePlay); public: @@ -109,7 +112,7 @@ public: RESULT cueSheet(ePtr &ptr); RESULT subtitle(ePtr &ptr); RESULT audioDelay(ePtr &ptr); - RESULT radioText(ePtr &ptr); + RESULT rdsDecoder(ePtr &ptr); // iPauseableService RESULT pause(); @@ -136,13 +139,17 @@ public: int getNumberOfTracks(); RESULT selectTrack(unsigned int i); RESULT getTrackInfo(struct iAudioTrackInfo &, unsigned int n); + int getCurrentTrack(); // iAudioChannelSelection int getCurrentChannel(); RESULT selectChannel(int i); - // iRadioText - std::string getRadioText(int i=0); + // iRdsDecoder + std::string getText(int i=0); + void showRassSlidePicture(); + void showRassInteractivePic(int page, int subpage); + ePyObject getRassInteractiveMask(); // iSubserviceList int getNumberOfSubservices(); @@ -170,7 +177,10 @@ public: int getPCMDelay(); void setAC3Delay(int); void setPCMDelay(int); - + + // iStreamableService + RESULT stream(ePtr &ptr); + PyObject *getStreamingData(); private: friend class eServiceFactoryDVB; eServiceReference m_reference; @@ -185,6 +195,7 @@ private: /* in timeshift mode, we essentially have two channels, and thus pmt handlers. */ eDVBServicePMTHandler m_service_handler_timeshift; eDVBServiceEITHandler m_event_handler; + int m_current_audio_pid; eDVBServicePlay(const eServiceReference &ref, eDVBService *service); @@ -205,7 +216,7 @@ private: ePtr m_decode_demux; int m_current_audio_stream; - int selectAudioStream(int n); + int selectAudioStream(int n = -1); /* timeshift */ ePtr m_record; @@ -264,9 +275,13 @@ private: void checkSubtitleTiming(); /* radiotext */ - ePtr m_radiotext_parser; - ePtr m_radiotext_updated_connection; - void radioTextUpdated(); + ePtr m_rds_decoder; + ePtr m_rds_decoder_event_connection; + void rdsDecoderEvent(int); + + ePtr m_video_event_connection; + void video_event(struct iTSMPEGDecoder::videoEvent); + struct iTSMPEGDecoder::videoEvent m_videoEventData; }; class eStaticServiceDVBBouquetInformation: public iStaticServiceInformation