Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #ifndef MEDIA_FILTERS_FFMPEG_VIDEO_DECODER_H_ | 5 #ifndef MEDIA_FILTERS_FFMPEG_VIDEO_DECODER_H_ |
| 6 #define MEDIA_FILTERS_FFMPEG_VIDEO_DECODER_H_ | 6 #define MEDIA_FILTERS_FFMPEG_VIDEO_DECODER_H_ |
| 7 | 7 |
| 8 #include <deque> | 8 #include <deque> |
| 9 | 9 |
| 10 #include "base/gtest_prod_util.h" | |
| 11 #include "base/time.h" | |
| 12 #include "media/base/filters.h" | 10 #include "media/base/filters.h" |
| 13 #include "media/base/pts_stream.h" | 11 #include "media/base/pts_stream.h" |
| 14 #include "media/base/video_frame.h" | |
| 15 #include "media/video/video_decode_engine.h" | 12 #include "media/video/video_decode_engine.h" |
| 16 | 13 |
|
scherkus (not reviewing)
2011/10/28 16:45:02
there should be one here for ui/gfx/size.h
Ami GONE FROM CHROMIUM
2011/10/28 16:54:22
So why not add it?
| |
| 17 namespace media { | 14 namespace media { |
| 18 | 15 |
| 19 class VideoDecodeEngine; | 16 class VideoDecodeEngine; |
| 20 | 17 |
| 21 class MEDIA_EXPORT FFmpegVideoDecoder | 18 class MEDIA_EXPORT FFmpegVideoDecoder |
| 22 : public VideoDecoder, | 19 : public VideoDecoder, |
| 23 public VideoDecodeEngine::EventHandler { | 20 public VideoDecodeEngine::EventHandler { |
| 24 public: | 21 public: |
| 25 FFmpegVideoDecoder(MessageLoop* message_loop, | 22 FFmpegVideoDecoder(MessageLoop* message_loop, |
| 26 VideoDecodeContext* decode_context); | 23 VideoDecodeContext* decode_context); |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 45 virtual void OnInitializeComplete(bool success) OVERRIDE; | 42 virtual void OnInitializeComplete(bool success) OVERRIDE; |
| 46 virtual void OnUninitializeComplete() OVERRIDE; | 43 virtual void OnUninitializeComplete() OVERRIDE; |
| 47 virtual void OnFlushComplete() OVERRIDE; | 44 virtual void OnFlushComplete() OVERRIDE; |
| 48 virtual void OnSeekComplete() OVERRIDE; | 45 virtual void OnSeekComplete() OVERRIDE; |
| 49 virtual void OnError() OVERRIDE; | 46 virtual void OnError() OVERRIDE; |
| 50 virtual void ProduceVideoSample(scoped_refptr<Buffer> buffer) OVERRIDE; | 47 virtual void ProduceVideoSample(scoped_refptr<Buffer> buffer) OVERRIDE; |
| 51 virtual void ConsumeVideoFrame( | 48 virtual void ConsumeVideoFrame( |
| 52 scoped_refptr<VideoFrame> frame, | 49 scoped_refptr<VideoFrame> frame, |
| 53 const PipelineStatistics& statistics) OVERRIDE; | 50 const PipelineStatistics& statistics) OVERRIDE; |
| 54 | 51 |
| 55 friend class DecoderPrivateMock; | |
| 56 friend class FFmpegVideoDecoderTest; | |
| 57 FRIEND_TEST_ALL_PREFIXES(FFmpegVideoDecoderTest, PtsStream); | |
| 58 FRIEND_TEST_ALL_PREFIXES(FFmpegVideoDecoderTest, | |
| 59 DoDecode_EnqueueVideoFrameError); | |
| 60 FRIEND_TEST_ALL_PREFIXES(FFmpegVideoDecoderTest, | |
| 61 DoDecode_FinishEnqueuesEmptyFrames); | |
| 62 FRIEND_TEST_ALL_PREFIXES(FFmpegVideoDecoderTest, | |
| 63 DoDecode_TestStateTransition); | |
| 64 FRIEND_TEST_ALL_PREFIXES(FFmpegVideoDecoderTest, DoSeek); | |
| 65 | |
| 66 enum DecoderState { | 52 enum DecoderState { |
| 67 kUnInitialized, | 53 kUnInitialized, |
| 68 kInitializing, | 54 kInitializing, |
| 69 kNormal, | 55 kNormal, |
| 70 kFlushCodec, | 56 kFlushCodec, |
| 71 kDecodeFinished, | 57 kDecodeFinished, |
| 72 kPausing, | 58 kPausing, |
| 73 kFlushing, | 59 kFlushing, |
| 74 kStopped | 60 kStopped |
| 75 }; | 61 }; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 111 | 97 |
| 112 // Pointer to the demuxer stream that will feed us compressed buffers. | 98 // Pointer to the demuxer stream that will feed us compressed buffers. |
| 113 scoped_refptr<DemuxerStream> demuxer_stream_; | 99 scoped_refptr<DemuxerStream> demuxer_stream_; |
| 114 | 100 |
| 115 DISALLOW_COPY_AND_ASSIGN(FFmpegVideoDecoder); | 101 DISALLOW_COPY_AND_ASSIGN(FFmpegVideoDecoder); |
| 116 }; | 102 }; |
| 117 | 103 |
| 118 } // namespace media | 104 } // namespace media |
| 119 | 105 |
| 120 #endif // MEDIA_FILTERS_FFMPEG_VIDEO_DECODER_H_ | 106 #endif // MEDIA_FILTERS_FFMPEG_VIDEO_DECODER_H_ |
| OLD | NEW |