FFmpeg
Data Fields
AVMediaCodecDeviceContext Struct Reference

MediaCodec details. More...

#include <hwcontext_mediacodec.h>

Data Fields

void * surface
 android/view/Surface handle, to be filled by the user. More...
 
void * native_window
 Pointer to ANativeWindow. More...
 
int create_window
 Enable createPersistentInputSurface automatically. More...
 

Detailed Description

MediaCodec details.

Allocated as AVHWDeviceContext.hwctx

Definition at line 27 of file hwcontext_mediacodec.h.

Field Documentation

◆ surface

void* AVMediaCodecDeviceContext::surface

android/view/Surface handle, to be filled by the user.

This is the default surface used by decoders on this device.

Definition at line 33 of file hwcontext_mediacodec.h.

Referenced by mc_device_init(), mediacodec_dec_get_video_codec(), and mediacodec_init().

◆ native_window

void* AVMediaCodecDeviceContext::native_window

Pointer to ANativeWindow.

It both surface and native_window is NULL, try to create it automatically if create_window is true and OS support createPersistentInputSurface.

It can be used as output surface for decoder and input surface for encoder.

Definition at line 45 of file hwcontext_mediacodec.h.

Referenced by mc_device_init(), mc_device_uninit(), mediacodec_dec_get_video_codec(), and mediacodec_init().

◆ create_window

int AVMediaCodecDeviceContext::create_window

Enable createPersistentInputSurface automatically.

Disabled by default.

It can be enabled by setting this flag directly, or by setting AVDictionary of av_hwdevice_ctx_create(), with "create_window" as key. The second method is useful for ffmpeg cmdline, e.g., we can enable it via: -init_hw_device mediacodec=mediacodec,create_window=1

Definition at line 58 of file hwcontext_mediacodec.h.

Referenced by mc_device_create(), and mc_device_init().


The documentation for this struct was generated from the following file: