ext/ffmpeg/gstffmpegmux.c: We need to stop the collectpads in PAUSED->READY BEFORE chaining up to the parent class ch...

Original commit message from CVS:
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_change_state):
We need to stop the collectpads in PAUSED->READY BEFORE chaining up to
the parent class change_state. Else we end up in a locking behaviour
with the sink pads stream locks.
This commit is contained in:
Edward Hervey 2006-10-05 11:15:12 +00:00
parent 180c69d27d
commit 8e52c43291
2 changed files with 10 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2006-10-05 Edward Hervey <edward@fluendo.com>
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_change_state):
We need to stop the collectpads in PAUSED->READY BEFORE chaining up to
the parent class change_state. Else we end up in a locking behaviour
with the sink pads stream locks.
2006-10-04 Wim Taymans <wim@fluendo.com> 2006-10-04 Wim Taymans <wim@fluendo.com>
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_averror), * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_averror),

View file

@ -553,6 +553,9 @@ gst_ffmpegmux_change_state (GstElement * element, GstStateChange transition)
break; break;
case GST_STATE_CHANGE_PAUSED_TO_PLAYING: case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
break; break;
case GST_STATE_CHANGE_PAUSED_TO_READY:
gst_collect_pads_stop (ffmpegmux->collect);
break;
default: default:
break; break;
} }
@ -563,7 +566,6 @@ gst_ffmpegmux_change_state (GstElement * element, GstStateChange transition)
case GST_STATE_CHANGE_PLAYING_TO_PAUSED: case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
break; break;
case GST_STATE_CHANGE_PAUSED_TO_READY: case GST_STATE_CHANGE_PAUSED_TO_READY:
gst_collect_pads_stop (ffmpegmux->collect);
if (ffmpegmux->tags) { if (ffmpegmux->tags) {
gst_tag_list_free (ffmpegmux->tags); gst_tag_list_free (ffmpegmux->tags);
ffmpegmux->tags = NULL; ffmpegmux->tags = NULL;