diff --git a/src/modules/video_coding/main/source/frame_buffer.cc b/src/modules/video_coding/main/source/frame_buffer.cc index 82dbe2181..153c63576 100644 --- a/src/modules/video_coding/main/source/frame_buffer.cc +++ b/src/modules/video_coding/main/source/frame_buffer.cc @@ -80,6 +80,10 @@ int VCMFrameBuffer::Tl0PicId() const { return _sessionInfo.Tl0PicId(); } +bool VCMFrameBuffer::NonReference() const { + return _sessionInfo.NonReference(); +} + bool VCMFrameBuffer::IsSessionComplete() const { diff --git a/src/modules/video_coding/main/source/frame_buffer.h b/src/modules/video_coding/main/source/frame_buffer.h index d7bde6591..f74ac9d62 100644 --- a/src/modules/video_coding/main/source/frame_buffer.h +++ b/src/modules/video_coding/main/source/frame_buffer.h @@ -59,6 +59,7 @@ public: int PictureId() const; int TemporalId() const; int Tl0PicId() const; + bool NonReference() const; // Set counted status (as counted by JB or not) void SetCountedFrame(bool frameCounted); diff --git a/src/modules/video_coding/main/source/session_info.cc b/src/modules/video_coding/main/source/session_info.cc index 569cb7a7b..be6ef6636 100644 --- a/src/modules/video_coding/main/source/session_info.cc +++ b/src/modules/video_coding/main/source/session_info.cc @@ -73,6 +73,12 @@ int VCMSessionInfo::Tl0PicId() const { return _packets[0].codecSpecificHeader.codecHeader.VP8.tl0PicIdx; } +bool VCMSessionInfo::NonReference() const { + if (_lowSeqNum == -1 || _packets[0].codecSpecificHeader.codec != kRTPVideoVP8) + return false; + return _packets[0].codecSpecificHeader.codecHeader.VP8.nonReference; +} + void VCMSessionInfo::Reset() { for (int i = 0; i <= _highestPacketIndex; ++i) diff --git a/src/modules/video_coding/main/source/session_info.h b/src/modules/video_coding/main/source/session_info.h index 11805791b..05bdcc6aa 100644 --- a/src/modules/video_coding/main/source/session_info.h +++ b/src/modules/video_coding/main/source/session_info.h @@ -79,6 +79,7 @@ public: int PictureId() const; int TemporalId() const; int Tl0PicId() const; + bool NonReference() const; WebRtc_UWord32 PrepareForDecode(WebRtc_UWord8* ptrStartOfLayer, VideoCodecType codec);