ext/: Don't take the stream lock.

Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* ext/sidplay/gstsiddec.cc (gst_siddec_sink_event):
* ext/mpeg2dec/gstmpeg2dec.c (gst_mpeg2dec_sink_event):
* ext/mad/gstmad.c (gst_mad_sink_event):
* ext/a52dec/gsta52dec.c (gst_a52dec_sink_event): Don't take the
stream lock.

* gst/realmedia/rmdemux.c (gst_rmdemux_perform_seek): Update for
stream lock changes.
This commit is contained in:
Andy Wingo 2005-11-21 17:34:30 +00:00
parent d779ee9077
commit aa5c8d66bd
6 changed files with 11 additions and 20 deletions

View file

@ -1,5 +1,14 @@
2005-11-21 Andy Wingo <wingo@pobox.com> 2005-11-21 Andy Wingo <wingo@pobox.com>
* ext/sidplay/gstsiddec.cc (gst_siddec_sink_event):
* ext/mpeg2dec/gstmpeg2dec.c (gst_mpeg2dec_sink_event):
* ext/mad/gstmad.c (gst_mad_sink_event):
* ext/a52dec/gsta52dec.c (gst_a52dec_sink_event): Don't take the
stream lock.
* gst/realmedia/rmdemux.c (gst_rmdemux_perform_seek): Update for
stream lock changes.
* *.h: * *.h:
* *.c: Ran scripts/update-macros. Oh yes. * *.c: Ran scripts/update-macros. Oh yes.

View file

@ -358,7 +358,6 @@ gst_a52dec_sink_event (GstPad * pad, GstEvent * event)
GstFormat format; GstFormat format;
gint64 val; gint64 val;
GST_STREAM_LOCK (pad);
gst_event_parse_newsegment (event, NULL, NULL, &format, &val, NULL, NULL); gst_event_parse_newsegment (event, NULL, NULL, &format, &val, NULL, NULL);
if (format != GST_FORMAT_TIME || !GST_CLOCK_TIME_IS_VALID (val)) { if (format != GST_FORMAT_TIME || !GST_CLOCK_TIME_IS_VALID (val)) {
GST_WARNING ("No time in newsegment event %p", event); GST_WARNING ("No time in newsegment event %p", event);
@ -371,27 +370,22 @@ gst_a52dec_sink_event (GstPad * pad, GstEvent * event)
a52dec->cache = NULL; a52dec->cache = NULL;
} }
ret = gst_pad_event_default (pad, event); ret = gst_pad_event_default (pad, event);
GST_STREAM_UNLOCK (pad);
break; break;
} }
case GST_EVENT_TAG: case GST_EVENT_TAG:
case GST_EVENT_EOS:{ case GST_EVENT_EOS:{
GST_STREAM_LOCK (pad);
ret = gst_pad_event_default (pad, event); ret = gst_pad_event_default (pad, event);
GST_STREAM_UNLOCK (pad);
break; break;
} }
case GST_EVENT_FLUSH_START: case GST_EVENT_FLUSH_START:
ret = gst_pad_event_default (pad, event); ret = gst_pad_event_default (pad, event);
break; break;
case GST_EVENT_FLUSH_STOP: case GST_EVENT_FLUSH_STOP:
GST_STREAM_LOCK (pad);
if (a52dec->cache) { if (a52dec->cache) {
gst_buffer_unref (a52dec->cache); gst_buffer_unref (a52dec->cache);
a52dec->cache = NULL; a52dec->cache = NULL;
} }
ret = gst_pad_event_default (pad, event); ret = gst_pad_event_default (pad, event);
GST_STREAM_UNLOCK (pad);
break; break;
default: default:
ret = gst_pad_event_default (pad, event); ret = gst_pad_event_default (pad, event);

View file

