Chromium Code Reviews| Index: content/renderer/pepper/ppb_audio_impl.cc |
| diff --git a/content/renderer/pepper/ppb_audio_impl.cc b/content/renderer/pepper/ppb_audio_impl.cc |
| index 98bf7637f4ad96792b72cb90d7a995c0ca7ff284..39615625dc794dd51dadc675193b21793f99a200 100644 |
| --- a/content/renderer/pepper/ppb_audio_impl.cc |
| +++ b/content/renderer/pepper/ppb_audio_impl.cc |
| @@ -9,7 +9,6 @@ |
| #include "content/renderer/pepper/pepper_plugin_instance_impl.h" |
| #include "content/renderer/pepper/plugin_instance_throttler_impl.h" |
| #include "content/renderer/render_frame_impl.h" |
| -#include "content/renderer/render_view_impl.h" |
| #include "media/audio/audio_output_controller.h" |
| #include "ppapi/c/pp_completion_callback.h" |
| #include "ppapi/c/ppb_audio.h" |
| @@ -39,6 +38,8 @@ PPB_Audio_Impl::PPB_Audio_Impl(PP_Instance instance) |
| if (plugin_instance && plugin_instance->throttler()) { |
| plugin_instance->throttler()->AddObserver(this); |
| } |
| + static int32_t pepper_audio_id = 0; |
| + pepper_audio_id_ = pepper_audio_id++; |
| } |
| PPB_Audio_Impl::~PPB_Audio_Impl() { |
| @@ -83,6 +84,10 @@ PP_Bool PPB_Audio_Impl::StartPlayback() { |
| return PP_TRUE; |
| } |
| + RenderFrameImpl* render_frame = instance->render_frame(); |
| + if (render_frame) |
| + render_frame->PepperStartsPlayback(instance, this); |
| + |
| SetStartPlaybackState(); |
| return PP_FromBool(audio_->StartPlayback()); |
| } |
| @@ -97,6 +102,12 @@ PP_Bool PPB_Audio_Impl::StopPlayback() { |
| StartDeferredPlayback(); |
| } |
| + PepperPluginInstanceImpl* instance = static_cast<PepperPluginInstanceImpl*>( |
| + PepperPluginInstance::Get(pp_instance())); |
|
bbudge
2016/06/13 17:51:01
Check for null instance, or add a CHECK or DCHECK
Zhiqiang Zhang (Slow)
2016/06/14 14:15:26
Done.
|
| + RenderFrameImpl* render_frame = instance->render_frame(); |
| + if (render_frame) |
| + render_frame->PepperStopsPlayback(instance, this); |
| + |
| if (!playing()) |
| return PP_TRUE; |
| if (!audio_->StopPlayback()) |
| @@ -173,8 +184,17 @@ void PPB_Audio_Impl::StartDeferredPlayback() { |
| DCHECK(playback_throttled_); |
| playback_throttled_ = false; |
| + PepperPluginInstanceImpl* instance = static_cast<PepperPluginInstanceImpl*>( |
| + PepperPluginInstance::Get(pp_instance())); |
|
bbudge
2016/06/13 17:51:01
Ditto.
Zhiqiang Zhang (Slow)
2016/06/14 14:15:25
Done.
|
| + RenderFrameImpl* render_frame = instance->render_frame(); |
| + if (render_frame) |
| + render_frame->PepperStartsPlayback(instance, this); |
| + |
| SetStartPlaybackState(); |
| audio_->StartPlayback(); |
| } |
| +void PPB_Audio_Impl::SetVolume(double volume) { |
| + audio_->SetVolume(volume); |
| +} |
| } // namespace content |