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

Unified Diff: ppapi/examples/audio_input/audio_input.cc

Issue 11366038: Rewrite PPB_AudioInput_Dev to use the new-style host/resource. (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
« no previous file with comments | « ppapi/cpp/dev/audio_input_dev.cc ('k') | ppapi/examples/audio_input/audio_input.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/examples/audio_input/audio_input.cc
diff --git a/ppapi/examples/audio_input/audio_input.cc b/ppapi/examples/audio_input/audio_input.cc
index a216d54c346d06298cb685fbbdfdb664c6f60093..11efa6306ec23e7f2436390fc7948ca462d8e2ef 100644
--- a/ppapi/examples/audio_input/audio_input.cc
+++ b/ppapi/examples/audio_input/audio_input.cc
@@ -26,6 +26,15 @@
#undef PostMessage
#endif
+namespace {
+
+// This sample frequency is guaranteed to work.
+const PP_AudioSampleRate kSampleFrequency = PP_AUDIOSAMPLERATE_44100;
+const uint32_t kSampleCount = 1024;
+const uint32_t kChannelCount = 1;
+
+} // namespace
+
class MyInstance : public pp::Instance {
public:
explicit MyInstance(PP_Instance instance)
@@ -36,44 +45,24 @@ class MyInstance : public pp::Instance {
samples_(NULL),
timer_interval_(0),
pending_paint_(false),
- waiting_for_flush_completion_(false),
- audio_input_0_1_(0),
- audio_input_interface_0_1_(NULL) {
+ waiting_for_flush_completion_(false) {
}
virtual ~MyInstance() {
- if (!audio_input_.is_null()) {
- audio_input_.Close();
- } else if (audio_input_0_1_ != 0) {
- audio_input_interface_0_1_->StopCapture(audio_input_0_1_);
- pp::Module::Get()->core()->ReleaseResource(audio_input_0_1_);
- }
+ audio_input_.Close();
delete[] samples_;
}
virtual bool Init(uint32_t argc, const char* argn[], const char* argv[]) {
- // This sample frequency is guaranteed to work.
- const PP_AudioSampleRate kSampleFrequency = PP_AUDIOSAMPLERATE_44100;
- const uint32_t kSampleCount = 1024;
- const uint32_t kChannelCount = 1;
-
sample_count_ = pp::AudioConfig::RecommendSampleFrameCount(this,
kSampleFrequency,
kSampleCount);
PP_DCHECK(sample_count_ > 0);
channel_count_ = kChannelCount;
- pp::AudioConfig config = pp::AudioConfig(this,
- kSampleFrequency,
- sample_count_);
samples_ = new int16_t[sample_count_ * channel_count_];
memset(samples_, 0, sample_count_ * channel_count_ * sizeof(int16_t));
- audio_input_ = pp::AudioInput_Dev(this, config, CaptureCallback, this);
- audio_input_interface_0_1_ = static_cast<const PPB_AudioInput_Dev_0_1*>(
- pp::Module::Get()->GetBrowserInterface(
- PPB_AUDIO_INPUT_DEV_INTERFACE_0_1));
- if (!audio_input_interface_0_1_)
- return false;
+ audio_input_ = pp::AudioInput_Dev(this);
// Try to ensure that we pick up a new set of samples between each
// timer-generated repaint.
@@ -107,18 +96,6 @@ class MyInstance : public pp::Instance {
PostMessage(pp::Var("EnumerationFailed"));
} else if (event == "UseDefault") {
Open(pp::DeviceRef_Dev());
- } else if (event == "UseDefault(v0.1)") {
- audio_input_0_1_ = audio_input_interface_0_1_->Create(
- pp_instance(), audio_input_.config().pp_resource(),
- CaptureCallback, this);
- if (audio_input_0_1_ != 0) {
- if (!audio_input_interface_0_1_->StartCapture(audio_input_0_1_))
- PostMessage(pp::Var("StartFailed"));
- } else {
- PostMessage(pp::Var("OpenFailed"));
- }
-
- audio_input_ = pp::AudioInput_Dev();
} else if (event == "Stop") {
Stop();
} else if (event == "Start") {
@@ -225,31 +202,25 @@ class MyInstance : public pp::Instance {
}
void Open(const pp::DeviceRef_Dev& device) {
+ pp::AudioConfig config = pp::AudioConfig(this,
+ kSampleFrequency,
+ sample_count_);
pp::CompletionCallback callback = callback_factory_.NewCallback(
&MyInstance::OpenFinished);
- int32_t result = audio_input_.Open(device, callback);
+ int32_t result = audio_input_.Open(device, config, CaptureCallback, this,
+ callback);
if (result != PP_OK_COMPLETIONPENDING)
PostMessage(pp::Var("OpenFailed"));
}
void Stop() {
- if (!audio_input_.is_null()) {
- if (!audio_input_.StopCapture())
- PostMessage(pp::Var("StopFailed"));
- } else if (audio_input_0_1_ != 0) {
- if (!audio_input_interface_0_1_->StopCapture(audio_input_0_1_))
- PostMessage(pp::Var("StopFailed"));
- }
+ if (!audio_input_.StopCapture())
+ PostMessage(pp::Var("StopFailed"));
}
void Start() {
- if (!audio_input_.is_null()) {
- if (!audio_input_.StartCapture())
- PostMessage(pp::Var("StartFailed"));
- } else if (audio_input_0_1_ != 0) {
- if (!audio_input_interface_0_1_->StartCapture(audio_input_0_1_))
- PostMessage(pp::Var("StartFailed"));
- }
+ if (!audio_input_.StartCapture())
+ PostMessage(pp::Var("StartFailed"));
}
void EnumerateDevicesFinished(int32_t result,
@@ -298,9 +269,6 @@ class MyInstance : public pp::Instance {
pp::AudioInput_Dev audio_input_;
- PP_Resource audio_input_0_1_;
- const PPB_AudioInput_Dev_0_1* audio_input_interface_0_1_;
-
std::vector<pp::DeviceRef_Dev> devices_;
};
« no previous file with comments | « ppapi/cpp/dev/audio_input_dev.cc ('k') | ppapi/examples/audio_input/audio_input.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698