diff options
Diffstat (limited to 'omx/gstomxvideoenc.c')
-rw-r--r-- | omx/gstomxvideoenc.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c index dfc6244..2079bba 100644 --- a/omx/gstomxvideoenc.c +++ b/omx/gstomxvideoenc.c @@ -2582,7 +2582,7 @@ gst_omx_video_enc_handle_frame (GstVideoEncoder * encoder, if (!self->started) { if (gst_omx_port_is_flushing (self->enc_out_port)) { if (!gst_omx_video_enc_enable (self, frame->input_buffer)) - return FALSE; + goto enable_error; } GST_DEBUG_OBJECT (self, "Starting task"); @@ -2758,6 +2758,21 @@ flow_error: return self->downstream_flow_ret; } +enable_error: + { + /* Report the OMX error, if any */ + if (gst_omx_component_get_last_error (self->enc) != OMX_ErrorNone) + GST_ELEMENT_ERROR (self, LIBRARY, FAILED, (NULL), + ("Failed to enable OMX encoder: %s (0x%08x)", + gst_omx_component_get_last_error_string (self->enc), + gst_omx_component_get_last_error (self->enc))); + else + GST_ELEMENT_ERROR (self, LIBRARY, FAILED, (NULL), + ("Failed to enable OMX encoder")); + gst_video_codec_frame_unref (frame); + return GST_FLOW_ERROR; + } + component_error: { GST_ELEMENT_ERROR (self, LIBRARY, FAILED, (NULL), |