From 255e59a645cb9e9295ab7ef0a833486bdcc63ca9 Mon Sep 17 00:00:00 2001 From: Andrew Voznytsa Date: Sat, 25 Jan 2020 22:01:14 +0200 Subject: [PATCH] Fix double EOS handling --- src/VideoStreaming/VideoReceiver.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/VideoStreaming/VideoReceiver.cc b/src/VideoStreaming/VideoReceiver.cc index d50fb1a..dab13c9 100644 --- a/src/VideoStreaming/VideoReceiver.cc +++ b/src/VideoStreaming/VideoReceiver.cc @@ -513,9 +513,10 @@ VideoReceiver::stop() _shutdownPipeline(); } else if (_pipeline != nullptr && !_stopping) { qCDebug(VideoReceiverLog) << "Stopping _pipeline"; + GstBus* bus = gst_pipeline_get_bus(GST_PIPELINE(_pipeline)); + gst_bus_disable_sync_message_emission(bus); gst_element_send_event(_pipeline, gst_event_new_eos()); _stopping = true; - GstBus* bus = gst_pipeline_get_bus(GST_PIPELINE(_pipeline)); GstMessage* message = gst_bus_timed_pop_filtered(bus, GST_CLOCK_TIME_NONE, (GstMessageType)(GST_MESSAGE_EOS|GST_MESSAGE_ERROR)); gst_object_unref(bus); if(GST_MESSAGE_TYPE(message) == GST_MESSAGE_ERROR) {