/* Copyright 2015 The Chromium Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /* From ppb_video_encoder.idl modified Wed Jul 15 11:34:20 2015. */ #ifndef PPAPI_C_PPB_VIDEO_ENCODER_H_ #define PPAPI_C_PPB_VIDEO_ENCODER_H_ #include "ppapi/c/pp_array_output.h" #include "ppapi/c/pp_bool.h" #include "ppapi/c/pp_codecs.h" #include "ppapi/c/pp_completion_callback.h" #include "ppapi/c/pp_instance.h" #include "ppapi/c/pp_macros.h" #include "ppapi/c/pp_resource.h" #include "ppapi/c/pp_size.h" #include "ppapi/c/pp_stdint.h" #include "ppapi/c/ppb_video_frame.h" #define PPB_VIDEOENCODER_INTERFACE_0_1 … #define PPB_VIDEOENCODER_INTERFACE_0_2 … #define PPB_VIDEOENCODER_INTERFACE … /** * @file * This file defines the <code>PPB_VideoEncoder</code> interface. */ /** * @addtogroup Interfaces * @{ */ /** * Video encoder interface. * * Typical usage: * - Call Create() to create a new video encoder resource. * - Call GetSupportedFormats() to determine which codecs and profiles are * available. * - Call Initialize() to initialize the encoder for a supported profile. * - Call GetVideoFrame() to get a blank frame and fill it in, or get a video * frame from another resource, e.g. <code>PPB_MediaStreamVideoTrack</code>. * - Call Encode() to push the video frame to the encoder. If an external frame * is pushed, wait for completion to recycle the frame. * - Call GetBitstreamBuffer() continuously (waiting for each previous call to * complete) to pull encoded pictures from the encoder. * - Call RecycleBitstreamBuffer() after consuming the data in the bitstream * buffer. * - To destroy the encoder, the plugin should release all of its references to * it. Any pending callbacks will abort before the encoder is destroyed. * * Available video codecs vary by platform. * All: vp8 (software). * ChromeOS, depending on your device: h264 (hardware), vp8 (hardware) */ struct PPB_VideoEncoder_0_2 { … }; PPB_VideoEncoder; struct PPB_VideoEncoder_0_1 { … }; /** * @} */ #endif /* PPAPI_C_PPB_VIDEO_ENCODER_H_ */