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

Side by Side Diff: media/formats/webm/webm_content_encodings_client.cc

Issue 2371783002: Remove stl_util's deletion functions from media/. (Closed)
Patch Set: wolenetz Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/formats/webm/webm_content_encodings_client.h" 5 #include "media/formats/webm/webm_content_encodings_client.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/stl_util.h"
9 #include "media/formats/webm/webm_constants.h" 8 #include "media/formats/webm/webm_constants.h"
10 9
11 namespace media { 10 namespace media {
12 11
13 WebMContentEncodingsClient::WebMContentEncodingsClient( 12 WebMContentEncodingsClient::WebMContentEncodingsClient(
14 const scoped_refptr<MediaLog>& media_log) 13 const scoped_refptr<MediaLog>& media_log)
15 : media_log_(media_log), 14 : media_log_(media_log),
16 content_encryption_encountered_(false), 15 content_encryption_encountered_(false),
17 content_encodings_ready_(false) { 16 content_encodings_ready_(false) {
18 } 17 }
19 18
20 WebMContentEncodingsClient::~WebMContentEncodingsClient() { 19 WebMContentEncodingsClient::~WebMContentEncodingsClient() {
21 base::STLDeleteElements(&content_encodings_);
22 } 20 }
23 21
24 const ContentEncodings& WebMContentEncodingsClient::content_encodings() const { 22 const ContentEncodings& WebMContentEncodingsClient::content_encodings() const {
25 DCHECK(content_encodings_ready_); 23 DCHECK(content_encodings_ready_);
26 return content_encodings_; 24 return content_encodings_;
27 } 25 }
28 26
29 WebMParserClient* WebMContentEncodingsClient::OnListStart(int id) { 27 WebMParserClient* WebMContentEncodingsClient::OnListStart(int id) {
30 if (id == kWebMIdContentEncodings) { 28 if (id == kWebMIdContentEncodings) {
31 DCHECK(!cur_content_encoding_.get()); 29 DCHECK(!cur_content_encoding_.get());
32 DCHECK(!content_encryption_encountered_); 30 DCHECK(!content_encryption_encountered_);
33 base::STLDeleteElements(&content_encodings_); 31 content_encodings_.clear();
34 content_encodings_ready_ = false; 32 content_encodings_ready_ = false;
35 return this; 33 return this;
36 } 34 }
37 35
38 if (id == kWebMIdContentEncoding) { 36 if (id == kWebMIdContentEncoding) {
39 DCHECK(!cur_content_encoding_.get()); 37 DCHECK(!cur_content_encoding_.get());
40 DCHECK(!content_encryption_encountered_); 38 DCHECK(!content_encryption_encountered_);
41 cur_content_encoding_.reset(new ContentEncoding()); 39 cur_content_encoding_.reset(new ContentEncoding());
42 return this; 40 return this;
43 } 41 }
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 } 103 }
106 104
107 // Enforce mandatory elements without default values. 105 // Enforce mandatory elements without default values.
108 DCHECK(cur_content_encoding_->type() == ContentEncoding::kTypeEncryption); 106 DCHECK(cur_content_encoding_->type() == ContentEncoding::kTypeEncryption);
109 if (!content_encryption_encountered_) { 107 if (!content_encryption_encountered_) {
110 MEDIA_LOG(ERROR, media_log_) << "ContentEncodingType is encryption but" 108 MEDIA_LOG(ERROR, media_log_) << "ContentEncodingType is encryption but"
111 << " ContentEncryption is missing."; 109 << " ContentEncryption is missing.";
112 return false; 110 return false;
113 } 111 }
114 112
115 content_encodings_.push_back(cur_content_encoding_.release()); 113 content_encodings_.push_back(std::move(cur_content_encoding_));
116 content_encryption_encountered_ = false; 114 content_encryption_encountered_ = false;
117 return true; 115 return true;
118 } 116 }
119 117
120 if (id == kWebMIdContentEncryption) { 118 if (id == kWebMIdContentEncryption) {
121 DCHECK(cur_content_encoding_.get()); 119 DCHECK(cur_content_encoding_.get());
122 // Specify default value for elements that are not present. 120 // Specify default value for elements that are not present.
123 if (cur_content_encoding_->encryption_algo() == 121 if (cur_content_encoding_->encryption_algo() ==
124 ContentEncoding::kEncAlgoInvalid) { 122 ContentEncoding::kEncAlgoInvalid) {
125 cur_content_encoding_->set_encryption_algo( 123 cur_content_encoding_->set_encryption_algo(
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 cur_content_encoding_->SetEncryptionKeyId(data, size); 265 cur_content_encoding_->SetEncryptionKeyId(data, size);
268 return true; 266 return true;
269 } 267 }
270 268
271 // This should not happen if WebMListParser is working properly. 269 // This should not happen if WebMListParser is working properly.
272 DCHECK(false); 270 DCHECK(false);
273 return false; 271 return false;
274 } 272 }
275 273
276 } // namespace media 274 } // namespace media
OLDNEW
« no previous file with comments | « media/formats/webm/webm_content_encodings_client.h ('k') | media/gpu/ipc/service/gpu_jpeg_decode_accelerator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698