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

Unified Diff: media/audio/virtual_audio_input_stream.h

Issue 11298006: Browser-wide audio mirroring for TabCapture API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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/audio/virtual_audio_input_stream.h
diff --git a/media/audio/fake_audio_input_stream.h b/media/audio/virtual_audio_input_stream.h
similarity index 50%
copy from media/audio/fake_audio_input_stream.h
copy to media/audio/virtual_audio_input_stream.h
index c1e1ba54ca1de67eec13d5e921d70b454ef794c8..6d7f598049101d660a4d7e0f4fa40d373363e868 100644
--- a/media/audio/fake_audio_input_stream.h
+++ b/media/audio/virtual_audio_input_stream.h
@@ -4,27 +4,29 @@
//
// A fake implementation of AudioInputStream, useful for testing purpose.
-#ifndef MEDIA_AUDIO_FAKE_AUDIO_INPUT_STREAM_H_
-#define MEDIA_AUDIO_FAKE_AUDIO_INOUT_STREAM_H_
+#ifndef MEDIA_AUDIO_VIRTUAL_AUDIO_INPUT_STREAM_H_
+#define MEDIA_AUDIO_VIRTUAL_AUDIO_INPUT_STREAM_H_
#include <vector>
+#include <set>
+#include "base/cancelable_callback.h"
#include "base/memory/scoped_ptr.h"
-#include "base/synchronization/lock.h"
-#include "base/threading/thread.h"
#include "base/time.h"
#include "media/audio/audio_io.h"
+#include "base/synchronization/lock.h"
#include "media/audio/audio_parameters.h"
+#include "media/audio/audio_output_resampler.h"
namespace media {
class AudioManagerBase;
-class MEDIA_EXPORT FakeAudioInputStream
+class MEDIA_EXPORT VirtualAudioInputStream
: public AudioInputStream {
public:
- static AudioInputStream* MakeFakeStream(AudioManagerBase* manager,
- const AudioParameters& params);
+ static AudioInputStream* MakeStream(AudioManagerBase* manager,
+ const AudioParameters& params);
virtual bool Open() OVERRIDE;
virtual void Start(AudioInputCallback* callback) OVERRIDE;
@@ -36,39 +38,24 @@ class MEDIA_EXPORT FakeAudioInputStream
virtual void SetAutomaticGainControl(bool enabled) OVERRIDE;
virtual bool GetAutomaticGainControl() OVERRIDE;
- // Generate one beep sound. This method is called by
- // FakeVideoCaptureDevice to test audio/video synchronization.
- // This is a static method because FakeVideoCaptureDevice is
- // disconnected from an audio device. This means only one instance of
- // this class gets to respond, which is okay because we assume there's
- // only one stream for this testing purpose.
- // TODO(hclam): Make this non-static. To do this we'll need to fix
- // crbug.com/159053 such that video capture device is aware of audio
- // input stream.
- static void BeepOnce();
-
private:
- FakeAudioInputStream(AudioManagerBase* manager,
- const AudioParameters& params);
+ void DoCallback();
- virtual ~FakeAudioInputStream();
+ VirtualAudioInputStream(AudioManagerBase* manager,
+ const AudioParameters& params);
- void DoCallback();
+ virtual ~VirtualAudioInputStream();
AudioManagerBase* audio_manager_;
AudioInputCallback* callback_;
scoped_array<uint8> buffer_;
int buffer_size_;
AudioParameters params_;
- base::Thread thread_;
- base::Time last_callback_time_;
- base::TimeDelta callback_interval_;
- int beep_duration_in_buffers_;
- int beep_generated_in_buffers_;
- int beep_period_in_frames_;
- int frames_elapsed_;
+ scoped_ptr<AudioBus> audio_bus_;
+ scoped_ptr<OnMoreDataResampler> resampler_;
+ base::CancelableClosure on_more_data_cb_;
- DISALLOW_COPY_AND_ASSIGN(FakeAudioInputStream);
+ DISALLOW_COPY_AND_ASSIGN(VirtualAudioInputStream);
};
} // namespace media

Powered by Google App Engine
This is Rietveld 408576698