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..887dfc36b3e509ba259658de85b23af10b999f3b 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" |
| @@ -83,6 +82,12 @@ PP_Bool PPB_Audio_Impl::StartPlayback() { |
| return PP_TRUE; |
| } |
| + if (instance) { |
| + RenderFrameImpl* render_frame = instance->render_frame(); |
| + if (render_frame) |
| + render_frame->PepperStartsPlayback(instance, this); |
| + } |
| + |
| SetStartPlaybackState(); |
| return PP_FromBool(audio_->StartPlayback()); |
| } |
| @@ -97,6 +102,14 @@ PP_Bool PPB_Audio_Impl::StopPlayback() { |
| StartDeferredPlayback(); |
| } |
| + PepperPluginInstanceImpl* instance = static_cast<PepperPluginInstanceImpl*>( |
| + PepperPluginInstance::Get(pp_instance())); |
| + if (instance) { |
| + RenderFrameImpl* render_frame = instance->render_frame(); |
| + if (render_frame) |
| + render_frame->PepperStopsPlayback(instance, this); |
| + } |
| + |
| if (!playing()) |
| return PP_TRUE; |
| if (!audio_->StopPlayback()) |
| @@ -173,8 +186,17 @@ void PPB_Audio_Impl::StartDeferredPlayback() { |
| DCHECK(playback_throttled_); |
| playback_throttled_ = false; |
| + PepperPluginInstanceImpl* instance = static_cast<PepperPluginInstanceImpl*>( |
| + PepperPluginInstance::Get(pp_instance())); |
|
bbudge
2016/06/14 17:19:13
null check for instance here.
Zhiqiang Zhang (Slow)
2016/06/14 17:28:56
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) { |
|
bbudge
2016/06/14 17:19:13
Check that audio_ isn't null? See StopPlayback.
Zhiqiang Zhang (Slow)
2016/06/14 17:28:56
Done.
|
| + audio_->SetVolume(volume); |
| +} |
| } // namespace content |