| OLD | NEW |
| 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_cluster_parser.h" | 5 #include "media/formats/webm/webm_cluster_parser.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/sys_byteorder.h" | 10 #include "base/sys_byteorder.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 int audio_track_num, | 36 int audio_track_num, |
| 37 base::TimeDelta audio_default_duration, | 37 base::TimeDelta audio_default_duration, |
| 38 int video_track_num, | 38 int video_track_num, |
| 39 base::TimeDelta video_default_duration, | 39 base::TimeDelta video_default_duration, |
| 40 const WebMTracksParser::TextTracks& text_tracks, | 40 const WebMTracksParser::TextTracks& text_tracks, |
| 41 const std::set<int64>& ignored_tracks, | 41 const std::set<int64>& ignored_tracks, |
| 42 const std::string& audio_encryption_key_id, | 42 const std::string& audio_encryption_key_id, |
| 43 const std::string& video_encryption_key_id, | 43 const std::string& video_encryption_key_id, |
| 44 const AudioCodec audio_codec, | 44 const AudioCodec audio_codec, |
| 45 const scoped_refptr<MediaLog>& media_log) | 45 const scoped_refptr<MediaLog>& media_log) |
| 46 : num_duration_errors_(0), | 46 : timecode_multiplier_(timecode_scale / 1000.0), |
| 47 timecode_multiplier_(timecode_scale / 1000.0), | |
| 48 ignored_tracks_(ignored_tracks), | 47 ignored_tracks_(ignored_tracks), |
| 49 audio_encryption_key_id_(audio_encryption_key_id), | 48 audio_encryption_key_id_(audio_encryption_key_id), |
| 50 video_encryption_key_id_(video_encryption_key_id), | 49 video_encryption_key_id_(video_encryption_key_id), |
| 51 audio_codec_(audio_codec), | 50 audio_codec_(audio_codec), |
| 52 parser_(kWebMIdCluster, this), | 51 parser_(kWebMIdCluster, this), |
| 53 last_block_timecode_(-1), | |
| 54 block_data_size_(-1), | |
| 55 block_duration_(-1), | |
| 56 block_add_id_(-1), | |
| 57 block_additional_data_size_(0), | |
| 58 discard_padding_(-1), | |
| 59 cluster_timecode_(-1), | |
| 60 cluster_start_time_(kNoTimestamp()), | 52 cluster_start_time_(kNoTimestamp()), |
| 61 cluster_ended_(false), | |
| 62 audio_(audio_track_num, false, audio_default_duration, media_log), | 53 audio_(audio_track_num, false, audio_default_duration, media_log), |
| 63 video_(video_track_num, true, video_default_duration, media_log), | 54 video_(video_track_num, true, video_default_duration, media_log), |
| 64 ready_buffer_upper_bound_(kNoDecodeTimestamp()), | 55 ready_buffer_upper_bound_(kNoDecodeTimestamp()), |
| 65 media_log_(media_log) { | 56 media_log_(media_log) { |
| 66 for (WebMTracksParser::TextTracks::const_iterator it = text_tracks.begin(); | 57 for (WebMTracksParser::TextTracks::const_iterator it = text_tracks.begin(); |
| 67 it != text_tracks.end(); | 58 it != text_tracks.end(); |
| 68 ++it) { | 59 ++it) { |
| 69 text_track_map_.insert(std::make_pair( | 60 text_track_map_.insert(std::make_pair( |
| 70 it->first, Track(it->first, false, kNoTimestamp(), media_log_))); | 61 it->first, Track(it->first, false, kNoTimestamp(), media_log_))); |
| 71 } | 62 } |
| (...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 589 base::TimeDelta::FromMicroseconds(discard_padding / 1000))); | 580 base::TimeDelta::FromMicroseconds(discard_padding / 1000))); |
| 590 } | 581 } |
| 591 | 582 |
| 592 return track->AddBuffer(buffer); | 583 return track->AddBuffer(buffer); |
| 593 } | 584 } |
| 594 | 585 |
| 595 WebMClusterParser::Track::Track(int track_num, | 586 WebMClusterParser::Track::Track(int track_num, |
| 596 bool is_video, | 587 bool is_video, |
| 597 base::TimeDelta default_duration, | 588 base::TimeDelta default_duration, |
| 598 const scoped_refptr<MediaLog>& media_log) | 589 const scoped_refptr<MediaLog>& media_log) |
| 599 : num_duration_estimates_(0), | 590 : track_num_(track_num), |
| 600 track_num_(track_num), | |
| 601 is_video_(is_video), | 591 is_video_(is_video), |
| 602 default_duration_(default_duration), | 592 default_duration_(default_duration), |
| 603 estimated_next_frame_duration_(kNoTimestamp()), | 593 estimated_next_frame_duration_(kNoTimestamp()), |
| 604 media_log_(media_log) { | 594 media_log_(media_log) { |
| 605 DCHECK(default_duration_ == kNoTimestamp() || | 595 DCHECK(default_duration_ == kNoTimestamp() || |
| 606 default_duration_ > base::TimeDelta()); | 596 default_duration_ > base::TimeDelta()); |
| 607 } | 597 } |
| 608 | 598 |
| 609 WebMClusterParser::Track::~Track() {} | 599 WebMClusterParser::Track::~Track() {} |
| 610 | 600 |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 882 WebMClusterParser::FindTextTrack(int track_num) { | 872 WebMClusterParser::FindTextTrack(int track_num) { |
| 883 const TextTrackMap::iterator it = text_track_map_.find(track_num); | 873 const TextTrackMap::iterator it = text_track_map_.find(track_num); |
| 884 | 874 |
| 885 if (it == text_track_map_.end()) | 875 if (it == text_track_map_.end()) |
| 886 return NULL; | 876 return NULL; |
| 887 | 877 |
| 888 return &it->second; | 878 return &it->second; |
| 889 } | 879 } |
| 890 | 880 |
| 891 } // namespace media | 881 } // namespace media |
| OLD | NEW |