experimentally switch to new decodebin2 gstreamer back-end for mediaplayer. requires...
[enigma2.git] / lib / service / iservice.h
index 0385b9c2af7d25281cfa0991b074e29130eab18b..7b85c8fabdf5de0baf78fedf07e9dc8e1d95b5ad 100644 (file)
@@ -240,7 +240,7 @@ public:
        virtual int getLength(const eServiceReference &ref);
        virtual SWIG_VOID(RESULT) getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &SWIG_OUTPUT, time_t start_time=-1);
                // returns true when not implemented
-       virtual int isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
+       virtual int isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate=false);
 
        virtual int getInfo(const eServiceReference &ref, int w);
        virtual std::string getInfoString(const eServiceReference &ref,int w);
@@ -287,12 +287,6 @@ public:
                sServiceref,
                sTimeCreate,            /* unix time or string */
 
-               sTitle,
-               sArtist,
-               sAlbum,
-               sComment,
-               sTracknumber,
-               sGenre,
                sCAIDs,
                sVideoType,             /* MPEG2 MPEG4 */
 
@@ -310,6 +304,57 @@ public:
                sTotalChapters,
                sTotalTitles,
 
+               sTagTitle,
+               sTagTitleSortname,
+               sTagArtist,
+               sTagArtistSortname,
+               sTagAlbum,
+               sTagAlbumSortname,
+               sTagComposer,
+               sTagDate,
+               sTagGenre,
+               sTagComment,
+               sTagExtendedComment,
+               sTagTrackNumber,
+               sTagTrackCount,
+               sTagAlbumVolumeNumber,
+               sTagAlbumVolumeCount,
+               sTagLocation,
+               sTagHomepage,
+               sTagDescription,
+               sTagVersion,
+               sTagISRC,
+               sTagOrganization,
+               sTagCopyright,
+               sTagCopyrightURI,
+               sTagContact,
+               sTagLicense,
+               sTagLicenseURI,
+               sTagPerformer,
+               sTagCodec,
+               sTagVideoCodec,
+               sTagAudioCodec,
+               sTagBitrate,
+               sTagNominalBitrate,
+               sTagMinimumBitrate,
+               sTagMaximumBitrate,
+               sTagSerial,
+               sTagEncoder,
+               sTagEncoderVersion,
+               sTagTrackGain,
+               sTagTrackPeak,
+               sTagAlbumGain,
+               sTagAlbumPeak,
+               sTagReferenceLevel,
+               sTagLanguageCode,
+               sTagImage,
+               sTagPreviewImage,
+               sTagAttachment,
+               sTagBeatsPerMinute,
+               sTagKeywords,
+               sTagCRC,
+               sTagChannelMode,
+
                sUser = 0x100
        };
        enum {
@@ -392,6 +437,8 @@ class iPauseableService: public iObject
        ~iPausableService();
 #endif
 public:
+
+               /* this will set the *state* directly. So just call a SINGLE function of those at a time. */
        virtual RESULT pause()=0;
        virtual RESULT unpause()=0;
 
@@ -846,7 +893,7 @@ public:
        virtual RESULT connectEvent(const Slot2<void,iRecordableService*,int> &event, ePtr<eConnection> &connection)=0;
 #endif
        virtual SWIG_VOID(RESULT) getError(int &SWIG_OUTPUT)=0;
-       virtual RESULT prepare(const char *filename, time_t begTime=-1, time_t endTime=-1, int eit_event_id=-1)=0;
+       virtual RESULT prepare(const char *filename, time_t begTime=-1, time_t endTime=-1, int eit_event_id=-1, const char *name=0, const char *descr=0, const char *tags=0)=0;
        virtual RESULT prepareStreaming()=0;
        virtual RESULT start(bool simulate=false)=0;
        virtual RESULT stop()=0;