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

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

Issue 2093007: Chromium side changes for enabling VP8 and WebM support. (Closed)
Patch Set: Final fixes Created 10 years, 7 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/ffmpeg_demuxer.cc ('k') | net/base/mime_util.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 (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <deque> 5 #include <deque>
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/thread.h" 8 #include "base/thread.h"
9 #include "media/base/filters.h" 9 #include "media/base/filters.h"
10 #include "media/base/mock_ffmpeg.h" 10 #include "media/base/mock_ffmpeg.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 demuxer_ = factory_->Create<FFmpegDemuxer>(media_format); 72 demuxer_ = factory_->Create<FFmpegDemuxer>(media_format);
73 DCHECK(demuxer_); 73 DCHECK(demuxer_);
74 74
75 // Inject a filter host and message loop and prepare a data source. 75 // Inject a filter host and message loop and prepare a data source.
76 demuxer_->set_host(&host_); 76 demuxer_->set_host(&host_);
77 demuxer_->set_message_loop(&message_loop_); 77 demuxer_->set_message_loop(&message_loop_);
78 data_source_ = new StrictMock<MockDataSource>(); 78 data_source_ = new StrictMock<MockDataSource>();
79 79
80 // Initialize FFmpeg fixtures. 80 // Initialize FFmpeg fixtures.
81 memset(&format_context_, 0, sizeof(format_context_)); 81 memset(&format_context_, 0, sizeof(format_context_));
82 memset(&input_format_, 0, sizeof(input_format_));
82 memset(&streams_, 0, sizeof(streams_)); 83 memset(&streams_, 0, sizeof(streams_));
83 memset(&codecs_, 0, sizeof(codecs_)); 84 memset(&codecs_, 0, sizeof(codecs_));
84 85
85 // Initialize AVCodecContext structures. 86 // Initialize AVCodecContext structures.
86 codecs_[AV_STREAM_DATA].codec_type = CODEC_TYPE_DATA; 87 codecs_[AV_STREAM_DATA].codec_type = CODEC_TYPE_DATA;
87 codecs_[AV_STREAM_DATA].codec_id = CODEC_ID_NONE; 88 codecs_[AV_STREAM_DATA].codec_id = CODEC_ID_NONE;
88 89
89 codecs_[AV_STREAM_VIDEO].codec_type = CODEC_TYPE_VIDEO; 90 codecs_[AV_STREAM_VIDEO].codec_type = CODEC_TYPE_VIDEO;
90 codecs_[AV_STREAM_VIDEO].codec_id = CODEC_ID_THEORA; 91 codecs_[AV_STREAM_VIDEO].codec_id = CODEC_ID_THEORA;
91 codecs_[AV_STREAM_VIDEO].width = kWidth; 92 codecs_[AV_STREAM_VIDEO].width = kWidth;
92 codecs_[AV_STREAM_VIDEO].height = kHeight; 93 codecs_[AV_STREAM_VIDEO].height = kHeight;
93 94
94 codecs_[AV_STREAM_AUDIO].codec_type = CODEC_TYPE_AUDIO; 95 codecs_[AV_STREAM_AUDIO].codec_type = CODEC_TYPE_AUDIO;
95 codecs_[AV_STREAM_AUDIO].codec_id = CODEC_ID_VORBIS; 96 codecs_[AV_STREAM_AUDIO].codec_id = CODEC_ID_VORBIS;
96 codecs_[AV_STREAM_AUDIO].channels = kChannels; 97 codecs_[AV_STREAM_AUDIO].channels = kChannels;
97 codecs_[AV_STREAM_AUDIO].sample_rate = kSampleRate; 98 codecs_[AV_STREAM_AUDIO].sample_rate = kSampleRate;
98 99
100 input_format_.name = "foo";
101 format_context_.iformat = &input_format_;
102
99 // Initialize AVStream and AVFormatContext structures. We set the time base 103 // Initialize AVStream and AVFormatContext structures. We set the time base
100 // of the streams such that duration is reported in microseconds. 104 // of the streams such that duration is reported in microseconds.
101 format_context_.nb_streams = AV_STREAM_MAX; 105 format_context_.nb_streams = AV_STREAM_MAX;
102 for (size_t i = 0; i < AV_STREAM_MAX; ++i) { 106 for (size_t i = 0; i < AV_STREAM_MAX; ++i) {
103 format_context_.streams[i] = &streams_[i]; 107 format_context_.streams[i] = &streams_[i];
104 streams_[i].codec = &codecs_[i]; 108 streams_[i].codec = &codecs_[i];
105 streams_[i].duration = kDurations[i]; 109 streams_[i].duration = kDurations[i];
106 streams_[i].time_base.den = 1 * base::Time::kMicrosecondsPerSecond; 110 streams_[i].time_base.den = 1 * base::Time::kMicrosecondsPerSecond;
107 streams_[i].time_base.num = 1; 111 streams_[i].time_base.num = 1;
108 } 112 }
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 // Fixture members. 159 // Fixture members.
156 scoped_refptr<FilterFactory> factory_; 160 scoped_refptr<FilterFactory> factory_;
157 scoped_refptr<FFmpegDemuxer> demuxer_; 161 scoped_refptr<FFmpegDemuxer> demuxer_;
158 scoped_refptr<StrictMock<MockDataSource> > data_source_; 162 scoped_refptr<StrictMock<MockDataSource> > data_source_;
159 StrictMock<MockFilterHost> host_; 163 StrictMock<MockFilterHost> host_;
160 StrictMock<MockFilterCallback> callback_; 164 StrictMock<MockFilterCallback> callback_;
161 MessageLoop message_loop_; 165 MessageLoop message_loop_;
162 166
163 // FFmpeg fixtures. 167 // FFmpeg fixtures.
164 AVFormatContext format_context_; 168 AVFormatContext format_context_;
169 AVInputFormat input_format_;
165 AVCodecContext codecs_[AV_STREAM_MAX]; 170 AVCodecContext codecs_[AV_STREAM_MAX];
166 AVStream streams_[AV_STREAM_MAX]; 171 AVStream streams_[AV_STREAM_MAX];
167 MockFFmpeg mock_ffmpeg_; 172 MockFFmpeg mock_ffmpeg_;
168 173
169 private: 174 private:
170 DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxerTest); 175 DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxerTest);
171 }; 176 };
172 177
173 // These durations are picked so that the demuxer chooses the longest supported 178 // These durations are picked so that the demuxer chooses the longest supported
174 // stream, which would be 30 in this case for the audio stream. 179 // stream, which would be 30 in this case for the audio stream.
(...skipping 614 matching lines...) Expand 10 before | Expand all | Expand 10 after
789 { 794 {
790 SCOPED_TRACE(""); 795 SCOPED_TRACE("");
791 InitializeDemuxer(); 796 InitializeDemuxer();
792 } 797 }
793 EXPECT_CALL(*data_source_, IsStreaming()) 798 EXPECT_CALL(*data_source_, IsStreaming())
794 .WillOnce(Return(false)); 799 .WillOnce(Return(false));
795 EXPECT_FALSE(demuxer_->IsStreaming()); 800 EXPECT_FALSE(demuxer_->IsStreaming());
796 } 801 }
797 802
798 } // namespace media 803 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/ffmpeg_demuxer.cc ('k') | net/base/mime_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698