summaryrefslogtreecommitdiffstats
path: root/media/base/video_decoder.h
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-18 22:03:48 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-18 22:03:48 +0000
commitc9802d4f24fcee643d992038b9d4658e640c2867 (patch)
treebf7b7b029c253243b10b5e301b417c5efc81d4bf /media/base/video_decoder.h
parent13b33a4f0c3f3f4c9e29cf222d59335c19dda7f9 (diff)
downloadchromium_src-c9802d4f24fcee643d992038b9d4658e640c2867.zip
chromium_src-c9802d4f24fcee643d992038b9d4658e640c2867.tar.gz
chromium_src-c9802d4f24fcee643d992038b9d4658e640c2867.tar.bz2
Revert 194993 "Remove reference counting from media::VideoDecode..."
> Remove reference counting from media::VideoDecoder and friends. > > In addition: > * VideoRenderer is now passed a list of decoders via constructor instead of Initialize() > * WebMediaPlayerImpl's FilterCollection is now built in one shot instead of incrementally > > BUG=173313 > > Review URL: https://codereview.chromium.org/12989009 TBR=scherkus@chromium.org Review URL: https://codereview.chromium.org/14320005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195013 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/video_decoder.h')
-rw-r--r--media/base/video_decoder.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/media/base/video_decoder.h b/media/base/video_decoder.h
index 4611645..97566da 100644
--- a/media/base/video_decoder.h
+++ b/media/base/video_decoder.h
@@ -16,7 +16,8 @@ namespace media {
class DemuxerStream;
class VideoFrame;
-class MEDIA_EXPORT VideoDecoder {
+class MEDIA_EXPORT VideoDecoder
+ : public base::RefCountedThreadSafe<VideoDecoder> {
public:
// Status codes for read operations on VideoDecoder.
enum Status {
@@ -25,9 +26,6 @@ class MEDIA_EXPORT VideoDecoder {
kDecryptError // Decrypting error happened.
};
- VideoDecoder();
- virtual ~VideoDecoder();
-
// Initializes a VideoDecoder with the given DemuxerStream, executing the
// |status_cb| upon completion.
// |statistics_cb| is used to update the global pipeline statistics.
@@ -79,7 +77,11 @@ class MEDIA_EXPORT VideoDecoder {
// use a fixed set of VideoFrames for decoding.
virtual bool HasOutputFrameAvailable() const;
- private:
+ protected:
+ friend class base::RefCountedThreadSafe<VideoDecoder>;
+ virtual ~VideoDecoder();
+ VideoDecoder();
+
DISALLOW_COPY_AND_ASSIGN(VideoDecoder);
};