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

Side by Side Diff: media/formats/mp2t/mp2t_stream_parser_unittest.cc

Issue 1833053005: Remove MediaTracks::getFirstAudio/VideoConfig (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@track-control
Patch Set: Avoid crashes in tests Created 4 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 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/mp2t/mp2t_stream_parser.h" 5 #include "media/formats/mp2t/mp2t_stream_parser.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 return true; 111 return true;
112 } 112 }
113 113
114 void OnInit(const StreamParser::InitParameters& params) { 114 void OnInit(const StreamParser::InitParameters& params) {
115 DVLOG(1) << "OnInit: dur=" << params.duration.InMilliseconds() 115 DVLOG(1) << "OnInit: dur=" << params.duration.InMilliseconds()
116 << ", autoTimestampOffset=" << params.auto_update_timestamp_offset; 116 << ", autoTimestampOffset=" << params.auto_update_timestamp_offset;
117 } 117 }
118 118
119 bool OnNewConfig(std::unique_ptr<MediaTracks> tracks, 119 bool OnNewConfig(std::unique_ptr<MediaTracks> tracks,
120 const StreamParser::TextTrackConfigMap& tc) { 120 const StreamParser::TextTrackConfigMap& tc) {
121 const AudioDecoderConfig& ac = tracks->getFirstAudioConfig(); 121 DVLOG(1) << "OnNewConfig: got " << tracks->tracks().size() << " tracks";
122 const VideoDecoderConfig& vc = tracks->getFirstVideoConfig(); 122 bool found_audio_track = false;
123 DVLOG(1) << "OnNewConfig: media tracks count=" << tracks->tracks().size() 123 bool found_video_track = false;
124 << ", audio=" << ac.IsValidConfig() 124 for (const auto& track : tracks->tracks()) {
125 << ", video=" << vc.IsValidConfig(); 125 const auto& track_id = track->bytestream_track_id();
126 if (track->type() == MediaTrack::Audio) {
127 found_audio_track = true;
128 EXPECT_TRUE(tracks->getAudioConfig(track_id).IsValidConfig());
129 } else if (track->type() == MediaTrack::Video) {
130 found_video_track = true;
131 EXPECT_TRUE(tracks->getVideoConfig(track_id).IsValidConfig());
132 } else {
133 // Unexpected track type.
134 LOG(ERROR) << "Unexpected track type " << track->type();
135 EXPECT_TRUE(false);
136 }
137 }
138 EXPECT_TRUE(found_audio_track);
139 EXPECT_EQ(has_video_, found_video_track);
126 config_count_++; 140 config_count_++;
127 EXPECT_TRUE(ac.IsValidConfig());
128 EXPECT_EQ(vc.IsValidConfig(), has_video_);
129 return true; 141 return true;
130 } 142 }
131 143
132 144
133 void DumpBuffers(const std::string& label, 145 void DumpBuffers(const std::string& label,
134 const StreamParser::BufferQueue& buffers) { 146 const StreamParser::BufferQueue& buffers) {
135 DVLOG(2) << "DumpBuffers: " << label << " size " << buffers.size(); 147 DVLOG(2) << "DumpBuffers: " << label << " size " << buffers.size();
136 for (StreamParser::BufferQueue::const_iterator buf = buffers.begin(); 148 for (StreamParser::BufferQueue::const_iterator buf = buffers.begin();
137 buf != buffers.end(); buf++) { 149 buf != buffers.end(); buf++) {
138 DVLOG(3) << " n=" << buf - buffers.begin() 150 DVLOG(3) << " n=" << buf - buffers.begin()
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 audio_max_dts_ = last_dts; 190 audio_max_dts_ = last_dts;
179 } 191 }
180 192
181 audio_frame_count_ += audio_buffers.size(); 193 audio_frame_count_ += audio_buffers.size();
182 video_frame_count_ += video_buffers.size(); 194 video_frame_count_ += video_buffers.size();
183 return true; 195 return true;
184 } 196 }
185 197
186 void OnKeyNeeded(EmeInitDataType type, 198 void OnKeyNeeded(EmeInitDataType type,
187 const std::vector<uint8_t>& init_data) { 199 const std::vector<uint8_t>& init_data) {
188 NOTREACHED() << "OnKeyNeeded not expected in the Mpeg2 TS parser"; 200 LOG(ERROR) << "OnKeyNeeded not expected in the Mpeg2 TS parser";
201 EXPECT_TRUE(false);
189 } 202 }
190 203
191 void OnNewSegment() { 204 void OnNewSegment() {
192 DVLOG(1) << "OnNewSegment"; 205 DVLOG(1) << "OnNewSegment";
193 segment_count_++; 206 segment_count_++;
194 } 207 }
195 208
196 void OnEndOfSegment() { 209 void OnEndOfSegment() {
197 NOTREACHED() << "OnEndOfSegment not expected in the Mpeg2 TS parser"; 210 LOG(ERROR) << "OnEndOfSegment not expected in the Mpeg2 TS parser";
211 EXPECT_TRUE(false);
198 } 212 }
199 213
200 void InitializeParser() { 214 void InitializeParser() {
201 parser_->Init( 215 parser_->Init(
202 base::Bind(&Mp2tStreamParserTest::OnInit, base::Unretained(this)), 216 base::Bind(&Mp2tStreamParserTest::OnInit, base::Unretained(this)),
203 base::Bind(&Mp2tStreamParserTest::OnNewConfig, base::Unretained(this)), 217 base::Bind(&Mp2tStreamParserTest::OnNewConfig, base::Unretained(this)),
204 base::Bind(&Mp2tStreamParserTest::OnNewBuffers, base::Unretained(this)), 218 base::Bind(&Mp2tStreamParserTest::OnNewBuffers, base::Unretained(this)),
205 true, 219 true,
206 base::Bind(&Mp2tStreamParserTest::OnKeyNeeded, base::Unretained(this)), 220 base::Bind(&Mp2tStreamParserTest::OnKeyNeeded, base::Unretained(this)),
207 base::Bind(&Mp2tStreamParserTest::OnNewSegment, base::Unretained(this)), 221 base::Bind(&Mp2tStreamParserTest::OnNewSegment, base::Unretained(this)),
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 parser_->Flush(); 311 parser_->Flush();
298 EXPECT_EQ(audio_frame_count_, 40); 312 EXPECT_EQ(audio_frame_count_, 40);
299 EXPECT_EQ(video_frame_count_, 0); 313 EXPECT_EQ(video_frame_count_, 0);
300 // This stream has no mid-stream configuration change. 314 // This stream has no mid-stream configuration change.
301 EXPECT_EQ(config_count_, 1); 315 EXPECT_EQ(config_count_, 1);
302 EXPECT_EQ(segment_count_, 1); 316 EXPECT_EQ(segment_count_, 1);
303 } 317 }
304 318
305 } // namespace mp2t 319 } // namespace mp2t
306 } // namespace media 320 } // namespace media
OLDNEW
« no previous file with comments | « media/formats/mp2t/mp2t_stream_parser.cc ('k') | media/formats/mp4/mp4_stream_parser_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698