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

Unified Diff: webrtc/modules/rtp_rtcp/source/rtp_format_vp9.cc

Issue 2522553002: RtpPacketizer::NextPacket fills RtpPacket instead of payload. (Closed)
Patch Set: Named kTheMagicSix Created 4 years 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_vp9.cc
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_format_vp9.cc b/webrtc/modules/rtp_rtcp/source/rtp_format_vp9.cc
index d2f22d50446a84c5440c881eb2126dfcc642511e..b77d6a3b72036be6a5e0c63ab193216c9976b61f 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_format_vp9.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_format_vp9.cc
@@ -18,6 +18,7 @@
#include "webrtc/base/bitbuffer.h"
#include "webrtc/base/checks.h"
#include "webrtc/base/logging.h"
+#include "webrtc/modules/rtp_rtcp/source/rtp_packet_to_send.h"
#define RETURN_FALSE_ON_ERROR(x) \
if (!(x)) { \
@@ -545,21 +546,22 @@ void RtpPacketizerVp9::GeneratePackets() {
assert(bytes_processed == payload_size_);
}
-bool RtpPacketizerVp9::NextPacket(uint8_t* buffer,
- size_t* bytes_to_send,
- bool* last_packet) {
+bool RtpPacketizerVp9::NextPacket(RtpPacketToSend* packet, bool* last_packet) {
+ RTC_DCHECK(packet);
+ RTC_DCHECK(last_packet);
if (packets_.empty()) {
return false;
}
PacketInfo packet_info = packets_.front();
packets_.pop();
- if (!WriteHeaderAndPayload(packet_info, buffer, bytes_to_send)) {
+ if (!WriteHeaderAndPayload(packet_info, packet)) {
return false;
}
- *last_packet =
- packets_.empty() && (hdr_.spatial_idx == kNoSpatialIdx ||
- hdr_.spatial_idx == hdr_.num_spatial_layers - 1);
+ *last_packet = packets_.empty();
+ packet->SetMarker(packets_.empty() &&
+ (hdr_.spatial_idx == kNoSpatialIdx ||
+ hdr_.spatial_idx == hdr_.num_spatial_layers - 1));
return true;
}
@@ -600,8 +602,9 @@ bool RtpPacketizerVp9::NextPacket(uint8_t* buffer,
// +-+-+-+-+-+-+-+-+
bool RtpPacketizerVp9::WriteHeaderAndPayload(const PacketInfo& packet_info,
- uint8_t* buffer,
- size_t* bytes_to_send) const {
+ RtpPacketToSend* packet) const {
+ uint8_t* buffer = packet->AllocatePayload(max_payload_length_);
+ RTC_DCHECK(buffer);
size_t header_length;
if (!WriteHeader(packet_info, buffer, &header_length))
return false;
@@ -610,7 +613,7 @@ bool RtpPacketizerVp9::WriteHeaderAndPayload(const PacketInfo& packet_info,
memcpy(&buffer[header_length],
&payload_[packet_info.payload_start_pos], packet_info.size);
- *bytes_to_send = header_length + packet_info.size;
+ packet->SetPayloadSize(header_length + packet_info.size);
return true;
}
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_format_vp9.h ('k') | webrtc/modules/rtp_rtcp/source/rtp_format_vp9_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698