Index: webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc |
diff --git a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc b/webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc |
index 47afe9561e7edffcaf1b92d2dcae16f794924633..e6cd7eb0cd7cff0b75c8ea2b2ff6d276277e72e9 100644 |
--- a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc |
+++ b/webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc |
@@ -33,10 +33,10 @@ bool H264CMSampleBufferToAnnexBBuffer( |
CMSampleBufferRef avcc_sample_buffer, |
bool is_keyframe, |
rtc::Buffer* annexb_buffer, |
- webrtc::RTPFragmentationHeader** out_header) { |
+ std::unique_ptr<RTPFragmentationHeader> *out_header) { |
RTC_DCHECK(avcc_sample_buffer); |
RTC_DCHECK(out_header); |
- *out_header = nullptr; |
+ out_header->reset(nullptr); |
// Get format description from the sample buffer. |
CMVideoFormatDescriptionRef description = |
@@ -143,8 +143,7 @@ bool H264CMSampleBufferToAnnexBBuffer( |
} |
RTC_DCHECK_EQ(bytes_remaining, (size_t)0); |
- std::unique_ptr<webrtc::RTPFragmentationHeader> header; |
- header.reset(new webrtc::RTPFragmentationHeader()); |
+ auto header = new webrtc::RTPFragmentationHeader(); |
magjed_webrtc
2017/08/29 11:35:02
Can't we put it in |out_header| immediately, i.e.
kthelgason
2017/08/29 11:39:45
Sure, I just did this to keep the diff small and t
magjed_webrtc
2017/08/30 09:06:10
I want a variable always owning the memory in an s
kthelgason
2017/08/30 09:13:41
You're right, I've fixed this now. Thanks!
|
header->VerifyAndAllocateFragmentationHeader(frag_offsets.size()); |
RTC_DCHECK_EQ(frag_lengths.size(), frag_offsets.size()); |
for (size_t i = 0; i < frag_offsets.size(); ++i) { |
@@ -153,7 +152,7 @@ bool H264CMSampleBufferToAnnexBBuffer( |
header->fragmentationPlType[i] = 0; |
header->fragmentationTimeDiff[i] = 0; |
} |
- *out_header = header.release(); |
+ out_header->reset(header); |
henrika_webrtc
2017/08/29 10:37:12
Should it be documented that we deleted and releas
|
CFRelease(contiguous_buffer); |
return true; |
} |