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

Side by Side Diff: media/formats/common/stream_parser_test_base.cc

Issue 2239013002: Assign correct track ids to buffers emitted from StreamParsers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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
« no previous file with comments | « media/formats/common/stream_parser_test_base.h ('k') | media/formats/mp2t/es_parser_adts.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/common/stream_parser_test_base.h" 5 #include "media/formats/common/stream_parser_test_base.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 << params.auto_update_timestamp_offset << ")"; 86 << params.auto_update_timestamp_offset << ")";
87 } 87 }
88 88
89 bool StreamParserTestBase::OnNewConfig( 89 bool StreamParserTestBase::OnNewConfig(
90 std::unique_ptr<MediaTracks> tracks, 90 std::unique_ptr<MediaTracks> tracks,
91 const StreamParser::TextTrackConfigMap& text_config) { 91 const StreamParser::TextTrackConfigMap& text_config) {
92 DVLOG(1) << __FUNCTION__ << ": got " << tracks->tracks().size() << " tracks"; 92 DVLOG(1) << __FUNCTION__ << ": got " << tracks->tracks().size() << " tracks";
93 EXPECT_EQ(tracks->tracks().size(), 1u); 93 EXPECT_EQ(tracks->tracks().size(), 1u);
94 const auto& track = tracks->tracks()[0]; 94 const auto& track = tracks->tracks()[0];
95 EXPECT_EQ(track->type(), MediaTrack::Audio); 95 EXPECT_EQ(track->type(), MediaTrack::Audio);
96 audio_track_id_ = track->bytestream_track_id();
96 last_audio_config_ = tracks->getAudioConfig(track->bytestream_track_id()); 97 last_audio_config_ = tracks->getAudioConfig(track->bytestream_track_id());
97 EXPECT_TRUE(last_audio_config_.IsValidConfig()); 98 EXPECT_TRUE(last_audio_config_.IsValidConfig());
98 return true; 99 return true;
99 } 100 }
100 101
101 bool StreamParserTestBase::OnNewBuffers( 102 bool StreamParserTestBase::OnNewBuffers(
102 const StreamParser::BufferQueue& audio_buffers, 103 const StreamParser::BufferQueue& audio_buffers,
103 const StreamParser::BufferQueue& video_buffers, 104 const StreamParser::BufferQueue& video_buffers,
104 const StreamParser::TextBufferQueueMap& text_map) { 105 const StreamParser::TextBufferQueueMap& text_map) {
105 EXPECT_FALSE(audio_buffers.empty()); 106 EXPECT_FALSE(audio_buffers.empty());
106 EXPECT_TRUE(video_buffers.empty()); 107 EXPECT_TRUE(video_buffers.empty());
107 108
109 // Ensure that track ids are properly assigned on all emitted buffers.
110 for (const auto& buf : audio_buffers) {
111 EXPECT_EQ(audio_track_id_, buf->track_id());
112 }
113
108 // TODO(wolenetz/acolwell): Add text track support to more MSE parsers. See 114 // TODO(wolenetz/acolwell): Add text track support to more MSE parsers. See
109 // http://crbug.com/336926. 115 // http://crbug.com/336926.
110 EXPECT_TRUE(text_map.empty()); 116 EXPECT_TRUE(text_map.empty());
111 117
112 const std::string buffers_str = BufferQueueToString(audio_buffers); 118 const std::string buffers_str = BufferQueueToString(audio_buffers);
113 DVLOG(1) << __FUNCTION__ << " : " << buffers_str; 119 DVLOG(1) << __FUNCTION__ << " : " << buffers_str;
114 results_stream_ << buffers_str; 120 results_stream_ << buffers_str;
115 return true; 121 return true;
116 } 122 }
117 123
118 void StreamParserTestBase::OnKeyNeeded(EmeInitDataType type, 124 void StreamParserTestBase::OnKeyNeeded(EmeInitDataType type,
119 const std::vector<uint8_t>& init_data) { 125 const std::vector<uint8_t>& init_data) {
120 DVLOG(1) << __FUNCTION__ << "(" << static_cast<int>(type) << ", " 126 DVLOG(1) << __FUNCTION__ << "(" << static_cast<int>(type) << ", "
121 << init_data.size() << ")"; 127 << init_data.size() << ")";
122 } 128 }
123 129
124 void StreamParserTestBase::OnNewSegment() { 130 void StreamParserTestBase::OnNewSegment() {
125 DVLOG(1) << __FUNCTION__; 131 DVLOG(1) << __FUNCTION__;
126 results_stream_ << "NewSegment"; 132 results_stream_ << "NewSegment";
127 } 133 }
128 134
129 void StreamParserTestBase::OnEndOfSegment() { 135 void StreamParserTestBase::OnEndOfSegment() {
130 DVLOG(1) << __FUNCTION__; 136 DVLOG(1) << __FUNCTION__;
131 results_stream_ << "EndOfSegment"; 137 results_stream_ << "EndOfSegment";
132 } 138 }
133 139
134 } // namespace media 140 } // namespace media
OLDNEW
« no previous file with comments | « media/formats/common/stream_parser_test_base.h ('k') | media/formats/mp2t/es_parser_adts.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698