Pass picture_id from generic packetizer through codec-specific field
To free up RtpVideoHeader::generic field for codec agnostic details from an rtp header extension. Bug: webrtc:10342 Change-Id: I7b9d869b2ecfedb96dfd860be47ed8dffa058749 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166175 Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30396}
This commit is contained in:
committed by
Commit Bot
parent
f417238217
commit
b6bf0b2546
@ -111,15 +111,14 @@ RtpFrameReferenceFinder::ManageFrameInternal(RtpFrameObject* frame) {
|
||||
return ManageFrameVp9(frame);
|
||||
case kVideoCodecH264:
|
||||
return ManageFrameH264(frame);
|
||||
default: {
|
||||
// Use 15 first bits of frame ID as picture ID if available.
|
||||
const RTPVideoHeader& video_header = frame->GetRtpVideoHeader();
|
||||
int picture_id = kNoPictureId;
|
||||
if (video_header.generic)
|
||||
picture_id = video_header.generic->frame_id & 0x7fff;
|
||||
|
||||
return ManageFramePidOrSeqNum(frame, picture_id);
|
||||
}
|
||||
case kVideoCodecGeneric:
|
||||
if (auto* generic_header = absl::get_if<RTPVideoHeaderLegacyGeneric>(
|
||||
&frame->GetRtpVideoHeader().video_type_header)) {
|
||||
return ManageFramePidOrSeqNum(frame, generic_header->picture_id);
|
||||
}
|
||||
ABSL_FALLTHROUGH_INTENDED;
|
||||
default:
|
||||
return ManageFramePidOrSeqNum(frame, kNoPictureId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user