diff options
author | nfullagar@google.com <nfullagar@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-15 01:04:00 +0000 |
---|---|---|
committer | nfullagar@google.com <nfullagar@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-15 01:04:00 +0000 |
commit | b9a598494478fe8c04b6b7ba1f982ab91be6a521 (patch) | |
tree | 9b76d2753d28ace9a7efa5957342e8ad5cdadf45 /ppapi/cpp/audio_config.cc | |
parent | 97d2f1d24de99d6c19bf053fa7d3e61ede99e9c5 (diff) | |
download | chromium_src-b9a598494478fe8c04b6b7ba1f982ab91be6a521.zip chromium_src-b9a598494478fe8c04b6b7ba1f982ab91be6a521.tar.gz chromium_src-b9a598494478fe8c04b6b7ba1f982ab91be6a521.tar.bz2 |
Move ppapi audio interface out of dev, but
for this CL, also keep the old dev interface
around temporarily, to avoid tree breakage.
Add sample_rate to RecommendSampleFrameCount() to the
non-dev audio interface. Currently ignored, but useful
information to use when we need to refine RecommendSampleFrameCount()
Review URL: http://codereview.chromium.org/6279003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71527 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/cpp/audio_config.cc')
-rw-r--r-- | ppapi/cpp/audio_config.cc | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/ppapi/cpp/audio_config.cc b/ppapi/cpp/audio_config.cc new file mode 100644 index 0000000..b553dad --- /dev/null +++ b/ppapi/cpp/audio_config.cc @@ -0,0 +1,49 @@ +// 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/cpp/audio_config.h" + +#include "ppapi/cpp/instance.h" +#include "ppapi/cpp/module.h" +#include "ppapi/cpp/module_impl.h" + +namespace pp { + +namespace { + +template <> const char* interface_name<PPB_AudioConfig>() { + return PPB_AUDIO_CONFIG_INTERFACE; +} + +} // namespace + +AudioConfig::AudioConfig() + : sample_rate_(PP_AUDIOSAMPLERATE_NONE), + sample_frame_count_(0) { +} + +AudioConfig::AudioConfig(Instance* instance, + PP_AudioSampleRate sample_rate, + uint32_t sample_frame_count) + : sample_rate_(sample_rate), + sample_frame_count_(sample_frame_count) { + if (has_interface<PPB_AudioConfig>()) { + PassRefFromConstructor( + get_interface<PPB_AudioConfig>()->CreateStereo16Bit( + instance->pp_instance(), sample_rate, sample_frame_count)); + } +} + +// static +uint32_t AudioConfig::RecommendSampleFrameCount( + PP_AudioSampleRate sample_rate, + uint32_t requested_sample_frame_count) { + if (!has_interface<PPB_AudioConfig>()) + return 0; + return get_interface<PPB_AudioConfig>()-> + RecommendSampleFrameCount(sample_rate, requested_sample_frame_count); +} + +} // namespace pp + |