ext/gst: Ensure default query/event handlers are used
And in some cases, just remove our implementation that does nothing
This commit is contained in:
parent
e2597e1e42
commit
9dd0e6cccc
@ -81,8 +81,6 @@ static gboolean gst_audio_visualizer_sink_event (GstPad * pad,
|
|||||||
|
|
||||||
static gboolean gst_audio_visualizer_src_query (GstPad * pad,
|
static gboolean gst_audio_visualizer_src_query (GstPad * pad,
|
||||||
GstObject * parent, GstQuery * query);
|
GstObject * parent, GstQuery * query);
|
||||||
static gboolean gst_audio_visualizer_sink_query (GstPad * pad,
|
|
||||||
GstObject * parent, GstQuery * query);
|
|
||||||
|
|
||||||
static GstStateChangeReturn gst_audio_visualizer_change_state (GstElement *
|
static GstStateChangeReturn gst_audio_visualizer_change_state (GstElement *
|
||||||
element, GstStateChange transition);
|
element, GstStateChange transition);
|
||||||
@ -584,8 +582,6 @@ gst_audio_visualizer_init (GstAudioVisualizer * scope,
|
|||||||
GST_DEBUG_FUNCPTR (gst_audio_visualizer_chain));
|
GST_DEBUG_FUNCPTR (gst_audio_visualizer_chain));
|
||||||
gst_pad_set_event_function (scope->sinkpad,
|
gst_pad_set_event_function (scope->sinkpad,
|
||||||
GST_DEBUG_FUNCPTR (gst_audio_visualizer_sink_event));
|
GST_DEBUG_FUNCPTR (gst_audio_visualizer_sink_event));
|
||||||
gst_pad_set_query_function (scope->sinkpad,
|
|
||||||
GST_DEBUG_FUNCPTR (gst_audio_visualizer_sink_query));
|
|
||||||
gst_element_add_pad (GST_ELEMENT (scope), scope->sinkpad);
|
gst_element_add_pad (GST_ELEMENT (scope), scope->sinkpad);
|
||||||
|
|
||||||
pad_template =
|
pad_template =
|
||||||
@ -1241,7 +1237,7 @@ gst_audio_visualizer_src_event (GstPad * pad, GstObject * parent,
|
|||||||
res = TRUE;
|
res = TRUE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
res = gst_pad_push_event (scope->sinkpad, event);
|
res = gst_pad_event_default (pad, parent, event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1266,9 +1262,6 @@ gst_audio_visualizer_sink_event (GstPad * pad, GstObject * parent,
|
|||||||
res = gst_audio_visualizer_sink_setcaps (scope, caps);
|
res = gst_audio_visualizer_sink_setcaps (scope, caps);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GST_EVENT_FLUSH_START:
|
|
||||||
res = gst_pad_push_event (scope->srcpad, event);
|
|
||||||
break;
|
|
||||||
case GST_EVENT_FLUSH_STOP:
|
case GST_EVENT_FLUSH_STOP:
|
||||||
gst_audio_visualizer_reset (scope);
|
gst_audio_visualizer_reset (scope);
|
||||||
res = gst_pad_push_event (scope->srcpad, event);
|
res = gst_pad_push_event (scope->srcpad, event);
|
||||||
@ -1284,7 +1277,7 @@ gst_audio_visualizer_sink_event (GstPad * pad, GstObject * parent,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
res = gst_pad_push_event (scope->srcpad, event);
|
res = gst_pad_event_default (pad, parent, event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1350,20 +1343,6 @@ gst_audio_visualizer_src_query (GstPad * pad, GstObject * parent,
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
gst_audio_visualizer_sink_query (GstPad * pad, GstObject * parent,
|
|
||||||
GstQuery * query)
|
|
||||||
{
|
|
||||||
gboolean res = FALSE;
|
|
||||||
|
|
||||||
switch (GST_QUERY_TYPE (query)) {
|
|
||||||
default:
|
|
||||||
res = gst_pad_query_default (pad, parent, query);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
static GstStateChangeReturn
|
static GstStateChangeReturn
|
||||||
gst_audio_visualizer_change_state (GstElement * element,
|
gst_audio_visualizer_change_state (GstElement * element,
|
||||||
GstStateChange transition)
|
GstStateChange transition)
|
||||||
|
@ -988,7 +988,7 @@ gst_base_text_overlay_src_query (GstPad * pad, GstObject * parent,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
ret = gst_pad_peer_query (overlay->video_sinkpad, query);
|
ret = gst_pad_query_default (pad, parent, query);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -375,30 +375,6 @@ beach:
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
gst_stream_splitter_src_event (GstPad * pad, GstObject * parent,
|
|
||||||
GstEvent * event)
|
|
||||||
{
|
|
||||||
GstStreamSplitter *stream_splitter = (GstStreamSplitter *) parent;
|
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (pad, "%s", GST_EVENT_TYPE_NAME (event));
|
|
||||||
|
|
||||||
/* Forward upstream as is */
|
|
||||||
return gst_pad_push_event (stream_splitter->sinkpad, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
gst_stream_splitter_src_query (GstPad * pad, GstObject * parent,
|
|
||||||
GstQuery * query)
|
|
||||||
{
|
|
||||||
GstStreamSplitter *stream_splitter = (GstStreamSplitter *) parent;
|
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (pad, "%s", GST_QUERY_TYPE_NAME (query));
|
|
||||||
|
|
||||||
/* Forward upstream as is */
|
|
||||||
return gst_pad_peer_query (stream_splitter->sinkpad, query);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_stream_splitter_init (GstStreamSplitter * stream_splitter)
|
gst_stream_splitter_init (GstStreamSplitter * stream_splitter)
|
||||||
{
|
{
|
||||||
@ -423,8 +399,6 @@ gst_stream_splitter_request_new_pad (GstElement * element,
|
|||||||
GstPad *srcpad;
|
GstPad *srcpad;
|
||||||
|
|
||||||
srcpad = gst_pad_new_from_static_template (&src_template, name);
|
srcpad = gst_pad_new_from_static_template (&src_template, name);
|
||||||
gst_pad_set_event_function (srcpad, gst_stream_splitter_src_event);
|
|
||||||
gst_pad_set_query_function (srcpad, gst_stream_splitter_src_query);
|
|
||||||
|
|
||||||
STREAMS_LOCK (stream_splitter);
|
STREAMS_LOCK (stream_splitter);
|
||||||
stream_splitter->srcpads = g_list_append (stream_splitter->srcpads, srcpad);
|
stream_splitter->srcpads = g_list_append (stream_splitter->srcpads, srcpad);
|
||||||
|
@ -136,25 +136,6 @@ gst_stream_synchronizer_iterate_internal_links (GstPad * pad,
|
|||||||
return it;
|
return it;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
gst_stream_synchronizer_query (GstPad * pad, GstObject * parent,
|
|
||||||
GstQuery * query)
|
|
||||||
{
|
|
||||||
GstPad *opad;
|
|
||||||
gboolean ret = FALSE;
|
|
||||||
|
|
||||||
GST_LOG_OBJECT (pad, "Handling query %s", GST_QUERY_TYPE_NAME (query));
|
|
||||||
|
|
||||||
opad =
|
|
||||||
gst_stream_get_other_pad_from_pad (GST_STREAM_SYNCHRONIZER (parent), pad);
|
|
||||||
if (opad) {
|
|
||||||
ret = gst_pad_peer_query (opad, query);
|
|
||||||
gst_object_unref (opad);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* srcpad functions */
|
/* srcpad functions */
|
||||||
static gboolean
|
static gboolean
|
||||||
gst_stream_synchronizer_src_event (GstPad * pad, GstObject * parent,
|
gst_stream_synchronizer_src_event (GstPad * pad, GstObject * parent,
|
||||||
@ -699,8 +680,6 @@ gst_stream_synchronizer_request_new_pad (GstElement * element,
|
|||||||
gst_pad_set_element_private (stream->sinkpad, stream);
|
gst_pad_set_element_private (stream->sinkpad, stream);
|
||||||
gst_pad_set_iterate_internal_links_function (stream->sinkpad,
|
gst_pad_set_iterate_internal_links_function (stream->sinkpad,
|
||||||
GST_DEBUG_FUNCPTR (gst_stream_synchronizer_iterate_internal_links));
|
GST_DEBUG_FUNCPTR (gst_stream_synchronizer_iterate_internal_links));
|
||||||
gst_pad_set_query_function (stream->sinkpad,
|
|
||||||
GST_DEBUG_FUNCPTR (gst_stream_synchronizer_query));
|
|
||||||
gst_pad_set_event_function (stream->sinkpad,
|
gst_pad_set_event_function (stream->sinkpad,
|
||||||
GST_DEBUG_FUNCPTR (gst_stream_synchronizer_sink_event));
|
GST_DEBUG_FUNCPTR (gst_stream_synchronizer_sink_event));
|
||||||
gst_pad_set_chain_function (stream->sinkpad,
|
gst_pad_set_chain_function (stream->sinkpad,
|
||||||
@ -712,8 +691,6 @@ gst_stream_synchronizer_request_new_pad (GstElement * element,
|
|||||||
gst_pad_set_element_private (stream->srcpad, stream);
|
gst_pad_set_element_private (stream->srcpad, stream);
|
||||||
gst_pad_set_iterate_internal_links_function (stream->srcpad,
|
gst_pad_set_iterate_internal_links_function (stream->srcpad,
|
||||||
GST_DEBUG_FUNCPTR (gst_stream_synchronizer_iterate_internal_links));
|
GST_DEBUG_FUNCPTR (gst_stream_synchronizer_iterate_internal_links));
|
||||||
gst_pad_set_query_function (stream->srcpad,
|
|
||||||
GST_DEBUG_FUNCPTR (gst_stream_synchronizer_query));
|
|
||||||
gst_pad_set_event_function (stream->srcpad,
|
gst_pad_set_event_function (stream->srcpad,
|
||||||
GST_DEBUG_FUNCPTR (gst_stream_synchronizer_src_event));
|
GST_DEBUG_FUNCPTR (gst_stream_synchronizer_src_event));
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user