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

Side by Side Diff: remoting/host/audio_capturer_win.h

Issue 1753663002: Add volume control for windows host (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync latest code Created 4 years, 9 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 unified diff | Download patch
« no previous file with comments | « no previous file | remoting/host/audio_capturer_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef REMOTING_HOST_AUDIO_CAPTURER_WIN_H_ 5 #ifndef REMOTING_HOST_AUDIO_CAPTURER_WIN_H_
6 #define REMOTING_HOST_AUDIO_CAPTURER_WIN_H_ 6 #define REMOTING_HOST_AUDIO_CAPTURER_WIN_H_
7 7
8 #include <audioclient.h> 8 #include <audioclient.h>
9 #include <mmdeviceapi.h> 9 #include <mmdeviceapi.h>
10 10
(...skipping 15 matching lines...) Expand all
26 ~AudioCapturerWin() override; 26 ~AudioCapturerWin() override;
27 27
28 // AudioCapturer interface. 28 // AudioCapturer interface.
29 bool Start(const PacketCapturedCallback& callback) override; 29 bool Start(const PacketCapturedCallback& callback) override;
30 30
31 private: 31 private:
32 // Receives all packets from the audio capture endpoint buffer and pushes them 32 // Receives all packets from the audio capture endpoint buffer and pushes them
33 // to the network. 33 // to the network.
34 void DoCapture(); 34 void DoCapture();
35 35
36 // Returns current volume setting of the host, in range [0.0, 1.0]. If the
37 // audio has been muted, this function returns 0. If Windows API returns error
38 // (such as audio device has been disabled or unpluged), this function ignores
39 // host volume setting, and returns 1.0.
40 float GetAudioLevel();
41
42 // Processes a series of samples, and executes callback if the packet is
43 // qualified to be sent to client.
44 void ProcessSamples(uint8_t* data, size_t frames, int32_t flags);
45
36 PacketCapturedCallback callback_; 46 PacketCapturedCallback callback_;
37 47
38 AudioPacket::SamplingRate sampling_rate_; 48 AudioPacket::SamplingRate sampling_rate_;
39 49
40 scoped_ptr<base::RepeatingTimer> capture_timer_; 50 scoped_ptr<base::RepeatingTimer> capture_timer_;
41 base::TimeDelta audio_device_period_; 51 base::TimeDelta audio_device_period_;
42 52
43 AudioSilenceDetector silence_detector_; 53 AudioSilenceDetector silence_detector_;
44 54
45 base::win::ScopedCoMem<WAVEFORMATEX> wave_format_ex_; 55 base::win::ScopedCoMem<WAVEFORMATEX> wave_format_ex_;
46 base::win::ScopedComPtr<IAudioCaptureClient> audio_capture_client_; 56 base::win::ScopedComPtr<IAudioCaptureClient> audio_capture_client_;
47 base::win::ScopedComPtr<IAudioClient> audio_client_; 57 base::win::ScopedComPtr<IAudioClient> audio_client_;
48 base::win::ScopedComPtr<IMMDevice> mm_device_; 58 base::win::ScopedComPtr<IMMDevice> mm_device_;
59 base::win::ScopedComPtr<ISimpleAudioVolume> audio_volume_;
49 60
50 HRESULT last_capture_error_; 61 HRESULT last_capture_error_;
51 62
52 base::ThreadChecker thread_checker_; 63 base::ThreadChecker thread_checker_;
53 64
54 DISALLOW_COPY_AND_ASSIGN(AudioCapturerWin); 65 DISALLOW_COPY_AND_ASSIGN(AudioCapturerWin);
55 }; 66 };
56 67
57 } // namespace remoting 68 } // namespace remoting
58 69
59 #endif // REMOTING_HOST_AUDIO_CAPTURER_WIN_H_ 70 #endif // REMOTING_HOST_AUDIO_CAPTURER_WIN_H_
OLDNEW
« no previous file with comments | « no previous file | remoting/host/audio_capturer_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698