Index: webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h |
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h b/webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h |
index 118166fbf3089bd9b507f0145e20ab49034373a0..25e72809f9db18b2b2d178268b9790dfc3a6aef1 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h |
@@ -27,20 +27,21 @@ class RtpPacketizerGeneric : public RtpPacketizer { |
public: |
// Initialize with payload from encoder. |
// The payload_data must be exactly one encoded generic frame. |
- RtpPacketizerGeneric(FrameType frametype, size_t max_payload_len); |
+ RtpPacketizerGeneric(FrameType frametype, |
+ size_t max_payload_len, |
+ size_t last_packet_reduction_len); |
virtual ~RtpPacketizerGeneric(); |
- void SetPayloadData(const uint8_t* payload_data, |
- size_t payload_size, |
- const RTPFragmentationHeader* fragmentation) override; |
+ // Returns total number of packets to be generated. |
+ size_t SetPayloadData(const uint8_t* payload_data, |
+ size_t payload_size, |
+ const RTPFragmentationHeader* fragmentation) override; |
// Get the next payload with generic 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. |
- bool NextPacket(RtpPacketToSend* packet, bool* last_packet) override; |
+ bool NextPacket(RtpPacketToSend* packet) override; |
ProtectionType GetProtectionType() override; |
@@ -52,9 +53,14 @@ class RtpPacketizerGeneric : public RtpPacketizer { |
const uint8_t* payload_data_; |
size_t payload_size_; |
const size_t max_payload_len_; |
+ const size_t last_packet_reduction_len_; |
FrameType frame_type_; |
- size_t payload_length_; |
+ size_t payload_len_per_packet_; |
uint8_t generic_header_; |
+ // Number of packets yet to be retrieved by NextPacket() call. |
+ size_t num_packets_left_; |
+ // Number of packets, which will be 1 byte more than the rest. |
+ size_t num_larger_packets_; |
RTC_DISALLOW_COPY_AND_ASSIGN(RtpPacketizerGeneric); |
}; |