From f3f9330332050f6e18b8fbeabf3791604b862ab0 Mon Sep 17 00:00:00 2001 From: Josep Torra Date: Mon, 20 May 2013 12:06:34 +0200 Subject: omx: Take lock on EOS to update the flow return value Fixes "GThread-ERROR **: file gthread-posix.c: line 171 (g_mutex_free_posix_impl): error 'Device or resource busy' during 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize. --- omx/gstomxaudioenc.c | 2 ++ omx/gstomxvideodec.c | 2 ++ omx/gstomxvideoenc.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/omx/gstomxaudioenc.c b/omx/gstomxaudioenc.c index 2a8a090..538902c 100644 --- a/omx/gstomxaudioenc.c +++ b/omx/gstomxaudioenc.c @@ -514,6 +514,8 @@ eos: flow_ret = GST_FLOW_EOS; } g_mutex_unlock (&self->drain_lock); + + GST_AUDIO_ENCODER_STREAM_LOCK (self); self->downstream_flow_ret = flow_ret; /* Here we fallback and pause the task for the EOS case */ diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c index 5378f60..74a71d4 100644 --- a/omx/gstomxvideodec.c +++ b/omx/gstomxvideodec.c @@ -2156,6 +2156,8 @@ eos: flow_ret = GST_FLOW_EOS; } g_mutex_unlock (&self->drain_lock); + + GST_VIDEO_DECODER_STREAM_LOCK (self); self->downstream_flow_ret = flow_ret; /* Here we fallback and pause the task for the EOS case */ diff --git a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c index 4506992..a399c07 100644 --- a/omx/gstomxvideoenc.c +++ b/omx/gstomxvideoenc.c @@ -908,6 +908,8 @@ eos: flow_ret = GST_FLOW_EOS; } g_mutex_unlock (&self->drain_lock); + + GST_VIDEO_ENCODER_STREAM_LOCK (self); self->downstream_flow_ret = flow_ret; /* Here we fallback and pause the task for the EOS case */ -- cgit v1.2.3