Browse Source

Correctly set decoding state to true when we get first frame

QGC4.4
Matej Frančeškin 5 years ago committed by Andrew Voznytsa
parent
commit
360214c18c
  1. 15
      src/VideoReceiver/GstVideoReceiver.cc

15
src/VideoReceiver/GstVideoReceiver.cc

@ -1119,12 +1119,6 @@ GstVideoReceiver::_addVideoSink(GstPad* pad)
}); });
} }
_decoding = true;
qCDebug(VideoReceiverLog) << "Decoding started";
_dispatchSignal([this](){
emit decodingChanged(_decoding);
});
return true; return true;
} }
@ -1138,6 +1132,13 @@ void
GstVideoReceiver::_noteVideoSinkFrame(void) GstVideoReceiver::_noteVideoSinkFrame(void)
{ {
_lastVideoFrameTime = QDateTime::currentSecsSinceEpoch(); _lastVideoFrameTime = QDateTime::currentSecsSinceEpoch();
if (!_decoding) {
_decoding = true;
qCDebug(VideoReceiverLog) << "Decoding started";
_dispatchSignal([this](){
emit decodingChanged(_decoding);
});
}
} }
void void
@ -1674,7 +1675,9 @@ GstVideoReceiver::_keyframeWatch(GstPad* pad, GstPadProbeInfo* info, gpointer us
qCDebug(VideoReceiverLog) << "Got keyframe, stop dropping buffers"; qCDebug(VideoReceiverLog) << "Got keyframe, stop dropping buffers";
pThis->_dispatchSignal([pThis]() {
pThis->recordingStarted(); pThis->recordingStarted();
});
return GST_PAD_PROBE_REMOVE; return GST_PAD_PROBE_REMOVE;
} }

Loading…
Cancel
Save