From 255e59a645cb9e9295ab7ef0a833486bdcc63ca9 Mon Sep 17 00:00:00 2001
From: Andrew Voznytsa <andrew.voznytsa@gmail.com>
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) {