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

Unified Diff: media/base/filter_collection.cc

Issue 9325044: Remove AudioDecoder from the Filter heirarchy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: media/base/filter_collection.cc
diff --git a/media/base/filter_collection.cc b/media/base/filter_collection.cc
index 42f42d05201bb6afaf71e8e032578a1332d3e09a..f26403ce50c1dd422bd03a0c316fea7183a18e35 100644
--- a/media/base/filter_collection.cc
+++ b/media/base/filter_collection.cc
@@ -25,8 +25,8 @@ void FilterCollection::AddVideoDecoder(VideoDecoder* filter) {
AddFilter(VIDEO_DECODER, filter);
}
-void FilterCollection::AddAudioDecoder(AudioDecoder* filter) {
- AddFilter(AUDIO_DECODER, filter);
+void FilterCollection::AddAudioDecoder(AudioDecoder* audio_decoder) {
+ audio_decoders_.push_back(audio_decoder);
}
void FilterCollection::AddVideoRenderer(VideoRenderer* filter) {
@@ -38,11 +38,12 @@ void FilterCollection::AddAudioRenderer(AudioRenderer* filter) {
}
bool FilterCollection::IsEmpty() const {
- return filters_.empty();
+ return filters_.empty() && audio_decoders_.empty();
}
void FilterCollection::Clear() {
filters_.clear();
+ audio_decoders_.clear();
}
void FilterCollection::SelectVideoDecoder(
@@ -50,9 +51,13 @@ void FilterCollection::SelectVideoDecoder(
SelectFilter<VIDEO_DECODER>(filter_out);
}
-void FilterCollection::SelectAudioDecoder(
- scoped_refptr<AudioDecoder>* filter_out) {
- SelectFilter<AUDIO_DECODER>(filter_out);
+void FilterCollection::SelectAudioDecoder(scoped_refptr<AudioDecoder>* out) {
+ if (audio_decoders_.empty()) {
+ *out = NULL;
+ return;
+ }
+ *out = audio_decoders_.front();
+ audio_decoders_.pop_front();
}
void FilterCollection::SelectVideoRenderer(

Powered by Google App Engine
This is Rietveld 408576698