From ab0863556ee978c43598d23cfab16aa5a144e465 Mon Sep 17 00:00:00 2001 From: Jacob Walser Date: Wed, 4 Jan 2017 00:51:33 -0500 Subject: [PATCH] Change VideoReceiver destructor to close video file correctly --- src/VideoStreaming/VideoReceiver.cc | 19 +++++++------------ src/VideoStreaming/VideoReceiver.h | 1 - 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/VideoStreaming/VideoReceiver.cc b/src/VideoStreaming/VideoReceiver.cc index 1f3b0fe1a..64202b852 100644 --- a/src/VideoStreaming/VideoReceiver.cc +++ b/src/VideoStreaming/VideoReceiver.cc @@ -180,12 +180,12 @@ VideoReceiver::VideoReceiver(QObject* parent) VideoReceiver::~VideoReceiver() { #if defined(QGC_GST_STREAMING) -// stop(); -// setVideoSink(NULL); -// if(_socket) { -// delete _socket; -// } - EOS(); + stopRecording(); + stop(); + setVideoSink(NULL); + if(_socket) { + delete _socket; + } #endif } @@ -463,14 +463,9 @@ void VideoReceiver::start() #endif } -void VideoReceiver::EOS() { - gst_element_send_event(_pipeline, gst_event_new_eos()); -} - void VideoReceiver::stop() { #if defined(QGC_GST_STREAMING) - qDebug() << "stop()"; if (_pipeline != NULL) { qDebug() << "Stopping pipeline"; gst_element_set_state(_pipeline, GST_STATE_NULL); @@ -495,7 +490,7 @@ void VideoReceiver::_onBusMessage(GstMessage* msg) switch (GST_MESSAGE_TYPE(msg)) { case GST_MESSAGE_EOS: qDebug() << "Got EOS"; - //stop(); + stop(); break; case GST_MESSAGE_ERROR: do { diff --git a/src/VideoStreaming/VideoReceiver.h b/src/VideoStreaming/VideoReceiver.h index 2a791fe35..847faf749 100644 --- a/src/VideoStreaming/VideoReceiver.h +++ b/src/VideoStreaming/VideoReceiver.h @@ -48,7 +48,6 @@ signals: public slots: void start (); - void EOS (); void stop (); void setUri (const QString& uri); void stopRecording (); -- 2.22.0