| Index: content/common/gpu/media/mac_video_decode_accelerator.h
|
| diff --git a/content/common/gpu/media/mac_video_decode_accelerator.h b/content/common/gpu/media/mac_video_decode_accelerator.h
|
| deleted file mode 100644
|
| index 3582f10ac1c31d8959df1fe196a6787e6e865c43..0000000000000000000000000000000000000000
|
| --- a/content/common/gpu/media/mac_video_decode_accelerator.h
|
| +++ /dev/null
|
| @@ -1,137 +0,0 @@
|
| -// Copyright (c) 2012 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 CONTENT_COMMON_GPU_MEDIA_MAC_VIDEO_DECODE_ACCELERATOR_H_
|
| -#define CONTENT_COMMON_GPU_MEDIA_MAC_VIDEO_DECODE_ACCELERATOR_H_
|
| -
|
| -#include <CoreVideo/CoreVideo.h>
|
| -#include <map>
|
| -#include <list>
|
| -
|
| -#include "base/mac/scoped_cftyperef.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/threading/non_thread_safe.h"
|
| -#include "content/common/content_export.h"
|
| -#include "content/common/gpu/media/avc_config_record_builder.h"
|
| -#include "content/common/gpu/media/h264_parser.h"
|
| -#include "media/video/video_decode_accelerator.h"
|
| -
|
| -namespace base {
|
| -class RefCountedBytes;
|
| -}
|
| -namespace gfx {
|
| -class GLContext;
|
| -class VideoDecodeAccelerationSupport;
|
| -}
|
| -
|
| -namespace content {
|
| -
|
| -class GpuCommandBufferStub;
|
| -
|
| -class CONTENT_EXPORT MacVideoDecodeAccelerator
|
| - : public media::VideoDecodeAccelerator,
|
| - public base::NonThreadSafe {
|
| - public:
|
| - // Does not take ownership of |client| which must outlive |*this|.
|
| - MacVideoDecodeAccelerator(CGLContextObj cgl_context,
|
| - media::VideoDecodeAccelerator::Client* client);
|
| - virtual ~MacVideoDecodeAccelerator();
|
| -
|
| - // media::VideoDecodeAccelerator implementation.
|
| - virtual bool Initialize(media::VideoCodecProfile profile) OVERRIDE;
|
| - virtual void Decode(const media::BitstreamBuffer& bitstream_buffer) OVERRIDE;
|
| - virtual void AssignPictureBuffers(
|
| - const std::vector<media::PictureBuffer>& buffers) OVERRIDE;
|
| - virtual void ReusePictureBuffer(int32 picture_buffer_id) OVERRIDE;
|
| - virtual void Flush() OVERRIDE;
|
| - virtual void Reset() OVERRIDE;
|
| - virtual void Destroy() OVERRIDE;
|
| -
|
| - private:
|
| -
|
| - // Callback for a completed frame.
|
| - void OnFrameReady(int32 bitstream_buffer_id,
|
| - scoped_refptr<base::RefCountedBytes> bytes,
|
| - CVImageBufferRef image,
|
| - int status);
|
| -
|
| - // Sends available decoded frames to the client.
|
| - void SendImages();
|
| -
|
| - // Stop the component when any error is detected.
|
| - void StopOnError(media::VideoDecodeAccelerator::Error error);
|
| -
|
| - // Create the decoder.
|
| - bool CreateDecoder(const std::vector<uint8_t>& extra_data);
|
| -
|
| - // Send the given NALU to the decoder.
|
| - void DecodeNALU(const H264NALU& nalu, int32 bitstream_buffer_id);
|
| -
|
| - // Calls the client's initialize completed callback.
|
| - void NotifyInitializeDone();
|
| -
|
| - // Requests pictures from the client.
|
| - void RequestPictures();
|
| -
|
| - // Calls the client's flush completed callback.
|
| - void NotifyFlushDone();
|
| -
|
| - // Calls the client's reset completed callback.
|
| - void NotifyResetDone();
|
| -
|
| - // Notifies the client that the input buffer identifed by |input_buffer_id|
|
| - // has been processed.
|
| - void NotifyInputBufferRead(int input_buffer_id);
|
| -
|
| - // Helper for Destroy(), doing all the actual work except for deleting self.
|
| - void Cleanup();
|
| -
|
| - // To expose client callbacks from VideoDecodeAccelerator.
|
| - Client* client_;
|
| - // C++ wrapper around the Mac VDA API.
|
| - scoped_refptr<gfx::VideoDecodeAccelerationSupport> vda_support_;
|
| - // Picture buffers that are available for use by the decoder to draw decoded
|
| - // video frames on.
|
| - std::list<media::PictureBuffer> available_pictures_;
|
| -
|
| - // Maps ids to picture buffers that are in use by the client.
|
| - struct UsedPictureInfo {
|
| - UsedPictureInfo(const media::PictureBuffer& pic,
|
| - const base::mac::ScopedCFTypeRef<CVImageBufferRef>& image);
|
| - ~UsedPictureInfo();
|
| - const media::PictureBuffer picture_buffer;
|
| - const base::mac::ScopedCFTypeRef<CVImageBufferRef> image;
|
| - };
|
| - std::map<int32, UsedPictureInfo> used_pictures_;
|
| -
|
| - // List of decoded images waiting to be sent to the client.
|
| - struct DecodedImageInfo {
|
| - DecodedImageInfo();
|
| - ~DecodedImageInfo();
|
| - base::mac::ScopedCFTypeRef<CVImageBufferRef> image;
|
| - int32 bitstream_buffer_id;
|
| - };
|
| - std::list<DecodedImageInfo> decoded_images_;
|
| -
|
| - // The context to use to perform OpenGL operations.
|
| - CGLContextObj cgl_context_;
|
| -
|
| - // Flag to check if AVC decoder configuration record has been built.
|
| - bool did_build_config_record_;
|
| -
|
| - // Parser for the H264 stream.
|
| - H264Parser h264_parser_;
|
| -
|
| - // Utility to build the AVC configuration record.
|
| - AVCConfigRecordBuilder config_record_builder_;
|
| -
|
| - // Maps a bitstream ID to the number of NALUs that are being decoded for
|
| - // that bitstream. This is used to ensure that NotifyEndOfBitstreamBuffer()
|
| - // is called after all NALUs contained in a bitstream have been decoded.
|
| - std::map<int32, int> bitstream_nalu_count_;
|
| -};
|
| -
|
| -} // namespace content
|
| -
|
| -#endif // CONTENT_COMMON_GPU_MEDIA_VIDEO_DECODE_ACCELERATOR_MAC_H_
|
|
|