| Index: media/video/video_decode_accelerator.h
|
| diff --git a/media/video/video_decode_accelerator.h b/media/video/video_decode_accelerator.h
|
| index 85eef242f4229de69a2dbd8194caa414b5dddd4a..55d1ad12e188dbbfc3e462cfbe88ba4ea858dafc 100644
|
| --- a/media/video/video_decode_accelerator.h
|
| +++ b/media/video/video_decode_accelerator.h
|
| @@ -161,10 +161,12 @@ enum VideoColorFormat {
|
| // Video decoder interface.
|
| // This interface is extended by the various components that ultimately
|
| // implement the backend of PPB_VideoDecode_Dev.
|
| -class VideoDecodeAccelerator {
|
| +//
|
| +// No thread-safety guarantees are implied by the use of RefCountedThreadSafe
|
| +// below.
|
| +class VideoDecodeAccelerator
|
| + : public base::RefCountedThreadSafe<VideoDecodeAccelerator> {
|
| public:
|
| - virtual ~VideoDecodeAccelerator();
|
| -
|
| // Enumeration of potential errors generated by the API.
|
| // TODO(fischman): these errors are a bad match for both what OMX generates
|
| // and for what the plugin wants. Overhaul this list with a more useful set.
|
| @@ -226,9 +228,6 @@ class VideoDecodeAccelerator {
|
| // Reset completion callback.
|
| virtual void NotifyResetDone() = 0;
|
|
|
| - // Destroy completion callback.
|
| - virtual void NotifyDestroyDone() = 0;
|
| -
|
| // Callback to notify about decoding errors.
|
| virtual void NotifyError(Error error) = 0;
|
| };
|
| @@ -279,11 +278,14 @@ class VideoDecodeAccelerator {
|
| virtual void Reset() = 0;
|
|
|
| // Destroys the decoder: all pending inputs are dropped immediately and the
|
| - // component is freed, followed by NotifyDestroyDone being called on the
|
| - // client. After this is called no other calls may be made on the decoder,
|
| - // and after NotifyDestroyDone is called no callbacks will be made by the
|
| - // decoder on the client.
|
| + // component is freed. This call may asynchornously free system resources,
|
| + // but its client-visible effects are synchronous. After this method returns
|
| + // no more callbacks will be made on the client.
|
| virtual void Destroy() = 0;
|
| +
|
| + protected:
|
| + friend class base::RefCountedThreadSafe<VideoDecodeAccelerator>;
|
| + virtual ~VideoDecodeAccelerator();
|
| };
|
|
|
| } // namespace media
|
|
|