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

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

Issue 13813016: Remove reference counting from media::Demuxer and friends. (Closed) Base URL: http://git.chromium.org/chromium/src.git@vd_scoped
Patch Set: fix tools Created 7 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef MEDIA_BASE_FILTER_COLLECTION_H_ 5 #ifndef MEDIA_BASE_FILTER_COLLECTION_H_
6 #define MEDIA_BASE_FILTER_COLLECTION_H_ 6 #define MEDIA_BASE_FILTER_COLLECTION_H_
7 7
8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
10 #include "media/base/media_export.h" 9 #include "media/base/media_export.h"
11 10
12 namespace media { 11 namespace media {
13 12
14 class AudioRenderer; 13 class AudioRenderer;
15 class Demuxer; 14 class Demuxer;
16 class VideoRenderer; 15 class VideoRenderer;
17 16
18 // Represents a set of uninitialized demuxer and audio/video decoders and 17 // Represents a set of uninitialized demuxer and audio/video decoders and
19 // renderers. Used to start a Pipeline object for media playback. 18 // renderers. Used to start a Pipeline object for media playback.
20 // 19 //
21 // TODO(scherkus): Replace FilterCollection with something sensible, see 20 // TODO(scherkus): Replace FilterCollection with something sensible, see
22 // http://crbug.com/110800 21 // http://crbug.com/110800
23 class MEDIA_EXPORT FilterCollection { 22 class MEDIA_EXPORT FilterCollection {
24 public: 23 public:
25 FilterCollection(); 24 FilterCollection();
26 ~FilterCollection(); 25 ~FilterCollection();
27 26
28 void SetDemuxer(const scoped_refptr<Demuxer>& demuxer); 27 void SetDemuxer(Demuxer* demuxer);
29 const scoped_refptr<Demuxer>& GetDemuxer(); 28 Demuxer* GetDemuxer();
30 29
31 void SetAudioRenderer(scoped_ptr<AudioRenderer> audio_renderer); 30 void SetAudioRenderer(scoped_ptr<AudioRenderer> audio_renderer);
32 scoped_ptr<AudioRenderer> GetAudioRenderer(); 31 scoped_ptr<AudioRenderer> GetAudioRenderer();
33 32
34 void SetVideoRenderer(scoped_ptr<VideoRenderer> video_renderer); 33 void SetVideoRenderer(scoped_ptr<VideoRenderer> video_renderer);
35 scoped_ptr<VideoRenderer> GetVideoRenderer(); 34 scoped_ptr<VideoRenderer> GetVideoRenderer();
36 35
37 private: 36 private:
38 scoped_refptr<Demuxer> demuxer_; 37 Demuxer* demuxer_;
39 scoped_ptr<AudioRenderer> audio_renderer_; 38 scoped_ptr<AudioRenderer> audio_renderer_;
40 scoped_ptr<VideoRenderer> video_renderer_; 39 scoped_ptr<VideoRenderer> video_renderer_;
41 40
42 DISALLOW_COPY_AND_ASSIGN(FilterCollection); 41 DISALLOW_COPY_AND_ASSIGN(FilterCollection);
43 }; 42 };
44 43
45 } // namespace media 44 } // namespace media
46 45
47 #endif // MEDIA_BASE_FILTER_COLLECTION_H_ 46 #endif // MEDIA_BASE_FILTER_COLLECTION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698