From: Tim-Philipp Müller Date: Mon, 21 Nov 2005 18:26:23 +0000 (+0000) Subject: ext/ffmpeg/gstffmpegdec.c: Remove GST_STREAM_LOCK here, it is not needed any longer. X-Git-Tag: RELEASE-0_9_6~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=888d95d8bda7222800f4a2b20dc5a10d8db46647;p=platform%2Fupstream%2Fgst-libav.git ext/ffmpeg/gstffmpegdec.c: Remove GST_STREAM_LOCK here, it is not needed any longer. Original commit message from CVS: * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event): Remove GST_STREAM_LOCK here, it is not needed any longer. --- diff --git a/ChangeLog b/ChangeLog index e34a3b1..02ae605 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-11-21 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event): + Remove GST_STREAM_LOCK here, it is not needed any longer. + 2005-11-16 Luca Ognibene * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_get_buffer): diff --git a/ext/ffmpeg/gstffmpegdec.c b/ext/ffmpeg/gstffmpegdec.c index 429f707..a71610d 100644 --- a/ext/ffmpeg/gstffmpegdec.c +++ b/ext/ffmpeg/gstffmpegdec.c @@ -605,7 +605,7 @@ gst_ffmpegdec_release_buffer (AVCodecContext * context, AVFrame * picture) gint i; GstBuffer *buf; GstFFMpegDec *ffmpegdec = (GstFFMpegDec *) context->opaque; - + g_return_if_fail (buf != NULL); g_return_if_fail (picture->type == FF_BUFFER_TYPE_USER); @@ -614,7 +614,7 @@ gst_ffmpegdec_release_buffer (AVCodecContext * context, AVFrame * picture) if (buf == ffmpegdec->last_buffer) ffmpegdec->last_buffer = NULL; gst_buffer_unref (buf); - + picture->opaque = NULL; /* zero out the reference in ffmpeg */ @@ -772,12 +772,12 @@ gst_ffmpegdec_frame (GstFFMpegDec * ffmpegdec, "Dropping frame for synctime %" GST_TIME_FORMAT ", expected(next_ts) %" GST_TIME_FORMAT, GST_TIME_ARGS (ffmpegdec->synctime), - GST_TIME_ARGS (ffmpegdec->next_ts)); + GST_TIME_ARGS (ffmpegdec->next_ts)); - if (ffmpegdec->picture->opaque != NULL) { - outbuf = (GstBuffer *) ffmpegdec->picture->opaque; - gst_buffer_unref (outbuf); - } + if (ffmpegdec->picture->opaque != NULL) { + outbuf = (GstBuffer *) ffmpegdec->picture->opaque; + gst_buffer_unref (outbuf); + } have_data = 0; /* don´t break here! Timestamps are updated below */ @@ -958,7 +958,6 @@ gst_ffmpegdec_sink_event (GstPad * pad, GstEvent * event) GstFFMpegDec *ffmpegdec = (GstFFMpegDec *) GST_OBJECT_PARENT (pad); GstFFMpegDecClass *oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); - gboolean unlock = FALSE; gboolean ret; GST_DEBUG_OBJECT (ffmpegdec, "Handling %s event", @@ -966,9 +965,6 @@ gst_ffmpegdec_sink_event (GstPad * pad, GstEvent * event) switch (GST_EVENT_TYPE (event)) { case GST_EVENT_EOS:{ - GST_STREAM_LOCK (pad); - unlock = TRUE; - if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) { gint have_data, len, try = 0; @@ -983,15 +979,7 @@ gst_ffmpegdec_sink_event (GstPad * pad, GstEvent * event) } break; } - case GST_EVENT_TAG:{ - GST_STREAM_LOCK (pad); - unlock = TRUE; - break; - } case GST_EVENT_FLUSH_STOP:{ - GST_STREAM_LOCK (pad); - unlock = TRUE; - if (ffmpegdec->opened) { avcodec_flush_buffers (ffmpegdec->context); } @@ -1002,9 +990,6 @@ gst_ffmpegdec_sink_event (GstPad * pad, GstEvent * event) gdouble rate; GstFormat fmt; - GST_STREAM_LOCK (pad); - unlock = TRUE; - gst_event_parse_newsegment (event, NULL, &rate, &fmt, &start, &end, &base); if (fmt == GST_FORMAT_TIME) { @@ -1049,9 +1034,6 @@ gst_ffmpegdec_sink_event (GstPad * pad, GstEvent * event) ret = gst_pad_event_default (ffmpegdec->sinkpad, event); - if (unlock) - GST_STREAM_UNLOCK (pad); - return ret; }