| Index: media/base/filter_collection.cc
|
| ===================================================================
|
| --- media/base/filter_collection.cc (revision 182591)
|
| +++ media/base/filter_collection.cc (working copy)
|
| @@ -25,29 +25,37 @@
|
| return demuxer_;
|
| }
|
|
|
| -void FilterCollection::SetAudioRenderer(
|
| - scoped_ptr<AudioRenderer> audio_renderer) {
|
| - audio_renderer_ = audio_renderer.Pass();
|
| +void FilterCollection::AddAudioRenderer(AudioRenderer* audio_renderer) {
|
| + audio_renderers_.push_back(audio_renderer);
|
| }
|
|
|
| -scoped_ptr<AudioRenderer> FilterCollection::GetAudioRenderer() {
|
| - return audio_renderer_.Pass();
|
| +void FilterCollection::AddVideoRenderer(VideoRenderer* video_renderer) {
|
| + video_renderers_.push_back(video_renderer);
|
| }
|
|
|
| -void FilterCollection::SetVideoRenderer(
|
| - scoped_ptr<VideoRenderer> video_renderer) {
|
| - video_renderer_ = video_renderer.Pass();
|
| +void FilterCollection::Clear() {
|
| + audio_decoders_.clear();
|
| + video_decoders_.clear();
|
| + audio_renderers_.clear();
|
| + video_renderers_.clear();
|
| }
|
|
|
| -scoped_ptr<VideoRenderer> FilterCollection::GetVideoRenderer() {
|
| - return video_renderer_.Pass();
|
| +void FilterCollection::SelectAudioRenderer(scoped_refptr<AudioRenderer>* out) {
|
| + if (audio_renderers_.empty()) {
|
| + *out = NULL;
|
| + return;
|
| + }
|
| + *out = audio_renderers_.front();
|
| + audio_renderers_.pop_front();
|
| }
|
|
|
| -void FilterCollection::Clear() {
|
| - audio_decoders_.clear();
|
| - video_decoders_.clear();
|
| - audio_renderer_.reset();
|
| - video_renderer_.reset();
|
| +void FilterCollection::SelectVideoRenderer(scoped_refptr<VideoRenderer>* out) {
|
| + if (video_renderers_.empty()) {
|
| + *out = NULL;
|
| + return;
|
| + }
|
| + *out = video_renderers_.front();
|
| + video_renderers_.pop_front();
|
| }
|
|
|
| FilterCollection::AudioDecoderList* FilterCollection::GetAudioDecoders() {
|
|
|