Index: content/common/gpu/media/omx_video_decode_accelerator.h |
diff --git a/content/common/gpu/media/omx_video_decode_accelerator.h b/content/common/gpu/media/omx_video_decode_accelerator.h |
index b42a39bb04655f63699702611b62c60694da31b0..44825b21b289948b094984517608d17694db9e7c 100644 |
--- a/content/common/gpu/media/omx_video_decode_accelerator.h |
+++ b/content/common/gpu/media/omx_video_decode_accelerator.h |
@@ -15,7 +15,6 @@ |
#include "base/compiler_specific.h" |
#include "base/logging.h" |
-#include "base/memory/ref_counted.h" |
#include "base/message_loop.h" |
#include "base/shared_memory.h" |
#include "content/common/content_export.h" |
@@ -42,6 +41,7 @@ class CONTENT_EXPORT OmxVideoDecodeAccelerator : |
public: |
// Does not take ownership of |client| which must outlive |*this|. |
OmxVideoDecodeAccelerator(media::VideoDecodeAccelerator::Client* client); |
+ virtual ~OmxVideoDecodeAccelerator(); |
// media::VideoDecodeAccelerator implementation. |
bool Initialize(media::VideoCodecProfile profile) OVERRIDE; |
@@ -51,13 +51,11 @@ class CONTENT_EXPORT OmxVideoDecodeAccelerator : |
void ReusePictureBuffer(int32 picture_buffer_id) OVERRIDE; |
void Flush() OVERRIDE; |
void Reset() OVERRIDE; |
- void Destroy() OVERRIDE; |
+ void Destroy(scoped_ptr<VideoDecodeAccelerator> self) OVERRIDE; |
void SetEglState(EGLDisplay egl_display, EGLContext egl_context); |
private: |
- virtual ~OmxVideoDecodeAccelerator(); |
- |
// Because OMX state-transitions are described solely by the "state reached" |
// (3.1.2.9.1, table 3-7 of the spec), we track what transition was requested |
// using this enum. Note that it is an error to request a transition while |
@@ -114,7 +112,7 @@ class CONTENT_EXPORT OmxVideoDecodeAccelerator : |
void OnReachedEOSInFlushing(); |
void OnReachedInvalidInErroring(); |
void ShutdownComponent(); |
- void BusyLoopInDestroying(); |
+ void BusyLoopInDestroying(scoped_ptr<VideoDecodeAccelerator> self); |
// Port-flushing helpers. |
void FlushIOPorts(); |