@ -981,18 +981,14 @@ gst_mad_sink_event (GstPad * pad, GstEvent * event)
switch (GST_EVENT_TYPE (event)) { switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_NEWSEGMENT: case GST_EVENT_NEWSEGMENT:
/* this isn't really correct? */ /* this isn't really correct? */
GST_STREAM_LOCK (pad);
result = gst_pad_push_event (mad->srcpad, event); result = gst_pad_push_event (mad->srcpad, event);
mad->tempsize = 0; mad->tempsize = 0;
/* we don't need to restart when we get here */ /* we don't need to restart when we get here */
mad->restart = FALSE; mad->restart = FALSE;
GST_STREAM_UNLOCK (pad);
break; break;
case GST_EVENT_EOS: case GST_EVENT_EOS:
GST_STREAM_LOCK (pad);
mad->caps_set = FALSE; /* could be a new stream */ mad->caps_set = FALSE; /* could be a new stream */
result = gst_pad_push_event (mad->srcpad, event); result = gst_pad_push_event (mad->srcpad, event);
GST_STREAM_UNLOCK (pad);
break; break;
default: default:
result = gst_pad_push_event (mad->srcpad, event); result = gst_pad_push_event (mad->srcpad, event);

View file

@ -892,30 +892,24 @@ gst_mpeg2dec_sink_event (GstPad * pad, GstEvent * event)
switch (GST_EVENT_TYPE (event)) { switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_NEWSEGMENT: case GST_EVENT_NEWSEGMENT:
{ {
GST_STREAM_LOCK (pad);
mpeg2dec->next_time = -1;; mpeg2dec->next_time = -1;;
ret = gst_pad_event_default (pad, event); ret = gst_pad_event_default (pad, event);
GST_STREAM_UNLOCK (pad);
break; break;
} }
case GST_EVENT_FLUSH_START: case GST_EVENT_FLUSH_START:
ret = gst_pad_event_default (pad, event); ret = gst_pad_event_default (pad, event);
break; break;
case GST_EVENT_FLUSH_STOP: case GST_EVENT_FLUSH_STOP:
GST_STREAM_LOCK (pad);
mpeg2dec->discont_state = MPEG2DEC_DISC_NEW_PICTURE; mpeg2dec->discont_state = MPEG2DEC_DISC_NEW_PICTURE;
mpeg2dec->next_time = -1;; mpeg2dec->next_time = -1;;
mpeg2_reset (mpeg2dec->decoder, 0); mpeg2_reset (mpeg2dec->decoder, 0);
ret = gst_pad_event_default (pad, event); ret = gst_pad_event_default (pad, event);
GST_STREAM_UNLOCK (pad);
break; break;
case GST_EVENT_EOS: case GST_EVENT_EOS:
GST_STREAM_LOCK (pad);
if (mpeg2dec->index && mpeg2dec->closed) { if (mpeg2dec->index && mpeg2dec->closed) {
gst_index_commit (mpeg2dec->index, mpeg2dec->index_id); gst_index_commit (mpeg2dec->index, mpeg2dec->index_id);
} }
ret = gst_pad_event_default (pad, event); ret = gst_pad_event_default (pad, event);
GST_STREAM_UNLOCK (pad);
break; break;
default: default:

View file

@ -474,9 +474,7 @@ gst_siddec_sink_event (GstPad * pad, GstEvent * event)
switch (GST_EVENT_TYPE (event)) { switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_EOS: case GST_EVENT_EOS:
GST_STREAM_LOCK (pad);
res = start_play_tune (siddec); res = start_play_tune (siddec);
GST_STREAM_UNLOCK (pad);
break; break;
case GST_EVENT_NEWSEGMENT: case GST_EVENT_NEWSEGMENT:
res = FALSE; res = FALSE;

View file

@ -534,7 +534,7 @@ gst_rmdemux_perform_seek (GstRMDemux * rmdemux, gboolean flush)
/* now grab the stream lock so that streaming cannot continue, for /* now grab the stream lock so that streaming cannot continue, for
* non flushing seeks when the element is in PAUSED this could block * non flushing seeks when the element is in PAUSED this could block
* forever. */ * forever. */
GST_STREAM_LOCK (rmdemux->sinkpad); GST_PAD_STREAM_LOCK (rmdemux->sinkpad);
GST_LOG_OBJECT (rmdemux, "Took streamlock"); GST_LOG_OBJECT (rmdemux, "Took streamlock");
@ -609,7 +609,7 @@ gst_rmdemux_perform_seek (GstRMDemux * rmdemux, gboolean flush)
done: done:
/* streaming can continue now */ /* streaming can continue now */
GST_STREAM_UNLOCK (rmdemux->sinkpad); GST_PAD_STREAM_UNLOCK (rmdemux->sinkpad);
return ret; return ret;
} }