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

Side by Side Diff: media/webm/webm_tracks_parser.cc

Issue 15342004: Adding VP8 Alpha support in Media Source (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 7 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/webm/webm_tracks_parser.h" 5 #include "media/webm/webm_tracks_parser.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "media/base/buffers.h" 9 #include "media/base/buffers.h"
10 #include "media/webm/webm_constants.h" 10 #include "media/webm/webm_constants.h"
(...skipping 13 matching lines...) Expand all
24 24
25 if (codec_id == kWebMCodecMetadata) 25 if (codec_id == kWebMCodecMetadata)
26 return kTextMetadata; 26 return kTextMetadata;
27 27
28 return kTextNone; 28 return kTextNone;
29 } 29 }
30 30
31 WebMTracksParser::WebMTracksParser(const LogCB& log_cb) 31 WebMTracksParser::WebMTracksParser(const LogCB& log_cb)
32 : track_type_(-1), 32 : track_type_(-1),
33 track_num_(-1), 33 track_num_(-1),
34 max_block_additional_id_(-1),
34 audio_track_num_(-1), 35 audio_track_num_(-1),
35 video_track_num_(-1), 36 video_track_num_(-1),
36 log_cb_(log_cb), 37 log_cb_(log_cb),
37 audio_client_(log_cb), 38 audio_client_(log_cb),
38 video_client_(log_cb) { 39 video_client_(log_cb) {
39 } 40 }
40 41
41 WebMTracksParser::~WebMTracksParser() {} 42 WebMTracksParser::~WebMTracksParser() {}
42 43
43 int WebMTracksParser::Parse(const uint8* buf, int size) { 44 int WebMTracksParser::Parse(const uint8* buf, int size) {
44 track_type_ =-1; 45 track_type_ =-1;
45 track_num_ = -1; 46 track_num_ = -1;
46 track_name_.clear(); 47 track_name_.clear();
47 track_language_.clear(); 48 track_language_.clear();
49 max_block_additional_id_ = -1;
acolwell GONE FROM CHROMIUM 2013/05/21 17:14:11 nit: Remove since this doesn't appear to be used a
vignesh 2013/05/21 18:57:56 Done.
48 audio_track_num_ = -1; 50 audio_track_num_ = -1;
49 audio_decoder_config_ = AudioDecoderConfig(); 51 audio_decoder_config_ = AudioDecoderConfig();
50 video_track_num_ = -1; 52 video_track_num_ = -1;
51 video_decoder_config_ = VideoDecoderConfig(); 53 video_decoder_config_ = VideoDecoderConfig();
52 text_tracks_.clear(); 54 text_tracks_.clear();
53 ignored_tracks_.clear(); 55 ignored_tracks_.clear();
54 56
55 WebMListParser parser(kWebMIdTracks, this); 57 WebMListParser parser(kWebMIdTracks, this);
56 int result = parser.Parse(buf, size); 58 int result = parser.Parse(buf, size);
57 59
(...skipping 10 matching lines...) Expand all
68 track_content_encodings_client_.reset( 70 track_content_encodings_client_.reset(
69 new WebMContentEncodingsClient(log_cb_)); 71 new WebMContentEncodingsClient(log_cb_));
70 return track_content_encodings_client_->OnListStart(id); 72 return track_content_encodings_client_->OnListStart(id);
71 } 73 }
72 74
73 if (id == kWebMIdTrackEntry) { 75 if (id == kWebMIdTrackEntry) {
74 track_type_ = -1; 76 track_type_ = -1;
75 track_num_ = -1; 77 track_num_ = -1;
76 track_name_.clear(); 78 track_name_.clear();
77 track_language_.clear(); 79 track_language_.clear();
80 max_block_additional_id_ = -1;
78 codec_id_ = ""; 81 codec_id_ = "";
79 codec_private_.clear(); 82 codec_private_.clear();
80 audio_client_.Reset(); 83 audio_client_.Reset();
81 video_client_.Reset(); 84 video_client_.Reset();
82 return this; 85 return this;
83 } 86 }
84 87
85 if (id == kWebMIdAudio) 88 if (id == kWebMIdAudio)
86 return &audio_client_; 89 return &audio_client_;
87 90
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 text_track_info.language = track_language_; 194 text_track_info.language = track_language_;
192 } else { 195 } else {
193 MEDIA_LOG(log_cb_) << "Unexpected TrackType " << track_type_; 196 MEDIA_LOG(log_cb_) << "Unexpected TrackType " << track_type_;
194 return false; 197 return false;
195 } 198 }
196 199
197 track_type_ = -1; 200 track_type_ = -1;
198 track_num_ = -1; 201 track_num_ = -1;
199 track_name_.clear(); 202 track_name_.clear();
200 track_language_.clear(); 203 track_language_.clear();
204 max_block_additional_id_ = -1;
201 codec_id_ = ""; 205 codec_id_ = "";
202 codec_private_.clear(); 206 codec_private_.clear();
203 track_content_encodings_client_.reset(); 207 track_content_encodings_client_.reset();
204 208
205 audio_client_.Reset(); 209 audio_client_.Reset();
206 video_client_.Reset(); 210 video_client_.Reset();
207 return true; 211 return true;
208 } 212 }
209 213
210 return true; 214 return true;
211 } 215 }
212 216
213 bool WebMTracksParser::OnUInt(int id, int64 val) { 217 bool WebMTracksParser::OnUInt(int id, int64 val) {
214 int64* dst = NULL; 218 int64* dst = NULL;
215 219
216 switch (id) { 220 switch (id) {
217 case kWebMIdTrackNumber: 221 case kWebMIdTrackNumber:
218 dst = &track_num_; 222 dst = &track_num_;
219 break; 223 break;
220 case kWebMIdTrackType: 224 case kWebMIdTrackType:
221 dst = &track_type_; 225 dst = &track_type_;
222 break; 226 break;
227 case kWebMIdMaxBlockAdditionId:
228 dst = &max_block_additional_id_;
229 break;
223 default: 230 default:
224 return true; 231 return true;
225 } 232 }
226 233
227 if (*dst != -1) { 234 if (*dst != -1) {
228 MEDIA_LOG(log_cb_) << "Multiple values for id " << std::hex << id 235 MEDIA_LOG(log_cb_) << "Multiple values for id " << std::hex << id
229 << " specified"; 236 << " specified";
230 return false; 237 return false;
231 } 238 }
232 239
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 276
270 if (id == kWebMIdLanguage) { 277 if (id == kWebMIdLanguage) {
271 track_language_ = str; 278 track_language_ = str;
272 return true; 279 return true;
273 } 280 }
274 281
275 return true; 282 return true;
276 } 283 }
277 284
278 } // namespace media 285 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698