plugins/elements/gstqueue.c: The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a buffer returned a fa...

Original commit message from CVS:
* plugins/elements/gstqueue.c: (gst_queue_push_one):
The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
buffer returned a fatal error. It should just send an EOS and stop
it's task.
Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
when pushing buffers on the queue and will be able to handle the event.
This commit is contained in:
Edward Hervey 2006-05-16 17:15:02 +00:00
parent aeca9dda7b
commit d46dead4d3
2 changed files with 11 additions and 5 deletions

View file

@ -1,3 +1,12 @@
2006-05-16 Edward Hervey <edward@fluendo.com>
* plugins/elements/gstqueue.c: (gst_queue_push_one):
The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
buffer returned a fatal error. It should just send an EOS and stop
it's task.
Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
when pushing buffers on the queue and will be able to handle the event.
2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
* docs/manual/basics-bins.xml:

View file

@ -777,12 +777,9 @@ gst_queue_push_one (GstQueue * queue)
flowname = gst_flow_get_name (result);
queue->srcresult = result;
if (GST_FLOW_IS_FATAL (result)) {
GST_ELEMENT_ERROR (queue, STREAM, FAILED,
(_("Internal data flow error.")),
("streaming stopped, reason %s", flowname));
if (GST_FLOW_IS_FATAL (result))
gst_pad_push_event (queue->srcpad, gst_event_new_eos ());
}
GST_DEBUG_OBJECT (queue, "pausing queue, reason %s", flowname);
gst_pad_pause_task (queue->srcpad);
}