mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
v4l2videodec: Fix handle_frame error handling
This commit is contained in:
parent
e70173e28a
commit
03ed348d95
1 changed files with 13 additions and 1 deletions
|
@ -530,6 +530,9 @@ gst_v4l2_video_dec_handle_frame (GstVideoDecoder * decoder,
|
|||
if (ret == GST_FLOW_FLUSHING) {
|
||||
if (g_atomic_int_get (&self->processing) == FALSE)
|
||||
ret = self->output_flow;
|
||||
goto drop;
|
||||
} else if (ret != GST_FLOW_OK) {
|
||||
goto process_failed;
|
||||
}
|
||||
|
||||
/* No need to keep input arround */
|
||||
|
@ -551,13 +554,22 @@ activate_failed:
|
|||
GST_ELEMENT_ERROR (self, RESOURCE, SETTINGS,
|
||||
(_("Failed to allocate required memory.")),
|
||||
("Buffer pool activation failed"));
|
||||
return GST_FLOW_ERROR;
|
||||
ret = GST_FLOW_ERROR;
|
||||
goto drop;
|
||||
}
|
||||
flushing:
|
||||
{
|
||||
ret = GST_FLOW_FLUSHING;
|
||||
goto drop;
|
||||
}
|
||||
process_failed:
|
||||
{
|
||||
GST_ELEMENT_ERROR (self, RESOURCE, FAILED,
|
||||
(_("Failed to process frame.")),
|
||||
("Maybe be due to not enough memory or failing driver"));
|
||||
ret = GST_FLOW_ERROR;
|
||||
goto drop;
|
||||
}
|
||||
drop:
|
||||
{
|
||||
gst_video_decoder_drop_frame (decoder, frame);
|
||||
|
|
Loading…
Reference in a new issue