diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-07 18:59:27 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-07 18:59:27 +0000 |
commit | 9a57839249d238f6ecf75f6ff91e80795b144fad (patch) | |
tree | 7e5c24f82967b80ebe5580a6a87dd8a6d24a861c /ppapi/shared_impl/ppb_audio_config_shared.cc | |
parent | 14d5ea0999bc034e0e847170b0a1edfe444d24eb (diff) | |
download | chromium_src-9a57839249d238f6ecf75f6ff91e80795b144fad.zip chromium_src-9a57839249d238f6ecf75f6ff91e80795b144fad.tar.gz chromium_src-9a57839249d238f6ecf75f6ff91e80795b144fad.tar.bz2 |
Rename the shared_impl resource files to give them more regular names.
[ Reland of 113290 http://codereview.chromium.org/8790004 ]
I keep getting confused between things like AudioImpl and PPB_Audio_Impl. This uses _shared for the names, so now we have _impl, _proxy, and _shared which makes more sense.
I also removed the ppb_opengles2_impl file since it was just a forward to the shared version.
Review URL: http://codereview.chromium.org/8849003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113428 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/shared_impl/ppb_audio_config_shared.cc')
-rw-r--r-- | ppapi/shared_impl/ppb_audio_config_shared.cc | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/ppapi/shared_impl/ppb_audio_config_shared.cc b/ppapi/shared_impl/ppb_audio_config_shared.cc new file mode 100644 index 0000000..78df9ad --- /dev/null +++ b/ppapi/shared_impl/ppb_audio_config_shared.cc @@ -0,0 +1,80 @@ +// Copyright (c) 2011 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. + +#include "ppapi/shared_impl/ppb_audio_config_shared.h" + +namespace ppapi { + +PPB_AudioConfig_Shared::PPB_AudioConfig_Shared(PP_Instance instance) + : Resource(instance), + sample_rate_(PP_AUDIOSAMPLERATE_NONE), + sample_frame_count_(0) { +} + +PPB_AudioConfig_Shared::PPB_AudioConfig_Shared( + const HostResource& host_resource) + : Resource(host_resource), + sample_rate_(PP_AUDIOSAMPLERATE_NONE), + sample_frame_count_(0) { +} + +PPB_AudioConfig_Shared::~PPB_AudioConfig_Shared() { +} + +// static +PP_Resource PPB_AudioConfig_Shared::CreateAsImpl( + PP_Instance instance, + PP_AudioSampleRate sample_rate, + uint32_t sample_frame_count) { + scoped_refptr<PPB_AudioConfig_Shared> object( + new PPB_AudioConfig_Shared(instance)); + if (!object->Init(sample_rate, sample_frame_count)) + return 0; + return object->GetReference(); +} + +// static +PP_Resource PPB_AudioConfig_Shared::CreateAsProxy( + PP_Instance instance, + PP_AudioSampleRate sample_rate, + uint32_t sample_frame_count) { + scoped_refptr<PPB_AudioConfig_Shared> object(new PPB_AudioConfig_Shared( + HostResource::MakeInstanceOnly(instance))); + if (!object->Init(sample_rate, sample_frame_count)) + return 0; + return object->GetReference(); +} + +thunk::PPB_AudioConfig_API* PPB_AudioConfig_Shared::AsPPB_AudioConfig_API() { + return this; +} + +PP_AudioSampleRate PPB_AudioConfig_Shared::GetSampleRate() { + return sample_rate_; +} + +uint32_t PPB_AudioConfig_Shared::GetSampleFrameCount() { + return sample_frame_count_; +} + +bool PPB_AudioConfig_Shared::Init(PP_AudioSampleRate sample_rate, + uint32_t sample_frame_count) { + // TODO(brettw): Currently we don't actually check what the hardware + // supports, so just allow sample rates of the "guaranteed working" ones. + if (sample_rate != PP_AUDIOSAMPLERATE_44100 && + sample_rate != PP_AUDIOSAMPLERATE_48000) + return false; + + // TODO(brettw): Currently we don't actually query to get a value from the + // hardware, so just validate the range. + if (sample_frame_count > PP_AUDIOMAXSAMPLEFRAMECOUNT || + sample_frame_count < PP_AUDIOMINSAMPLEFRAMECOUNT) + return false; + + sample_rate_ = sample_rate; + sample_frame_count_ = sample_frame_count; + return true; +} + +} // namespace ppapi |