diff options
author | Edward Hervey <edward@centricular.com> | 2016-10-08 14:54:42 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-10-25 15:58:38 +0300 |
commit | 8152f3a3208d657d94e695161fb1580dbc581efb (patch) | |
tree | 62046363970a3c0e80a961022749f28fbcccf13a | |
parent | 379d1fee380d191d5aaab0f621b9fa21468cf6e1 (diff) |
queue2: Implement gst_event_full_func handling
Same as we do for queue
-rw-r--r-- | plugins/elements/gstqueue2.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/plugins/elements/gstqueue2.c b/plugins/elements/gstqueue2.c index 8e5a5dc6c8..c24e4a43a3 100644 --- a/plugins/elements/gstqueue2.c +++ b/plugins/elements/gstqueue2.c @@ -248,8 +248,8 @@ static GstFlowReturn gst_queue2_chain_list (GstPad * pad, GstObject * parent, static GstFlowReturn gst_queue2_push_one (GstQueue2 * queue); static void gst_queue2_loop (GstPad * pad); -static gboolean gst_queue2_handle_sink_event (GstPad * pad, GstObject * parent, - GstEvent * event); +static GstFlowReturn gst_queue2_handle_sink_event (GstPad * pad, + GstObject * parent, GstEvent * event); static gboolean gst_queue2_handle_sink_query (GstPad * pad, GstObject * parent, GstQuery * query); @@ -435,7 +435,7 @@ gst_queue2_init (GstQueue2 * queue) GST_DEBUG_FUNCPTR (gst_queue2_chain_list)); gst_pad_set_activatemode_function (queue->sinkpad, GST_DEBUG_FUNCPTR (gst_queue2_sink_activate_mode)); - gst_pad_set_event_function (queue->sinkpad, + gst_pad_set_event_full_function (queue->sinkpad, GST_DEBUG_FUNCPTR (gst_queue2_handle_sink_event)); gst_pad_set_query_function (queue->sinkpad, GST_DEBUG_FUNCPTR (gst_queue2_handle_sink_query)); @@ -2398,7 +2398,7 @@ no_item: } } -static gboolean +static GstFlowReturn gst_queue2_handle_sink_event (GstPad * pad, GstObject * parent, GstEvent * event) { @@ -2532,7 +2532,9 @@ gst_queue2_handle_sink_event (GstPad * pad, GstObject * parent, } break; } - return ret; + if (ret == FALSE) + return GST_FLOW_ERROR; + return GST_FLOW_OK; /* ERRORS */ out_flushing: @@ -2540,14 +2542,14 @@ out_flushing: GST_DEBUG_OBJECT (queue, "refusing event, we are flushing"); GST_QUEUE2_MUTEX_UNLOCK (queue); gst_event_unref (event); - return FALSE; + return GST_FLOW_FLUSHING; } out_eos: { GST_DEBUG_OBJECT (queue, "refusing event, we are EOS"); GST_QUEUE2_MUTEX_UNLOCK (queue); gst_event_unref (event); - return FALSE; + return GST_FLOW_EOS; } out_flow_error: { @@ -2556,7 +2558,7 @@ out_flow_error: gst_flow_get_name (queue->srcresult)); GST_QUEUE2_MUTEX_UNLOCK (queue); gst_event_unref (event); - return FALSE; + return queue->srcresult; } } |