err = gst_omx_port_set_enabled (self->in_port, FALSE);
if (err != OMX_ErrorNone) {
- GST_ERROR_OBJECT (self, "Failed to enable port: %s (0x%08x)",
+ GST_ERROR_OBJECT (self, "Failed to disable port: %s (0x%08x)",
gst_omx_error_to_string (err), err);
return FALSE;
}
err = gst_omx_port_set_enabled (self->out_port, FALSE);
if (err != OMX_ErrorNone) {
- GST_ERROR_OBJECT (self, "Failed to enable port: %s (0x%08x)",
+ GST_ERROR_OBJECT (self, "Failed to disable port: %s (0x%08x)",
gst_omx_error_to_string (err), err);
return FALSE;
}
self->in_port = NULL;
self->out_port = NULL;
if (self->comp)
- gst_omx_component_free (self->comp);
+ gst_omx_component_unref (self->comp);
self->comp = NULL;
GST_DEBUG_OBJECT (self, "Closed audio sink");
goto activation;
}
+ err = gst_omx_port_set_flushing (self->in_port, 5 * GST_SECOND, FALSE);
+ if (err != OMX_ErrorNone) {
+ GST_ERROR_OBJECT (self, "Failed to set port not flushing: %s (0x%08x)",
+ gst_omx_error_to_string (err), err);
+ goto activation;
+ }
+
err = gst_omx_port_set_enabled (self->in_port, TRUE);
if (err != OMX_ErrorNone) {
GST_ERROR_OBJECT (self, "Failed to enable port: %s (0x%08x)",
goto failed;
}
- err = gst_omx_port_set_flushing (self->in_port, 5 * GST_SECOND, FALSE);
- if (err != OMX_ErrorNone) {
- GST_ERROR_OBJECT (self, "Failed to set port not flushing: %s (0x%08x)",
- gst_omx_error_to_string (err), err);
- goto failed;
- }
-
gst_omx_component_get_state (self->comp, GST_CLOCK_TIME_NONE);
return TRUE;
GstOMXBuffer *buf = NULL;
while (!buf) {
- acq_ret = gst_omx_port_acquire_buffer (port, &buf);
+ acq_ret = gst_omx_port_acquire_buffer (port, &buf, GST_OMX_WAIT);
if (acq_ret == GST_OMX_ACQUIRE_BUFFER_ERROR) {
goto component_error;
} else if (acq_ret == GST_OMX_ACQUIRE_BUFFER_FLUSHING) {
static guint
gst_omx_audio_sink_delay (GstAudioSink * audiosink)
{
+#if defined (USE_OMX_TARGET_RPI)
GstOMXAudioSink *self = GST_OMX_AUDIO_SINK (audiosink);
OMX_PARAM_U32TYPE param;
OMX_ERRORTYPE err;
GST_DEBUG_OBJECT (self, "reported delay %u samples", (guint) param.nU32);
return param.nU32;
+#else
+ return 0;
+#endif
}
static void