fix worng position of rc-key on help
[vuplus_dvbapp] / lib / service / servicemp3.h
index 3aeeab1..41aec13 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef __servicemp3_h
 #define __servicemp3_h
 
-#ifdef HAVE_GSTREAMER
 #include <lib/base/message.h>
 #include <lib/service/iservice.h>
 #include <lib/dvb/pmt.h>
@@ -168,12 +167,18 @@ public:
                int bufferPercent;
                int avgInRate;
                int avgOutRate;
-               long long bufferingLeft;
+               int64_t bufferingLeft;
                bufferInfo()
                        :bufferPercent(0), avgInRate(0), avgOutRate(0), bufferingLeft(-1)
                {
                }
        };
+       struct errorInfo
+       {
+               std::string error_message;
+               std::string missing_codec;
+       };
+
 private:
        static int pcm_delay;
        static int ac3_delay;
@@ -189,7 +194,11 @@ private:
        friend class eServiceFactoryMP3;
        eServiceReference m_ref;
        int m_buffer_size;
+       //vuplus
+       int m_is_hls_stream;
+
        bufferInfo m_bufferInfo;
+       errorInfo m_errorInfo;
        eServiceMP3(eServiceReference ref);
        Signal2<void,iPlayableService*,int> m_event;
        enum
@@ -197,7 +206,7 @@ private:
                stIdle, stRunning, stStopped,
         };
         int m_state;
-        GstElement *m_gst_playbin;
+        GstElement *m_gst_playbin, *audioSink, *videoSink;
         GstTagList *m_stream_tags;
 
         struct Message
@@ -221,9 +230,9 @@ private:
         };
 
         eFixedMessagePump<Message> m_pump;
-        std::string m_error_message;
 
         audiotype_t gstCheckAudioPad(GstStructure* structure);
+        static gint match_sinktype(GstElement *element, gpointer type);
         void gstBusCall(GstBus *bus, GstMessage *msg);
         static GstBusSyncReply gstBusSyncHandler(GstBus *bus, GstMessage *message, gpointer user_data);
        static void gstTextpadHasCAPS(GstPad *pad, GParamSpec * unused, gpointer user_data);
@@ -261,6 +270,5 @@ private:
        std::string m_useragent;
        RESULT trickSeek(gdouble ratio);
 };
-#endif
 
 #endif