Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1363)

Side by Side Diff: media/gpu/android_video_decode_accelerator.cc

Issue 1998723002: Move code in ui/gl/* from gfx:: to gl:: (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/gpu/android_video_decode_accelerator.h" 5 #include "media/gpu/android_video_decode_accelerator.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 // SurfaceTexture will quit sending callbacks to coordinate with the 126 // SurfaceTexture will quit sending callbacks to coordinate with the
127 // destruction of the AVDA, so we have a separate object that the cb can own. 127 // destruction of the AVDA, so we have a separate object that the cb can own.
128 class AndroidVideoDecodeAccelerator::OnFrameAvailableHandler 128 class AndroidVideoDecodeAccelerator::OnFrameAvailableHandler
129 : public base::RefCountedThreadSafe<OnFrameAvailableHandler> { 129 : public base::RefCountedThreadSafe<OnFrameAvailableHandler> {
130 public: 130 public:
131 // We do not retain ownership of |owner|. It must remain valid until 131 // We do not retain ownership of |owner|. It must remain valid until
132 // after ClearOwner() is called. This will register with 132 // after ClearOwner() is called. This will register with
133 // |surface_texture| to receive OnFrameAvailable callbacks. 133 // |surface_texture| to receive OnFrameAvailable callbacks.
134 OnFrameAvailableHandler( 134 OnFrameAvailableHandler(
135 AndroidVideoDecodeAccelerator* owner, 135 AndroidVideoDecodeAccelerator* owner,
136 const scoped_refptr<gfx::SurfaceTexture>& surface_texture) 136 const scoped_refptr<gl::SurfaceTexture>& surface_texture)
137 : owner_(owner) { 137 : owner_(owner) {
138 // Note that the callback owns a strong ref to us. 138 // Note that the callback owns a strong ref to us.
139 surface_texture->SetFrameAvailableCallbackOnAnyThread( 139 surface_texture->SetFrameAvailableCallbackOnAnyThread(
140 base::Bind(&OnFrameAvailableHandler::OnFrameAvailable, 140 base::Bind(&OnFrameAvailableHandler::OnFrameAvailable,
141 scoped_refptr<OnFrameAvailableHandler>(this))); 141 scoped_refptr<OnFrameAvailableHandler>(this)));
142 } 142 }
143 143
144 // Forget about our owner, which is required before one deletes it. 144 // Forget about our owner, which is required before one deletes it.
145 // No further callbacks will happen once this completes. 145 // No further callbacks will happen once this completes.
146 void ClearOwner() { 146 void ClearOwner() {
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 return false; 519 return false;
520 } 520 }
521 521
522 on_destroying_surface_cb_ = 522 on_destroying_surface_cb_ =
523 base::Bind(&AndroidVideoDecodeAccelerator::OnDestroyingSurface, 523 base::Bind(&AndroidVideoDecodeAccelerator::OnDestroyingSurface,
524 weak_this_factory_.GetWeakPtr()); 524 weak_this_factory_.GetWeakPtr());
525 AVDASurfaceTracker::GetInstance()->RegisterOnDestroyingSurfaceCallback( 525 AVDASurfaceTracker::GetInstance()->RegisterOnDestroyingSurfaceCallback(
526 on_destroying_surface_cb_); 526 on_destroying_surface_cb_);
527 527
528 // TODO(watk,liberato): move this into the strategy. 528 // TODO(watk,liberato): move this into the strategy.
529 scoped_refptr<gfx::SurfaceTexture> surface_texture = 529 scoped_refptr<gl::SurfaceTexture> surface_texture =
530 strategy_->GetSurfaceTexture(); 530 strategy_->GetSurfaceTexture();
531 if (surface_texture) { 531 if (surface_texture) {
532 on_frame_available_handler_ = 532 on_frame_available_handler_ =
533 new OnFrameAvailableHandler(this, surface_texture); 533 new OnFrameAvailableHandler(this, surface_texture);
534 } 534 }
535 535
536 // Start the thread for async configuration, even if we don't need it now. 536 // Start the thread for async configuration, even if we don't need it now.
537 // ResetCodecState might rebuild the codec later, for example. 537 // ResetCodecState might rebuild the codec later, for example.
538 if (!g_avda_timer.Pointer()->StartThread(this)) { 538 if (!g_avda_timer.Pointer()->StartThread(this)) {
539 LOG(ERROR) << "Failed to start AVDA thread"; 539 LOG(ERROR) << "Failed to start AVDA thread";
(...skipping 1088 matching lines...) Expand 10 before | Expand all | Expand 10 after
1628 if (media::MediaCodecUtil::IsSurfaceViewOutputSupported()) { 1628 if (media::MediaCodecUtil::IsSurfaceViewOutputSupported()) {
1629 capabilities.flags |= media::VideoDecodeAccelerator::Capabilities:: 1629 capabilities.flags |= media::VideoDecodeAccelerator::Capabilities::
1630 SUPPORTS_EXTERNAL_OUTPUT_SURFACE; 1630 SUPPORTS_EXTERNAL_OUTPUT_SURFACE;
1631 } 1631 }
1632 } 1632 }
1633 1633
1634 return capabilities; 1634 return capabilities;
1635 } 1635 }
1636 1636
1637 } // namespace media 1637 } // namespace media
OLDNEW
« no previous file with comments | « media/gpu/android_video_decode_accelerator.h ('k') | media/gpu/android_video_decode_accelerator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698