| Index: content/renderer/media/android/webmediaplayer_android.cc
|
| diff --git a/content/renderer/media/android/webmediaplayer_android.cc b/content/renderer/media/android/webmediaplayer_android.cc
|
| index 6fae70c638a96797f6cfcea9cdde41146766cdce..12b73ebcadfc5260cd2ef04ff65a2f8750a380c1 100644
|
| --- a/content/renderer/media/android/webmediaplayer_android.cc
|
| +++ b/content/renderer/media/android/webmediaplayer_android.cc
|
| @@ -69,12 +69,13 @@ namespace content {
|
| void WebMediaPlayerAndroid::OnReleaseRemotePlaybackTexture(
|
| const scoped_refptr<base::MessageLoopProxy>& main_loop,
|
| const base::WeakPtr<WebMediaPlayerAndroid>& player,
|
| - scoped_ptr<gpu::MailboxHolder> mailbox_holder) {
|
| + scoped_ptr<gpu::MailboxHolder> mailbox_holder,
|
| + const std::vector<uint32>& release_sync_points) {
|
| main_loop->PostTask(
|
| FROM_HERE,
|
| base::Bind(&WebMediaPlayerAndroid::DoReleaseRemotePlaybackTexture,
|
| player,
|
| - mailbox_holder->sync_point));
|
| + release_sync_points));
|
| }
|
|
|
| WebMediaPlayerAndroid::WebMediaPlayerAndroid(
|
| @@ -1413,14 +1414,15 @@ void WebMediaPlayerAndroid::SetDecryptorReadyCB(
|
| decryptor_ready_cb_ = decryptor_ready_cb;
|
| }
|
|
|
| -void WebMediaPlayerAndroid::DoReleaseRemotePlaybackTexture(uint32 sync_point) {
|
| +void WebMediaPlayerAndroid::DoReleaseRemotePlaybackTexture(
|
| + const std::vector<uint32>& release_sync_points) {
|
| DCHECK(main_thread_checker_.CalledOnValidThread());
|
| DCHECK(remote_playback_texture_id_);
|
|
|
| GLES2Interface* gl = stream_texture_factory_->ContextGL();
|
|
|
| - if (sync_point)
|
| - gl->WaitSyncPointCHROMIUM(sync_point);
|
| + for (size_t i = 0; i < release_sync_points.size(); i++)
|
| + gl->WaitSyncPointCHROMIUM(release_sync_points[i]);
|
| gl->DeleteTextures(1, &remote_playback_texture_id_);
|
| remote_playback_texture_id_ = 0;
|
| }
|
|
|