filter_collection.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
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.
4
5#include "media/base/filter_collection.h"
6
7#include "base/logging.h"
8#include "media/base/audio_renderer.h"
9#include "media/base/demuxer.h"
10#include "media/base/video_decoder.h"
11#include "media/base/video_renderer.h"
12
13namespace media {
14
15FilterCollection::FilterCollection() {}
16
17FilterCollection::~FilterCollection() {}
18
19void FilterCollection::SetDemuxer(const scoped_refptr<Demuxer>& demuxer) {
20  demuxer_ = demuxer;
21}
22
23const scoped_refptr<Demuxer>& FilterCollection::GetDemuxer() {
24  return demuxer_;
25}
26
27void FilterCollection::SetAudioRenderer(
28    scoped_ptr<AudioRenderer> audio_renderer) {
29  audio_renderer_ = audio_renderer.Pass();
30}
31
32scoped_ptr<AudioRenderer> FilterCollection::GetAudioRenderer() {
33  return audio_renderer_.Pass();
34}
35
36void FilterCollection::SetVideoRenderer(
37    scoped_ptr<VideoRenderer> video_renderer) {
38  video_renderer_ = video_renderer.Pass();
39}
40
41scoped_ptr<VideoRenderer> FilterCollection::GetVideoRenderer() {
42  return video_renderer_.Pass();
43}
44
45void FilterCollection::Clear() {
46  video_decoders_.clear();
47  audio_renderer_.reset();
48  video_renderer_.reset();
49}
50
51FilterCollection::VideoDecoderList* FilterCollection::GetVideoDecoders() {
52  return &video_decoders_;
53}
54
55}  // namespace media
56