diff --git a/src/VideoStreaming/VideoReceiver.cc b/src/VideoStreaming/VideoReceiver.cc index 1f3b0fe1add7ca13d66cf772a474de696ee0c44a..64202b8523cd2871e81ea2b9a76cd76d7821da68 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 2a791fe35bffc881fe7a746fd4929ea669db5d62..847faf749e13c33a848e0c4858bd1e59b69a15b5 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 ();