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_