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 |