From: Zeeshan Ali (Khattak) Date: Fri, 8 Apr 2011 21:54:19 +0000 (+0300) Subject: core: Don't preroll X-Git-Tag: RYGEL_0_10_0~44 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8df9cd88bca0998623737cbc4b17bbfdffec6cce;p=profile%2Fivi%2Frygel.git core: Don't preroll The reason whole streaming was broken was that we were sending prerolled buffers to the client. When doing the flushing seek, we don't want prerolled buffers. Many thanks to Michael Smith for pointing this out. --- diff --git a/src/rygel/rygel-http-gst-sink.vala b/src/rygel/rygel-http-gst-sink.vala index d992938..f70fc98 100644 --- a/src/rygel/rygel-http-gst-sink.vala +++ b/src/rygel/rygel-http-gst-sink.vala @@ -42,8 +42,6 @@ internal class Rygel.HTTPGstSink : BaseSink { private Mutex buffer_mutex; private Cond buffer_condition; - private bool render_preroll; - static construct { var caps = new Caps.any (); var template = new PadTemplate (PAD_NAME, @@ -71,31 +69,12 @@ internal class Rygel.HTTPGstSink : BaseSink { if (response.seek is HTTPByteSeek) { this.max_bytes = response.seek.length; } - - this.render_preroll = false; - } else { - this.render_preroll = true; } this.cancellable.cancelled.connect (this.on_cancelled); response.msg.wrote_chunk.connect (this.on_wrote_chunk); } - public override FlowReturn preroll (Buffer buffer) { - if (this.render_preroll) { - return render (buffer); - } else { - // If we are seeking, we must not send out first prerolled buffers - // since seek event is sent to pipeline after it is in PAUSED state - // already and preroll has already happened. i-e we will be always - // sending out the beginning of the media if we execute the first - // preroll. - this.render_preroll = true; - - return FlowReturn.OK; - } - } - public override FlowReturn render (Buffer buffer) { this.buffer_mutex.lock (); while (!this.cancellable.is_cancelled () &&