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

Side by Side Diff: media/filters/source_buffer_state_unittest.cc

Issue 2815303006: Convert MediaLog from being ref counted to owned by WebMediaPlayer. (Closed)
Patch Set: Rebase. Created 3 years, 8 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/filters/source_buffer_state.cc ('k') | media/filters/source_buffer_stream.h » ('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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/filters/source_buffer_state.h" 5 #include "media/filters/source_buffer_state.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 } 48 }
49 49
50 void InvokeCbAndSaveResult(const base::Callback<bool()>& cb, bool* result) { 50 void InvokeCbAndSaveResult(const base::Callback<bool()>& cb, bool* result) {
51 DCHECK(result); 51 DCHECK(result);
52 *result = cb.Run(); 52 *result = cb.Run();
53 } 53 }
54 } 54 }
55 55
56 class SourceBufferStateTest : public ::testing::Test { 56 class SourceBufferStateTest : public ::testing::Test {
57 public: 57 public:
58 SourceBufferStateTest() 58 SourceBufferStateTest() : mock_stream_parser_(nullptr) {}
59 : media_log_(new testing::StrictMock<MockMediaLog>()),
60 mock_stream_parser_(nullptr) {}
61 59
62 std::unique_ptr<SourceBufferState> CreateSourceBufferState() { 60 std::unique_ptr<SourceBufferState> CreateSourceBufferState() {
63 std::unique_ptr<FrameProcessor> frame_processor = base::WrapUnique( 61 std::unique_ptr<FrameProcessor> frame_processor = base::WrapUnique(
64 new FrameProcessor(base::Bind(&SourceBufferStateTest::OnUpdateDuration, 62 new FrameProcessor(base::Bind(&SourceBufferStateTest::OnUpdateDuration,
65 base::Unretained(this)), 63 base::Unretained(this)),
66 media_log_)); 64 &media_log_));
67 mock_stream_parser_ = new testing::StrictMock<MockStreamParser>(); 65 mock_stream_parser_ = new testing::StrictMock<MockStreamParser>();
68 return base::WrapUnique(new SourceBufferState( 66 return base::WrapUnique(new SourceBufferState(
69 base::WrapUnique(mock_stream_parser_), std::move(frame_processor), 67 base::WrapUnique(mock_stream_parser_), std::move(frame_processor),
70 base::Bind(&SourceBufferStateTest::CreateDemuxerStream, 68 base::Bind(&SourceBufferStateTest::CreateDemuxerStream,
71 base::Unretained(this)), 69 base::Unretained(this)),
72 media_log_)); 70 &media_log_));
73 } 71 }
74 72
75 std::unique_ptr<SourceBufferState> CreateAndInitSourceBufferState( 73 std::unique_ptr<SourceBufferState> CreateAndInitSourceBufferState(
76 const std::string& expected_codecs) { 74 const std::string& expected_codecs) {
77 std::unique_ptr<SourceBufferState> sbs = CreateSourceBufferState(); 75 std::unique_ptr<SourceBufferState> sbs = CreateSourceBufferState();
78 EXPECT_CALL(*mock_stream_parser_, Init(_, _, _, _, _, _, _, _)) 76 EXPECT_CALL(*mock_stream_parser_, Init(_, _, _, _, _, _, _, _))
79 .WillOnce(SaveArg<1>(&new_config_cb_)); 77 .WillOnce(SaveArg<1>(&new_config_cb_));
80 sbs->Init(base::Bind(&SourceBufferStateTest::SourceInitDone, 78 sbs->Init(base::Bind(&SourceBufferStateTest::SourceInitDone,
81 base::Unretained(this)), 79 base::Unretained(this)),
82 expected_codecs, 80 expected_codecs,
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 MediaTracksUpdatedMock(tracks); 123 MediaTracksUpdatedMock(tracks);
126 } 124 }
127 125
128 ChunkDemuxerStream* CreateDemuxerStream(DemuxerStream::Type type) { 126 ChunkDemuxerStream* CreateDemuxerStream(DemuxerStream::Type type) {
129 static unsigned track_id = 0; 127 static unsigned track_id = 0;
130 demuxer_streams_.push_back(base::WrapUnique( 128 demuxer_streams_.push_back(base::WrapUnique(
131 new ChunkDemuxerStream(type, base::UintToString(++track_id)))); 129 new ChunkDemuxerStream(type, base::UintToString(++track_id))));
132 return demuxer_streams_.back().get(); 130 return demuxer_streams_.back().get();
133 } 131 }
134 132
135 scoped_refptr<testing::StrictMock<MockMediaLog>> media_log_; 133 testing::StrictMock<MockMediaLog> media_log_;
136 std::vector<std::unique_ptr<ChunkDemuxerStream>> demuxer_streams_; 134 std::vector<std::unique_ptr<ChunkDemuxerStream>> demuxer_streams_;
137 MockStreamParser* mock_stream_parser_; 135 MockStreamParser* mock_stream_parser_;
138 StreamParser::NewConfigCB new_config_cb_; 136 StreamParser::NewConfigCB new_config_cb_;
139 }; 137 };
140 138
141 TEST_F(SourceBufferStateTest, InitSingleAudioTrack) { 139 TEST_F(SourceBufferStateTest, InitSingleAudioTrack) {
142 std::unique_ptr<SourceBufferState> sbs = 140 std::unique_ptr<SourceBufferState> sbs =
143 CreateAndInitSourceBufferState("vorbis"); 141 CreateAndInitSourceBufferState("vorbis");
144 142
145 std::unique_ptr<MediaTracks> tracks(new MediaTracks()); 143 std::unique_ptr<MediaTracks> tracks(new MediaTracks());
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 323
326 // Track ids are swapped in the second init segment. 324 // Track ids are swapped in the second init segment.
327 std::unique_ptr<MediaTracks> tracks2(new MediaTracks()); 325 std::unique_ptr<MediaTracks> tracks2(new MediaTracks());
328 AddAudioTrack(tracks2, kCodecOpus, 2); 326 AddAudioTrack(tracks2, kCodecOpus, 2);
329 AddVideoTrack(tracks2, kCodecVP9, 1); 327 AddVideoTrack(tracks2, kCodecVP9, 1);
330 EXPECT_CALL(*this, MediaTracksUpdatedMock(_)); 328 EXPECT_CALL(*this, MediaTracksUpdatedMock(_));
331 AppendDataAndReportTracks(sbs, std::move(tracks2)); 329 AppendDataAndReportTracks(sbs, std::move(tracks2));
332 } 330 }
333 331
334 } // namespace media 332 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/source_buffer_state.cc ('k') | media/filters/source_buffer_stream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698