private HTTPSeek time_range;
+ private uint idle_id;
private SourceFunc run_continue;
public LiveResponse (Soup.Server server,
public override void end (bool aborted, uint status) {
this.pipeline.set_state (State.NULL);
+ if (this.idle_id != 0) {
+ Source.remove (this.idle_id);
+ this.idle_id = 0;
+ }
+
if (!aborted) {
this.msg.response_body.complete ();
}
private void on_new_buffer (Element sink,
Buffer buffer,
Pad pad) {
- this.push_data (buffer.data, buffer.size);
+ this.idle_id = Idle.add_full (Priority.HIGH_IDLE,
+ () => {
+ this.push_data (buffer.data, buffer.size);
+
+ this.idle_id = 0;
+
+ return false;
+ });
}
private bool bus_handler (Gst.Bus bus,