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. 17
      src/VideoReceiver/GstVideoReceiver.cc

17
src/VideoReceiver/GstVideoReceiver.cc

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

Loading…
Cancel
Save