diff options
author | jitendra <jvarshney20@gmail.com> | 2013-04-16 14:50:49 +0530 |
---|---|---|
committer | Josep Torra <n770galaxy@gmail.com> | 2013-04-18 16:52:02 +0200 |
commit | 4302030ef9582594665f1c757b7c7981e6e22edc (patch) | |
tree | dc8fe8b3a74a474da69fb1c9e092335f50fb96a0 | |
parent | e20da0ce750eeb86c33e7ccdbfafd0b6688df538 (diff) | |
download | gst-omx-4302030ef9582594665f1c757b7c7981e6e22edc.tar.gz |
omx: Disable output port before transition to idle state
https://bugzilla.gnome.org/show_bug.cgi?id=698109
-rw-r--r-- | omx/gstomxaudioenc.c | 14 | ||||
-rw-r--r-- | omx/gstomxvideodec.c | 14 | ||||
-rw-r--r-- | omx/gstomxvideoenc.c | 14 |
3 files changed, 21 insertions, 21 deletions
diff --git a/omx/gstomxaudioenc.c b/omx/gstomxaudioenc.c index a5faa5a..c927048 100644 --- a/omx/gstomxaudioenc.c +++ b/omx/gstomxaudioenc.c @@ -798,19 +798,19 @@ gst_omx_audio_enc_set_format (GstAudioEncoder * encoder, GstAudioInfo * info) if (gst_omx_port_mark_reconfigured (self->enc_in_port) != OMX_ErrorNone) return FALSE; } else { - if (gst_omx_component_set_state (self->enc, OMX_StateIdle) != OMX_ErrorNone) + /* Disable output port */ + if (gst_omx_port_set_enabled (self->enc_out_port, FALSE) != OMX_ErrorNone) return FALSE; - /* Need to allocate buffers to reach Idle state */ - if (gst_omx_port_allocate_buffers (self->enc_in_port) != OMX_ErrorNone) + if (gst_omx_port_wait_enabled (self->enc_out_port, + 1 * GST_SECOND) != OMX_ErrorNone) return FALSE; - /* And disable output port */ - if (gst_omx_port_set_enabled (self->enc_out_port, FALSE) != OMX_ErrorNone) + if (gst_omx_component_set_state (self->enc, OMX_StateIdle) != OMX_ErrorNone) return FALSE; - if (gst_omx_port_wait_enabled (self->enc_out_port, - 1 * GST_SECOND) != OMX_ErrorNone) + /* Need to allocate buffers to reach Idle state */ + if (gst_omx_port_allocate_buffers (self->enc_in_port) != OMX_ErrorNone) return FALSE; if (gst_omx_component_get_state (self->enc, diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c index ff8383b..9ab97ca 100644 --- a/omx/gstomxvideodec.c +++ b/omx/gstomxvideodec.c @@ -1360,19 +1360,19 @@ gst_omx_video_dec_set_format (GstVideoDecoder * decoder, if (!gst_omx_video_dec_negotiate (self)) GST_LOG_OBJECT (self, "Negotiation failed, will get output format later"); - if (gst_omx_component_set_state (self->dec, OMX_StateIdle) != OMX_ErrorNone) + /* Disable output port */ + if (gst_omx_port_set_enabled (self->dec_out_port, FALSE) != OMX_ErrorNone) return FALSE; - /* Need to allocate buffers to reach Idle state */ - if (gst_omx_port_allocate_buffers (self->dec_in_port) != OMX_ErrorNone) + if (gst_omx_port_wait_enabled (self->dec_out_port, + 1 * GST_SECOND) != OMX_ErrorNone) return FALSE; - /* And disable output port */ - if (gst_omx_port_set_enabled (self->dec_out_port, FALSE) != OMX_ErrorNone) + if (gst_omx_component_set_state (self->dec, OMX_StateIdle) != OMX_ErrorNone) return FALSE; - if (gst_omx_port_wait_enabled (self->dec_out_port, - 1 * GST_SECOND) != OMX_ErrorNone) + /* Need to allocate buffers to reach Idle state */ + if (gst_omx_port_allocate_buffers (self->dec_in_port) != OMX_ErrorNone) return FALSE; if (gst_omx_component_get_state (self->dec, diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c index 09ed13d..98fbf42 100644 --- a/omx/gstomxvideoenc.c +++ b/omx/gstomxvideoenc.c @@ -1256,19 +1256,19 @@ gst_omx_video_enc_set_format (GstVideoEncoder * encoder, if (gst_omx_port_mark_reconfigured (self->enc_in_port) != OMX_ErrorNone) return FALSE; } else { - if (gst_omx_component_set_state (self->enc, OMX_StateIdle) != OMX_ErrorNone) + /* Disable output port */ + if (gst_omx_port_set_enabled (self->enc_out_port, FALSE) != OMX_ErrorNone) return FALSE; - /* Need to allocate buffers to reach Idle state */ - if (gst_omx_port_allocate_buffers (self->enc_in_port) != OMX_ErrorNone) + if (gst_omx_port_wait_enabled (self->enc_out_port, + 1 * GST_SECOND) != OMX_ErrorNone) return FALSE; - /* And disable output port */ - if (gst_omx_port_set_enabled (self->enc_out_port, FALSE) != OMX_ErrorNone) + if (gst_omx_component_set_state (self->enc, OMX_StateIdle) != OMX_ErrorNone) return FALSE; - if (gst_omx_port_wait_enabled (self->enc_out_port, - 1 * GST_SECOND) != OMX_ErrorNone) + /* Need to allocate buffers to reach Idle state */ + if (gst_omx_port_allocate_buffers (self->enc_in_port) != OMX_ErrorNone) return FALSE; if (gst_omx_component_get_state (self->enc, |