Index: chromecast/media/cma/backend/alsa/filter_group.h |
diff --git a/chromecast/media/cma/backend/alsa/filter_group.h b/chromecast/media/cma/backend/alsa/filter_group.h |
deleted file mode 100644 |
index dddbf83e418b0db4468b87a7d6aebf45f24bbca6..0000000000000000000000000000000000000000 |
--- a/chromecast/media/cma/backend/alsa/filter_group.h |
+++ /dev/null |
@@ -1,87 +0,0 @@ |
-// Copyright 2017 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROMECAST_MEDIA_CMA_BACKEND_ALSA_FILTER_GROUP_H_ |
-#define CHROMECAST_MEDIA_CMA_BACKEND_ALSA_FILTER_GROUP_H_ |
- |
-#include <stdint.h> |
- |
-#include <memory> |
-#include <string> |
-#include <unordered_set> |
-#include <vector> |
- |
-#include "base/macros.h" |
-#include "chromecast/media/cma/backend/alsa/audio_filter_factory.h" |
-#include "chromecast/media/cma/backend/alsa/stream_mixer_alsa.h" |
- |
-namespace chromecast { |
-namespace media { |
-class AudioBus; |
- |
-// FilterGroup contains state for an AudioFilter. |
-// It takes multiple StreamMixerAlsa::InputQueues, |
-// mixes them, and processes them. |
- |
-// ActiveInputs are added with AddActiveInput(), then cleared when |
-// MixAndFilter() is called (they must be added each time data is queried). |
-class FilterGroup { |
- public: |
- // |input_types| is a set of strings that is used as a filter to determine |
- // if an input belongs to this group (InputQueue->name() must exactly match an |
- // entry in |input_types| to be processed by this group. |
- // |filter_type| is passed to AudioFilterFactory to create an AudioFilter. |
- FilterGroup(const std::unordered_set<std::string>& input_types, |
- AudioFilterFactory::FilterType filter_type); |
- ~FilterGroup(); |
- |
- // Sets the sample rate and format in the AudioFilter. |
- void Initialize(int output_samples_per_second, ::media::SampleFormat format); |
- |
- // Returns |true| if this FilterGroup is appropriate to process |input|. |
- bool CanProcessInput(StreamMixerAlsa::InputQueue* input); |
- |
- // Adds |input| to |active_inputs_|. |
- void AddActiveInput(StreamMixerAlsa::InputQueue* input); |
- |
- // Retrieves a pointer to the output buffer |interleaved_|. |
- std::vector<uint8_t>* GetInterleaved(); |
- |
- // Mixes all active inputs and passes them through the audio filter. |
- bool MixAndFilter(int chunk_size); |
- |
- // Overwrites |interleaved_| with 0's, ensuring at least |
- // |chunk_size| bytes. |
- void ClearInterleaved(int chunk_size); |
- |
- // Clear all |active_inputs_|. This should be called before AddActiveInputs |
- // on each mixing iteration. |
- void ClearActiveInputs(); |
- |
- private: |
- void ResizeBuffersIfNecessary(int chunk_size); |
- int BytesPerOutputFormatSample(); |
- |
- const std::unordered_set<std::string> input_types_; |
- std::vector<StreamMixerAlsa::InputQueue*> active_inputs_; |
- |
- int output_samples_per_second_; |
- ::media::SampleFormat sample_format_; |
- |
- // Buffers that hold audio data while it is mixed. |
- // These are kept as members of this class to minimize copies and |
- // allocations. |
- std::unique_ptr<::media::AudioBus> temp_; |
- std::unique_ptr<::media::AudioBus> mixed_; |
- std::vector<uint8_t> interleaved_; |
- |
- std::unique_ptr<AudioFilterInterface> audio_filter_; |
- int silence_frames_filtered_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FilterGroup); |
-}; |
- |
-} // namespace media |
-} // namespace chromecast |
-#endif // CHROMECAST_MEDIA_CMA_BACKEND_ALSA_FILTER_GROUP_H_ |