Index: chrome/renderer/media/ipc_video_decoder.h |
=================================================================== |
--- chrome/renderer/media/ipc_video_decoder.h (revision 55418) |
+++ chrome/renderer/media/ipc_video_decoder.h (working copy) |
@@ -1,100 +0,0 @@ |
-// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_RENDERER_MEDIA_IPC_VIDEO_DECODER_H_ |
-#define CHROME_RENDERER_MEDIA_IPC_VIDEO_DECODER_H_ |
- |
-#include "base/time.h" |
-#include "chrome/renderer/gpu_video_service_host.h" |
-#include "media/base/pts_heap.h" |
-#include "media/base/video_frame.h" |
-#include "media/filters/decoder_base.h" |
- |
-struct AVRational; |
- |
-namespace media { |
- |
-class VideoDecodeEngine; |
- |
-class IpcVideoDecoder : public VideoDecoder, |
- public GpuVideoDecoderHost::EventHandler { |
- public: |
- explicit IpcVideoDecoder(MessageLoop* message_loop); |
- virtual ~IpcVideoDecoder(); |
- |
- static FilterFactory* CreateFactory(MessageLoop* message_loop); |
- static bool IsMediaFormatSupported(const MediaFormat& media_format); |
- |
- // MediaFilter implementation. |
- virtual void Stop(FilterCallback* callback); |
- virtual void Seek(base::TimeDelta time, FilterCallback* callback); |
- virtual void Pause(FilterCallback* callback); |
- virtual void Flush(FilterCallback* callback); |
- |
- // Decoder implementation. |
- virtual void Initialize(DemuxerStream* demuxer_stream, |
- FilterCallback* callback); |
- virtual const MediaFormat& media_format() { return media_format_; } |
- virtual void FillThisBuffer(scoped_refptr<VideoFrame> video_frame); |
- |
- // GpuVideoDecoderHost::EventHandler. |
- virtual void OnInitializeDone(bool success, |
- const GpuVideoDecoderInitDoneParam& param); |
- virtual void OnUninitializeDone(); |
- virtual void OnFlushDone(); |
- virtual void OnEmptyBufferDone(scoped_refptr<Buffer> buffer); |
- virtual void OnFillBufferDone(scoped_refptr<VideoFrame> frame); |
- virtual void OnDeviceError(); |
- |
- virtual bool ProvidesBuffer(); |
- |
- private: |
- void OnSeekComplete(FilterCallback* callback); |
- void OnReadComplete(Buffer* buffer); |
- void ReadCompleteTask(scoped_refptr<Buffer> buffer); |
- |
- private: |
- friend class FilterFactoryImpl2<IpcVideoDecoder, |
- VideoDecodeEngine*, |
- MessageLoop*>; |
- |
- private: |
- int32 width_; |
- int32 height_; |
- MediaFormat media_format_; |
- |
- scoped_ptr<FilterCallback> flush_callback_; |
- scoped_ptr<FilterCallback> initialize_callback_; |
- scoped_ptr<FilterCallback> stop_callback_; |
- |
- enum DecoderState { |
- kUnInitialized, |
- kPlaying, |
- kFlushing, |
- kPausing, |
- kFlushCodec, |
- kEnded, |
- kStopped, |
- }; |
- DecoderState state_; |
- |
- // Tracks the number of asynchronous reads issued to |demuxer_stream_|. |
- // Using size_t since it is always compared against deque::size(). |
- size_t pending_reads_; |
- // Tracks the number of asynchronous reads issued from renderer. |
- size_t pending_requests_; |
- |
- // Pointer to the demuxer stream that will feed us compressed buffers. |
- scoped_refptr<DemuxerStream> demuxer_stream_; |
- |
- MessageLoop* renderer_thread_message_loop_; |
- scoped_refptr<GpuVideoDecoderHost> gpu_video_decoder_host_; |
- |
- DISALLOW_COPY_AND_ASSIGN(IpcVideoDecoder); |
-}; |
- |
-} // namespace media |
- |
-#endif // CHROME_RENDERER_MEDIA_IPC_VIDEO_DECODER_H_ |
- |