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

Unified Diff: media/mp4/avc.cc

Issue 10651006: Add Common Encryption support to BMFF, including subsample decryption. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix another case issue Created 8 years, 6 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: media/mp4/avc.cc
diff --git a/media/mp4/avc.cc b/media/mp4/avc.cc
index faf9939cf966b1aa1769cf7624e6fd1005fe08ee..9896e2c366e0d396e458d0ef54b1807534c10c82 100644
--- a/media/mp4/avc.cc
+++ b/media/mp4/avc.cc
@@ -59,32 +59,30 @@ bool AVC::ConvertToAnnexB(int length_size, std::vector<uint8>* buffer) {
}
// static
-bool AVC::InsertParameterSets(const AVCDecoderConfigurationRecord& avc_config,
- std::vector<uint8>* buffer) {
+bool AVC::ConvertParameterSets(const AVCDecoderConfigurationRecord& avc_config,
+ std::vector<uint8>* buffer) {
+ DCHECK(buffer->empty());
+ buffer->clear();
int total_size = 0;
for (size_t i = 0; i < avc_config.sps_list.size(); i++)
total_size += avc_config.sps_list[i].size() + kAnnexBStartCodeSize;
for (size_t i = 0; i < avc_config.pps_list.size(); i++)
total_size += avc_config.pps_list[i].size() + kAnnexBStartCodeSize;
-
- std::vector<uint8> temp;
- temp.reserve(total_size);
+ buffer->reserve(total_size);
for (size_t i = 0; i < avc_config.sps_list.size(); i++) {
- temp.insert(temp.end(), kAnnexBStartCode,
+ buffer->insert(buffer->end(), kAnnexBStartCode,
kAnnexBStartCode + kAnnexBStartCodeSize);
- temp.insert(temp.end(), avc_config.sps_list[i].begin(),
+ buffer->insert(buffer->end(), avc_config.sps_list[i].begin(),
avc_config.sps_list[i].end());
}
for (size_t i = 0; i < avc_config.pps_list.size(); i++) {
- temp.insert(temp.end(), kAnnexBStartCode,
- kAnnexBStartCode + kAnnexBStartCodeSize);
- temp.insert(temp.end(), avc_config.pps_list[i].begin(),
- avc_config.pps_list[i].end());
+ buffer->insert(buffer->end(), kAnnexBStartCode,
+ kAnnexBStartCode + kAnnexBStartCodeSize);
+ buffer->insert(buffer->end(), avc_config.pps_list[i].begin(),
+ avc_config.pps_list[i].end());
}
-
- buffer->insert(buffer->begin(), temp.begin(), temp.end());
return true;
}

Powered by Google App Engine
This is Rietveld 408576698