OLD | NEW |
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 <algorithm> | 5 #include <algorithm> |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "media/base/decrypt_config.h" | 9 #include "media/base/decrypt_config.h" |
10 #include "media/webm/cluster_builder.h" | 10 #include "media/webm/cluster_builder.h" |
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 CreateCluster(0, kInputBlockInfo, input_block_count)); | 367 CreateCluster(0, kInputBlockInfo, input_block_count)); |
368 | 368 |
369 int result = parser_->Parse(cluster->data(), cluster->size()); | 369 int result = parser_->Parse(cluster->data(), cluster->size()); |
370 EXPECT_EQ(cluster->size(), result); | 370 EXPECT_EQ(cluster->size(), result); |
371 ASSERT_TRUE(VerifyBuffers(parser_, kOutputBlockInfo, output_block_count)); | 371 ASSERT_TRUE(VerifyBuffers(parser_, kOutputBlockInfo, output_block_count)); |
372 } | 372 } |
373 | 373 |
374 TEST_F(WebMClusterParserTest, ParseTextTracks) { | 374 TEST_F(WebMClusterParserTest, ParseTextTracks) { |
375 typedef WebMTracksParser::TextTracks TextTracks; | 375 typedef WebMTracksParser::TextTracks TextTracks; |
376 TextTracks text_tracks; | 376 TextTracks text_tracks; |
377 WebMTracksParser::TextTrackInfo text_track_info; | |
378 | 377 |
379 text_track_info.kind = kTextSubtitles; | |
380 text_tracks.insert(std::make_pair(TextTracks::key_type(kTextTrackNum), | 378 text_tracks.insert(std::make_pair(TextTracks::key_type(kTextTrackNum), |
381 text_track_info)); | 379 TextTrackConfig(kTextSubtitles, "", ""))); |
382 | 380 |
383 parser_.reset(new WebMClusterParser(kTimecodeScale, | 381 parser_.reset(new WebMClusterParser(kTimecodeScale, |
384 kAudioTrackNum, | 382 kAudioTrackNum, |
385 kVideoTrackNum, | 383 kVideoTrackNum, |
386 text_tracks, | 384 text_tracks, |
387 std::set<int64>(), | 385 std::set<int64>(), |
388 std::string(), | 386 std::string(), |
389 std::string(), | 387 std::string(), |
390 LogCB())); | 388 LogCB())); |
391 | 389 |
(...skipping 11 matching lines...) Expand all Loading... |
403 scoped_ptr<Cluster> cluster( | 401 scoped_ptr<Cluster> cluster( |
404 CreateCluster(0, kInputBlockInfo, input_block_count)); | 402 CreateCluster(0, kInputBlockInfo, input_block_count)); |
405 | 403 |
406 int result = parser_->Parse(cluster->data(), cluster->size()); | 404 int result = parser_->Parse(cluster->data(), cluster->size()); |
407 EXPECT_EQ(cluster->size(), result); | 405 EXPECT_EQ(cluster->size(), result); |
408 ASSERT_TRUE(VerifyBuffers(parser_, kInputBlockInfo, input_block_count)); | 406 ASSERT_TRUE(VerifyBuffers(parser_, kInputBlockInfo, input_block_count)); |
409 } | 407 } |
410 | 408 |
411 TEST_F(WebMClusterParserTest, TextTracksSimpleBlock) { | 409 TEST_F(WebMClusterParserTest, TextTracksSimpleBlock) { |
412 typedef WebMTracksParser::TextTracks TextTracks; | 410 typedef WebMTracksParser::TextTracks TextTracks; |
413 TextTracks text_tracks; | 411 WebMTracksParser::TextTracks text_tracks; |
414 WebMTracksParser::TextTrackInfo text_track_info; | |
415 | 412 |
416 text_track_info.kind = kTextSubtitles; | |
417 text_tracks.insert(std::make_pair(TextTracks::key_type(kTextTrackNum), | 413 text_tracks.insert(std::make_pair(TextTracks::key_type(kTextTrackNum), |
418 text_track_info)); | 414 TextTrackConfig(kTextSubtitles, "", ""))); |
419 | 415 |
420 parser_.reset(new WebMClusterParser(kTimecodeScale, | 416 parser_.reset(new WebMClusterParser(kTimecodeScale, |
421 kAudioTrackNum, | 417 kAudioTrackNum, |
422 kVideoTrackNum, | 418 kVideoTrackNum, |
423 text_tracks, | 419 text_tracks, |
424 std::set<int64>(), | 420 std::set<int64>(), |
425 std::string(), | 421 std::string(), |
426 std::string(), | 422 std::string(), |
427 LogCB())); | 423 LogCB())); |
428 | 424 |
429 const BlockInfo kInputBlockInfo[] = { | 425 const BlockInfo kInputBlockInfo[] = { |
430 { kTextTrackNum, 33, 42, true }, | 426 { kTextTrackNum, 33, 42, true }, |
431 }; | 427 }; |
432 int input_block_count = arraysize(kInputBlockInfo); | 428 int input_block_count = arraysize(kInputBlockInfo); |
433 | 429 |
434 scoped_ptr<Cluster> cluster( | 430 scoped_ptr<Cluster> cluster( |
435 CreateCluster(0, kInputBlockInfo, input_block_count)); | 431 CreateCluster(0, kInputBlockInfo, input_block_count)); |
436 | 432 |
437 int result = parser_->Parse(cluster->data(), cluster->size()); | 433 int result = parser_->Parse(cluster->data(), cluster->size()); |
438 EXPECT_LT(result, 0); | 434 EXPECT_LT(result, 0); |
439 } | 435 } |
440 | 436 |
441 TEST_F(WebMClusterParserTest, ParseMultipleTextTracks) { | 437 TEST_F(WebMClusterParserTest, ParseMultipleTextTracks) { |
442 typedef WebMTracksParser::TextTracks TextTracks; | 438 typedef WebMTracksParser::TextTracks TextTracks; |
443 TextTracks text_tracks; | 439 TextTracks text_tracks; |
444 WebMTracksParser::TextTrackInfo text_track_info; | |
445 | 440 |
446 const int kSubtitleTextTrackNum = kTextTrackNum; | 441 const int kSubtitleTextTrackNum = kTextTrackNum; |
447 const int kCaptionTextTrackNum = kTextTrackNum + 1; | 442 const int kCaptionTextTrackNum = kTextTrackNum + 1; |
448 | 443 |
449 text_track_info.kind = kTextSubtitles; | |
450 text_tracks.insert(std::make_pair(TextTracks::key_type(kSubtitleTextTrackNum), | 444 text_tracks.insert(std::make_pair(TextTracks::key_type(kSubtitleTextTrackNum), |
451 text_track_info)); | 445 TextTrackConfig(kTextSubtitles, "", ""))); |
452 | 446 |
453 text_track_info.kind = kTextCaptions; | |
454 text_tracks.insert(std::make_pair(TextTracks::key_type(kCaptionTextTrackNum), | 447 text_tracks.insert(std::make_pair(TextTracks::key_type(kCaptionTextTrackNum), |
455 text_track_info)); | 448 TextTrackConfig(kTextCaptions, "", ""))); |
456 | 449 |
457 parser_.reset(new WebMClusterParser(kTimecodeScale, | 450 parser_.reset(new WebMClusterParser(kTimecodeScale, |
458 kAudioTrackNum, | 451 kAudioTrackNum, |
459 kVideoTrackNum, | 452 kVideoTrackNum, |
460 text_tracks, | 453 text_tracks, |
461 std::set<int64>(), | 454 std::set<int64>(), |
462 std::string(), | 455 std::string(), |
463 std::string(), | 456 std::string(), |
464 LogCB())); | 457 LogCB())); |
465 | 458 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
524 WebMTracksParser::TextTracks(), | 517 WebMTracksParser::TextTracks(), |
525 std::set<int64>(), | 518 std::set<int64>(), |
526 std::string(), | 519 std::string(), |
527 "video_key_id", | 520 "video_key_id", |
528 LogCB())); | 521 LogCB())); |
529 int result = parser_->Parse(cluster->data(), cluster->size()); | 522 int result = parser_->Parse(cluster->data(), cluster->size()); |
530 EXPECT_EQ(-1, result); | 523 EXPECT_EQ(-1, result); |
531 } | 524 } |
532 | 525 |
533 } // namespace media | 526 } // namespace media |
OLD | NEW |