| Index: ppapi/cpp/audio.cc
|
| diff --git a/ppapi/cpp/audio.cc b/ppapi/cpp/audio.cc
|
| index 89702be0072dcbea78dfe038445d6f3c3f4e0265..c92a588d9ee642c1f9538dd518b34f7312f32f56 100644
|
| --- a/ppapi/cpp/audio.cc
|
| +++ b/ppapi/cpp/audio.cc
|
| @@ -15,6 +15,10 @@ template <> const char* interface_name<PPB_Audio_1_0>() {
|
| return PPB_AUDIO_INTERFACE_1_0;
|
| }
|
|
|
| +template <> const char* interface_name<PPB_Audio_1_1>() {
|
| + return PPB_AUDIO_INTERFACE_1_1;
|
| +}
|
| +
|
| } // namespace
|
|
|
| Audio::Audio(const InstanceHandle& instance,
|
| @@ -22,6 +26,17 @@ Audio::Audio(const InstanceHandle& instance,
|
| PPB_Audio_Callback callback,
|
| void* user_data)
|
| : config_(config) {
|
| + if (has_interface<PPB_Audio_1_1>()) {
|
| + PassRefFromConstructor(get_interface<PPB_Audio_1_1>()->Create(
|
| + instance.pp_instance(), config.pp_resource(), callback, user_data));
|
| + }
|
| +}
|
| +
|
| +Audio::Audio(const InstanceHandle& instance,
|
| + const AudioConfig& config,
|
| + PPB_Audio_Callback_1_0 callback,
|
| + void* user_data)
|
| + : config_(config) {
|
| if (has_interface<PPB_Audio_1_0>()) {
|
| PassRefFromConstructor(get_interface<PPB_Audio_1_0>()->Create(
|
| instance.pp_instance(), config.pp_resource(), callback, user_data));
|
| @@ -29,13 +44,27 @@ Audio::Audio(const InstanceHandle& instance,
|
| }
|
|
|
| bool Audio::StartPlayback() {
|
| - return has_interface<PPB_Audio_1_0>() &&
|
| - get_interface<PPB_Audio_1_0>()->StartPlayback(pp_resource());
|
| + if (has_interface<PPB_Audio_1_1>()) {
|
| + return PP_ToBool(get_interface<PPB_Audio_1_1>()->StartPlayback(
|
| + pp_resource()));
|
| + }
|
| + if (has_interface<PPB_Audio_1_0>()) {
|
| + return PP_ToBool(get_interface<PPB_Audio_1_0>()->StartPlayback(
|
| + pp_resource()));
|
| + }
|
| + return false;
|
| }
|
|
|
| bool Audio::StopPlayback() {
|
| - return has_interface<PPB_Audio_1_0>() &&
|
| - get_interface<PPB_Audio_1_0>()->StopPlayback(pp_resource());
|
| + if (has_interface<PPB_Audio_1_1>()) {
|
| + return PP_ToBool(get_interface<PPB_Audio_1_1>()->StopPlayback(
|
| + pp_resource()));
|
| + }
|
| + if (has_interface<PPB_Audio_1_0>()) {
|
| + return PP_ToBool(get_interface<PPB_Audio_1_0>()->StopPlayback(
|
| + pp_resource()));
|
| + }
|
| + return false;
|
| }
|
|
|
| } // namespace pp
|
|
|