- };
- int m_state;
- GstElement *m_gst_playbin;
- GstElement *m_gst_subtitlebin;
- GstTagList *m_stream_tags;
-
- struct Message
- {
- Message()
- :type(-1)
- {}
- Message(int type)
- :type(type)
- {}
- Message(int type, GstPad *pad)
- :type(type)
- {
- d.pad=pad;
- }
-
- int type;
- union {
- GstPad *pad; // for msg type 3
- } d;
- };
-
- eFixedMessagePump<Message> m_pump;
- std::string m_error_message;
-
- audiotype_t gstCheckAudioPad(GstStructure* structure);
- void gstBusCall(GstBus *bus, GstMessage *msg);
- static GstBusSyncReply gstBusSyncHandler(GstBus *bus, GstMessage *message, gpointer user_data);
- static void gstHTTPSourceSetAgent(GObject *source, GParamSpec *unused, gpointer user_data);
- static void gstCBsubtitleAvail(GstElement *element, gpointer user_data);
- static GstCaps* gstGhostpadGetCAPS (GstPad * pad);
- static gboolean gstGhostpadAcceptCAPS(GstPad * pad, GstCaps * caps);
- static void gstGhostpadLink(gpointer user_data, GstCaps * caps);
- static GstFlowReturn gstGhostpadBufferAlloc(GstPad *pad, guint64 offset, guint size, GstCaps *caps, GstBuffer **buf);
- static void gstGhostpadHasCAPS(GstPad *pad, GParamSpec * unused, gpointer user_data);
- static gboolean gstGhostpadSinkEvent(GstPad * pad, GstEvent * event);
- static GstFlowReturn gstGhostpadChainFunction(GstPad * pad, GstBuffer * buffer);
-/* static void gstCBsubtitleCAPS(GObject *obj, GParamSpec *pspec, gpointer user_data);
- static void gstCBsubtitleLink(subtype_t type, gpointer user_data);
- static gboolean gstCBsubtitleDrop(GstPad *pad, GstBuffer *buffer, gpointer user_data);*/
+ };
+ int m_state;
+ GstElement *m_gst_playbin;
+ GstTagList *m_stream_tags;
+
+ struct Message
+ {
+ Message()
+ :type(-1)
+ {}
+ Message(int type)
+ :type(type)
+ {}
+ Message(int type, GstPad *pad)
+ :type(type)
+ {
+ d.pad=pad;
+ }
+
+ int type;
+ union {
+ GstPad *pad; // for msg type 3
+ } d;
+ };
+
+ eFixedMessagePump<Message> m_pump;
+
+ audiotype_t gstCheckAudioPad(GstStructure* structure);
+ 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);
+ void gstTextpadHasCAPS_synced(GstPad *pad);
+ static void gstCBsubtitleAvail(GstElement *element, gpointer user_data);
+ GstPad* gstCreateSubtitleSink(eServiceMP3* _this, subtype_t type);