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

Unified Diff: ppapi/shared_impl/ppb_audio_input_shared.cc

Issue 9705056: PepperPlatformAudioInputImpl: support audio input device selection. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Changes in response to Shijing's suggestions. Created 8 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 side-by-side diff with in-line comments
Download patch
Index: ppapi/shared_impl/ppb_audio_input_shared.cc
diff --git a/ppapi/shared_impl/ppb_audio_input_shared.cc b/ppapi/shared_impl/ppb_audio_input_shared.cc
index 30288947158be23bd0bb31c28d73b812e7bb3ee0..63da16a6a858a469b7f95d29e05cb9cbfaf97ff1 100644
--- a/ppapi/shared_impl/ppb_audio_input_shared.cc
+++ b/ppapi/shared_impl/ppb_audio_input_shared.cc
@@ -91,17 +91,30 @@ PP_Bool PPB_AudioInput_Shared::StartCapture() {
if (capturing_)
return PP_TRUE;
+ // If the audio input device hasn't been opened, set |capturing_| to true and
+ // return directly. Capturing will be started once the open operation is
+ // completed.
+ if (open_state_ == BEFORE_OPEN) {
+ capturing_ = true;
+ return PP_TRUE;
+ }
+
return InternalStartCapture();
}
PP_Bool PPB_AudioInput_Shared::StopCapture() {
- if (open_state_ == CLOSED || (open_state_ == BEFORE_OPEN &&
- !TrackedCallback::IsPending(open_callback_))) {
+ if (open_state_ == CLOSED)
return PP_FALSE;
- }
if (!capturing_)
return PP_TRUE;
+ // If the audio input device hasn't been opened, set |capturing_| to false and
+ // return directly.
+ if (open_state_ == BEFORE_OPEN) {
+ capturing_ = false;
+ return PP_TRUE;
+ }
+
return InternalStopCapture();
}
@@ -150,6 +163,7 @@ void PPB_AudioInput_Shared::OnOpenComplete(
// Clean up the handles.
base::SyncSocket temp_socket(socket_handle);
base::SharedMemory temp_mem(shared_memory_handle, false);
+ capturing_ = false;
}
// The callback may have been aborted by Close().

Powered by Google App Engine
This is Rietveld 408576698