From ed162dbc2197a51f5cfd867351c8dd7a86511a31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Canek=20Pel=C3=A1ez=20Vald=C3=A9s?= Date: Wed, 13 Feb 2019 11:38:31 -0600 Subject: [PATCH] Change states in the appropiate order. --- src/application/encoder.vala | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/application/encoder.vala b/src/application/encoder.vala index 62d3c60..f89d948 100644 --- a/src/application/encoder.vala +++ b/src/application/encoder.vala @@ -57,14 +57,20 @@ namespace MLM { protected override void message_received(Gst.Message message) { switch (message.type) { case Gst.MessageType.EOS: - pipe.set_state(Gst.State.NULL); + pipe.set_state(Gst.State.PAUSED); break; case Gst.MessageType.STATE_CHANGED: var state = Gst.State.NULL; var pending = Gst.State.NULL; pipe.get_state(out state, out pending, 100); - if (state != Gst.State.PLAYING) + if (state == Gst.State.PAUSED && + pending == Gst.State.VOID_PENDING) { + pipe.set_state(Gst.State.READY); + } else if (state == Gst.State.READY && + pending == Gst.State.VOID_PENDING) { + pipe.set_state(Gst.State.NULL); working = false; + } break; } } -- GitLab