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

Side by Side Diff: media/base/pipeline_impl.h

Issue 6648004: DemuxerFactory is born! (Closed)
Patch Set: Created 9 years, 9 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // Implementation of Pipeline. 5 // Implementation of Pipeline.
6 6
7 #ifndef MEDIA_BASE_PIPELINE_IMPL_H_ 7 #ifndef MEDIA_BASE_PIPELINE_IMPL_H_
8 #define MEDIA_BASE_PIPELINE_IMPL_H_ 8 #define MEDIA_BASE_PIPELINE_IMPL_H_
9 9
10 #include <set> 10 #include <set>
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 virtual bool IsLoaded() const; 93 virtual bool IsLoaded() const;
94 virtual PipelineError GetError() const; 94 virtual PipelineError GetError() const;
95 virtual PipelineStatistics GetStatistics() const; 95 virtual PipelineStatistics GetStatistics() const;
96 96
97 void SetClockForTesting(Clock* clock); 97 void SetClockForTesting(Clock* clock);
98 98
99 private: 99 private:
100 // Pipeline states, as described above. 100 // Pipeline states, as described above.
101 enum State { 101 enum State {
102 kCreated, 102 kCreated,
103 kInitDataSource,
104 kInitDemuxer, 103 kInitDemuxer,
105 kInitAudioDecoder, 104 kInitAudioDecoder,
106 kInitAudioRenderer, 105 kInitAudioRenderer,
107 kInitVideoDecoder, 106 kInitVideoDecoder,
108 kInitVideoRenderer, 107 kInitVideoRenderer,
109 kPausing, 108 kPausing,
110 kSeeking, 109 kSeeking,
111 kFlushing, 110 kFlushing,
112 kStarting, 111 kStarting,
113 kStarted, 112 kStarted,
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 243
245 // Internal methods used in the implementation of the pipeline thread. All 244 // Internal methods used in the implementation of the pipeline thread. All
246 // of these methods are only called on the pipeline thread. 245 // of these methods are only called on the pipeline thread.
247 246
248 // PrepareFilter() creates the filter's thread and injects a FilterHost and 247 // PrepareFilter() creates the filter's thread and injects a FilterHost and
249 // MessageLoop. 248 // MessageLoop.
250 bool PrepareFilter(scoped_refptr<Filter> filter); 249 bool PrepareFilter(scoped_refptr<Filter> filter);
251 250
252 // The following initialize methods are used to select a specific type of 251 // The following initialize methods are used to select a specific type of
253 // Filter object from FilterCollection and initialize it asynchronously. 252 // Filter object from FilterCollection and initialize it asynchronously.
254 void InitializeDataSource(); 253 void InitializeDemuxer();
255 void OnDataSourceBuilt(PipelineError error, DataSource* data_source); 254 void OnDemuxerBuilt(PipelineError error, Demuxer* demuxer);
256
257 void InitializeDemuxer(const scoped_refptr<DataSource>& data_source);
258 255
259 // Returns true if the asynchronous action of creating decoder has started. 256 // Returns true if the asynchronous action of creating decoder has started.
260 // Returns false if this method did nothing because the corresponding 257 // Returns false if this method did nothing because the corresponding
261 // audio/video stream does not exist. 258 // audio/video stream does not exist.
262 bool InitializeAudioDecoder(const scoped_refptr<Demuxer>& demuxer); 259 bool InitializeAudioDecoder(const scoped_refptr<Demuxer>& demuxer);
263 bool InitializeVideoDecoder(const scoped_refptr<Demuxer>& demuxer); 260 bool InitializeVideoDecoder(const scoped_refptr<Demuxer>& demuxer);
264 261
265 // Initializes a renderer and connects it with decoder. Returns true if the 262 // Initializes a renderer and connects it with decoder. Returns true if the
266 // asynchronous action of creating renderer has started. Returns 263 // asynchronous action of creating renderer has started. Returns
267 // false if this method did nothing because the corresponding audio/video 264 // false if this method did nothing because the corresponding audio/video
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 PipelineStatistics statistics_; 414 PipelineStatistics statistics_;
418 415
419 FRIEND_TEST_ALL_PREFIXES(PipelineImplTest, GetBufferedTime); 416 FRIEND_TEST_ALL_PREFIXES(PipelineImplTest, GetBufferedTime);
420 417
421 DISALLOW_COPY_AND_ASSIGN(PipelineImpl); 418 DISALLOW_COPY_AND_ASSIGN(PipelineImpl);
422 }; 419 };
423 420
424 } // namespace media 421 } // namespace media
425 422
426 #endif // MEDIA_BASE_PIPELINE_IMPL_H_ 423 #endif // MEDIA_BASE_PIPELINE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698