diff --git a/ChangeLog b/ChangeLog index 3ebbd0b10c..ac4ed58c6d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-01-25 Wim Taymans + + * gst-libs/gst/audio/gstbaseaudiosink.c: + (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): + Undo previous commit that returned WRONG_STATE sooner, it breaks + resume after pause. + 2006-01-25 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: diff --git a/gst-libs/gst/audio/gstbaseaudiosink.c b/gst-libs/gst/audio/gstbaseaudiosink.c index cc3e00b6a7..41a870239b 100644 --- a/gst-libs/gst/audio/gstbaseaudiosink.c +++ b/gst-libs/gst/audio/gstbaseaudiosink.c @@ -536,8 +536,6 @@ no_sync: sink->next_sample = render_offset + samples; samples = gst_ring_buffer_commit (ringbuf, render_offset, data, samples); - if (samples == -1) - goto stopping; if (GST_CLOCK_TIME_IS_VALID (stop) && stop >= bsink->segment.stop) { GST_DEBUG_OBJECT (sink, @@ -570,11 +568,6 @@ wrong_size: ("sink received buffer of wrong size.")); return GST_FLOW_ERROR; } -stopping: - { - GST_DEBUG_OBJECT (sink, "ringbuffer is stopping"); - return GST_FLOW_WRONG_STATE; - } } GstRingBuffer * @@ -625,6 +618,7 @@ gst_base_audio_sink_change_state (GstElement * element, { GstClock *clock; + /* FIXME, only start slaving when we really start the ringbuffer */ GST_OBJECT_LOCK (sink); clock = GST_ELEMENT_CLOCK (sink); /* if we are slaved to a clock, we need to set the initial