Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1702)

Unified Diff: webrtc/modules/rtp_rtcp/source/rtp_format.h

Issue 2871173008: Fix packetization logic to leave space for extensions in the last packet (Closed)
Patch Set: Fix packet buffer allocations bugs and old tests with incorrect assumptions about extensions locati… Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/rtp_rtcp/source/rtp_format.h
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_format.h b/webrtc/modules/rtp_rtcp/source/rtp_format.h
index 3b6004b9a13f84e30a5e1ba1611a1c3c68e8696c..6dc933dfe446c414489b63d32fcb0181dd23bbd8 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_format.h
+++ b/webrtc/modules/rtp_rtcp/source/rtp_format.h
@@ -24,6 +24,7 @@ class RtpPacketizer {
public:
static RtpPacketizer* Create(RtpVideoCodecTypes type,
size_t max_payload_len,
+ size_t last_packet_extensions_len,
danilchap 2017/05/12 08:34:40 Can it be simpler to use last_packet_payload_len i
ilnik 2017/05/12 09:17:57 No, it considerately simplifies logic to know by w
danilchap 2017/05/12 13:56:10 I meant the interface, not the implementation (eac
ilnik 2017/05/12 13:59:20 It actually doesn't need to know about extensions.
danilchap 2017/05/12 18:56:15 Found reason why you want this variable in the int
ilnik 2017/05/15 09:38:33 Yes, I agree.
const RTPVideoTypeHeader* rtp_type_header,
FrameType frame_type);
@@ -35,10 +36,12 @@ class RtpPacketizer {
// Get the next payload with payload header.
// Write payload and set marker bit of the |packet|.
- // The parameter |last_packet| is true for the last packet of the frame, false
- // otherwise (i.e., call the function again to get the next packet).
// Returns true on success, false otherwise.
- virtual bool NextPacket(RtpPacketToSend* packet, bool* last_packet) = 0;
+ virtual bool NextPacket(RtpPacketToSend* packet) = 0;
+
+ // Returns total number of packets which would be produced by the packetizer.
+ // Valid only before the first NextPacket() call.
danilchap 2017/05/12 08:34:40 may be it will be logical for SetPayloadData to re
ilnik 2017/05/12 09:17:57 Yes, you are right. I will change the interface to
+ virtual size_t TotalPackets() = 0;
virtual ProtectionType GetProtectionType() = 0;

Powered by Google App Engine
This is Rietveld 408576698