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,
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 () &&