GST_DEBUG_OBJECT (self, "Handling frame");
- /* Make sure to keep a reference to the input here,
- * it can be unreffed from the other thread if
- * finish_frame() is called */
- if (inbuf)
- gst_buffer_ref (inbuf);
-
if (self->downstream_flow_ret != GST_FLOW_OK) {
- if (inbuf)
- gst_buffer_unref (inbuf);
return self->downstream_flow_ret;
}
if (inbuf == NULL)
return gst_omx_audio_dec_drain (self);
+ /* Make sure to keep a reference to the input here,
+ * it can be unreffed from the other thread if
+ * finish_frame() is called */
+ gst_buffer_ref (inbuf);
+
timestamp = GST_BUFFER_TIMESTAMP (inbuf);
duration = GST_BUFFER_DURATION (inbuf);
goto release_error;
}
gst_buffer_unmap (inbuf, &minfo);
+ gst_buffer_unref (inbuf);
GST_DEBUG_OBJECT (self, "Passed frame to component");
- if (inbuf)
- gst_buffer_unref (inbuf);
return self->downstream_flow_ret;
full_buffer:
{
gst_buffer_unmap (inbuf, &minfo);
- if (inbuf)
- gst_buffer_unref (inbuf);
+ gst_buffer_unref (inbuf);
GST_ELEMENT_ERROR (self, LIBRARY, FAILED, (NULL),
("Got OpenMAX buffer with no free space (%p, %u/%u)", buf,
flow_error:
{
gst_buffer_unmap (inbuf, &minfo);
- if (inbuf)
- gst_buffer_unref (inbuf);
+ gst_buffer_unref (inbuf);
return self->downstream_flow_ret;
}
too_large_codec_data:
{
gst_buffer_unmap (inbuf, &minfo);
- if (inbuf)
- gst_buffer_unref (inbuf);
+ gst_buffer_unref (inbuf);
GST_ELEMENT_ERROR (self, STREAM, FORMAT, (NULL),
("codec_data larger than supported by OpenMAX port "
component_error:
{
gst_buffer_unmap (inbuf, &minfo);
- if (inbuf)
- gst_buffer_unref (inbuf);
+ gst_buffer_unref (inbuf);
GST_ELEMENT_ERROR (self, LIBRARY, FAILED, (NULL),
("OpenMAX component in error state %s (0x%08x)",
flushing:
{
gst_buffer_unmap (inbuf, &minfo);
- if (inbuf)
- gst_buffer_unref (inbuf);
+ gst_buffer_unref (inbuf);
GST_DEBUG_OBJECT (self, "Flushing -- returning FLUSHING");
return GST_FLOW_FLUSHING;
reconfigure_error:
{
gst_buffer_unmap (inbuf, &minfo);
- if (inbuf)
- gst_buffer_unref (inbuf);
+ gst_buffer_unref (inbuf);
GST_ELEMENT_ERROR (self, LIBRARY, SETTINGS, (NULL),
("Unable to reconfigure input port"));
release_error:
{
gst_buffer_unmap (inbuf, &minfo);
- if (inbuf)
- gst_buffer_unref (inbuf);
+ gst_buffer_unref (inbuf);
GST_ELEMENT_ERROR (self, LIBRARY, SETTINGS, (NULL),
("Failed to relase input buffer to component: %s (0x%08x)",