Make SetFirstSubFrameInFrame and SetLastSubFrameInFrame protected
These methods should only be used when parsing frames produced
by an older client; newer clients should not attempt to set
these values.
(When talking to older clients, TRUE is hard-coded. When talking
to newer clients, these flags are deprecated.)
Bug: webrtc:10214
Change-Id: I8537869ef3112f4ce9531c6becc33951715685a1
Reviewed-on: https://webrtc-review.googlesource.com/c/118421
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26360}
diff --git a/modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h b/modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h
index 811b634..52d401f 100644
--- a/modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h
+++ b/modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h
@@ -18,6 +18,8 @@
namespace webrtc {
+class RtpGenericFrameDescriptorExtension;
+
// Data to put on the wire for FrameDescriptor rtp header extension.
class RtpGenericFrameDescriptor {
public:
@@ -35,9 +37,7 @@
void SetLastPacketInSubFrame(bool last) { end_of_subframe_ = last; }
bool FirstSubFrameInFrame() const { return beginning_of_frame_; }
- void SetFirstSubFrameInFrame(bool first) { beginning_of_frame_ = first; }
bool LastSubFrameInFrame() const { return end_of_frame_; }
- void SetLastSubFrameInFrame(bool last) { end_of_frame_ = last; }
// Properties below undefined if !FirstPacketInSubFrame()
// Valid range for temporal layer: [0, 7]
@@ -66,6 +66,10 @@
rtc::ArrayView<const uint8_t> GetByteRepresentation();
private:
+ friend class RtpGenericFrameDescriptorExtension;
+ void SetFirstSubFrameInFrame(bool first) { beginning_of_frame_ = first; }
+ void SetLastSubFrameInFrame(bool last) { end_of_frame_ = last; }
+
bool beginning_of_subframe_ = false;
bool end_of_subframe_ = false;
bool beginning_of_frame_ = true;
diff --git a/modules/rtp_rtcp/source/rtp_sender_video.cc b/modules/rtp_rtcp/source/rtp_sender_video.cc
index 8f276c4..a33aa36 100644
--- a/modules/rtp_rtcp/source/rtp_sender_video.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_video.cc
@@ -82,8 +82,6 @@
RtpGenericFrameDescriptor generic_descriptor;
generic_descriptor.SetFirstPacketInSubFrame(first_packet);
generic_descriptor.SetLastPacketInSubFrame(last_packet);
- generic_descriptor.SetFirstSubFrameInFrame(true);
- generic_descriptor.SetLastSubFrameInFrame(true);
if (first_packet) {
generic_descriptor.SetFrameId(
diff --git a/video/rtp_video_stream_receiver_unittest.cc b/video/rtp_video_stream_receiver_unittest.cc
index 6ec7046..d54d977 100644
--- a/video/rtp_video_stream_receiver_unittest.cc
+++ b/video/rtp_video_stream_receiver_unittest.cc
@@ -517,8 +517,6 @@
RtpGenericFrameDescriptor generic_descriptor;
generic_descriptor.SetFirstPacketInSubFrame(true);
generic_descriptor.SetLastPacketInSubFrame(true);
- generic_descriptor.SetFirstSubFrameInFrame(true);
- generic_descriptor.SetLastSubFrameInFrame(true);
generic_descriptor.SetFrameId(100);
generic_descriptor.SetSpatialLayersBitmask(1 << kSpatialIndex);
generic_descriptor.AddFrameDependencyDiff(90);
@@ -564,8 +562,6 @@
RtpGenericFrameDescriptor first_packet_descriptor;
first_packet_descriptor.SetFirstPacketInSubFrame(true);
first_packet_descriptor.SetLastPacketInSubFrame(false);
- first_packet_descriptor.SetFirstSubFrameInFrame(true);
- first_packet_descriptor.SetLastSubFrameInFrame(true);
first_packet_descriptor.SetFrameId(100);
first_packet_descriptor.SetSpatialLayersBitmask(1 << kSpatialIndex);
first_packet_descriptor.SetResolution(480, 360);
@@ -586,8 +582,6 @@
RtpGenericFrameDescriptor second_packet_descriptor;
second_packet_descriptor.SetFirstPacketInSubFrame(false);
second_packet_descriptor.SetLastPacketInSubFrame(true);
- second_packet_descriptor.SetFirstSubFrameInFrame(true);
- second_packet_descriptor.SetLastSubFrameInFrame(true);
EXPECT_TRUE(second_packet.SetExtension<RtpGenericFrameDescriptorExtension>(
second_packet_descriptor));