aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicemp3.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/service/servicemp3.h')
-rw-r--r--lib/service/servicemp3.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/lib/service/servicemp3.h b/lib/service/servicemp3.h
index ceb3b491..11bf125c 100644
--- a/lib/service/servicemp3.h
+++ b/lib/service/servicemp3.h
@@ -206,7 +206,28 @@ private:
GstElement *m_gst_playbin;
GstElement *m_gst_subtitlebin;
GstTagList *m_stream_tags;
- eFixedMessagePump<int> m_pump;
+
+ 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);
@@ -224,7 +245,9 @@ private:
/* 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);*/
- void gstPoll(const int&);
+ void gstPoll(const Message&);
+ void gstGhostpadHasCAPS_synced(GstPad *pad);
+
GstPadBufferAllocFunction m_ghost_pad_buffer_alloc;
GstPadChainFunction m_ghost_pad_chain_function;
GstPadEventFunction m_ghost_pad_subtitle_sink_event;