Added WEBRTC_VIDEO_CODEC_OK_REQUEST_KEYFRAME decoder return code.
Bug: None Change-Id: I71e1d42c92273dc4ce3f5f5e7052615d68e65a38 Reviewed-on: https://webrtc-review.googlesource.com/31860 Reviewed-by: Stefan Holmer <stefan@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21363}
This commit is contained in:
@ -15,6 +15,7 @@
|
||||
|
||||
// Define return values
|
||||
|
||||
#define WEBRTC_VIDEO_CODEC_OK_REQUEST_KEYFRAME 4
|
||||
#define WEBRTC_VIDEO_CODEC_REQUEST_SLI 2
|
||||
#define WEBRTC_VIDEO_CODEC_NO_OUTPUT 1
|
||||
#define WEBRTC_VIDEO_CODEC_OK 0
|
||||
|
||||
@ -424,10 +424,15 @@ bool VideoReceiveStream::Decode() {
|
||||
if (frame) {
|
||||
int64_t now_ms = clock_->TimeInMilliseconds();
|
||||
RTC_DCHECK_EQ(res, video_coding::FrameBuffer::ReturnReason::kFrameFound);
|
||||
if (video_receiver_.Decode(frame.get()) == VCM_OK) {
|
||||
int decode_result = video_receiver_.Decode(frame.get());
|
||||
if (decode_result == WEBRTC_VIDEO_CODEC_OK ||
|
||||
decode_result == WEBRTC_VIDEO_CODEC_OK_REQUEST_KEYFRAME) {
|
||||
keyframe_required_ = false;
|
||||
frame_decoded_ = true;
|
||||
rtp_video_stream_receiver_.FrameDecoded(frame->picture_id);
|
||||
|
||||
if (decode_result == WEBRTC_VIDEO_CODEC_OK_REQUEST_KEYFRAME)
|
||||
RequestKeyFrame();
|
||||
} else if (!frame_decoded_ || !keyframe_required_ ||
|
||||
(last_keyframe_request_ms_ + kMaxWaitForKeyFrameMs < now_ms)) {
|
||||
keyframe_required_ = true;
|
||||
|
||||
Reference in New Issue
Block a user