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
3 // found in the LICENSE file.
5 #ifndef MEDIA_BASE_FILTER_COLLECTION_H_
6 #define MEDIA_BASE_FILTER_COLLECTION_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "media/base/media_export.h"
18 // Represents a set of uninitialized demuxer and audio/video decoders and
19 // renderers. Used to start a Pipeline object for media playback.
21 // TODO(scherkus): Replace FilterCollection with something sensible, see
22 // http://crbug.com/110800
23 class MEDIA_EXPORT FilterCollection {
28 void SetDemuxer(Demuxer* demuxer);
29 Demuxer* GetDemuxer();
31 void SetAudioRenderer(scoped_ptr<AudioRenderer> audio_renderer);
32 scoped_ptr<AudioRenderer> GetAudioRenderer();
34 void SetVideoRenderer(scoped_ptr<VideoRenderer> video_renderer);
35 scoped_ptr<VideoRenderer> GetVideoRenderer();
37 void SetTextRenderer(scoped_ptr<TextRenderer> text_renderer);
38 scoped_ptr<TextRenderer> GetTextRenderer();
42 scoped_ptr<AudioRenderer> audio_renderer_;
43 scoped_ptr<VideoRenderer> video_renderer_;
44 scoped_ptr<TextRenderer> text_renderer_;
46 DISALLOW_COPY_AND_ASSIGN(FilterCollection);
51 #endif // MEDIA_BASE_FILTER_COLLECTION_H_