FFmpeg
|
#include "libavcodec/avcodec.h"
Go to the source code of this file.
Data Structures | |
struct | AVMediaCodecContext |
This structure holds a reference to a android/view/Surface object that will be used as output by the decoder. More... | |
Functions | |
AVMediaCodecContext * | av_mediacodec_alloc_context (void) |
Allocate and initialize a MediaCodec context. More... | |
int | av_mediacodec_default_init (AVCodecContext *avctx, AVMediaCodecContext *ctx, void *surface) |
Convenience function that sets up the MediaCodec context. More... | |
void | av_mediacodec_default_free (AVCodecContext *avctx) |
This function must be called to free the MediaCodec context initialized with av_mediacodec_default_init(). More... | |
int | av_mediacodec_release_buffer (AVMediaCodecBuffer *buffer, int render) |
Release a MediaCodec buffer and render it to the surface that is associated with the decoder. More... | |
int | av_mediacodec_render_buffer_at_time (AVMediaCodecBuffer *buffer, int64_t time) |
Release a MediaCodec buffer and render it at the given time to the surface that is associated with the decoder. More... | |
AVMediaCodecContext* av_mediacodec_alloc_context | ( | void | ) |
Allocate and initialize a MediaCodec context.
When decoding with MediaCodec is finished, the caller must free the MediaCodec context with av_mediacodec_default_free.
Definition at line 124 of file mediacodec.c.
int av_mediacodec_default_init | ( | AVCodecContext * | avctx, |
AVMediaCodecContext * | ctx, | ||
void * | surface | ||
) |
Convenience function that sets up the MediaCodec context.
avctx | codec context |
ctx | MediaCodec context to initialize |
surface | reference to an android/view/Surface |
Definition at line 129 of file mediacodec.c.
void av_mediacodec_default_free | ( | AVCodecContext * | avctx | ) |
This function must be called to free the MediaCodec context initialized with av_mediacodec_default_init().
avctx | codec context |
Definition at line 134 of file mediacodec.c.
int av_mediacodec_release_buffer | ( | AVMediaCodecBuffer * | buffer, |
int | render | ||
) |
Release a MediaCodec buffer and render it to the surface that is associated with the decoder.
This function should only be called once on a given buffer, once released the underlying buffer returns to the codec, thus subsequent calls to this function will have no effect.
buffer | the buffer to render |
render | 1 to release and render the buffer to the surface or 0 to discard the buffer |
Definition at line 138 of file mediacodec.c.
Referenced by mediacodec_send().
int av_mediacodec_render_buffer_at_time | ( | AVMediaCodecBuffer * | buffer, |
int64_t | time | ||
) |
Release a MediaCodec buffer and render it at the given time to the surface that is associated with the decoder.
The timestamp must be within one second of the current java/lang/System#nanoTime()
(which is implemented using CLOCK_MONOTONIC
on Android). See the Android MediaCodec documentation of android/media/MediaCodec#releaseOutputBuffer(int,long)
for more details.
buffer | the buffer to render |
time | timestamp in nanoseconds of when to render the buffer |
Definition at line 143 of file mediacodec.c.