Tizen Native API
|
Functions | |
int | mediacodec_create (mediacodec_h *mediacodec) |
Creates a mediacodec handle for decoding/encoding. | |
int | mediacodec_destroy (mediacodec_h mediacodec) |
Destroys the mediacodec handle and releases all its resources. | |
int | mediacodec_set_codec (mediacodec_h mediacodec, mediacodec_codec_type_e codec_id, mediacodec_support_type_e flags) |
Sets the codec type and decoder/encoder. | |
int | mediacodec_set_vdec_info (mediacodec_h mediacodec, int width, int height) |
Sets the default info for the video decoder. | |
int | mediacodec_set_venc_info (mediacodec_h mediacodec, int width, int height, int fps, int target_bits) |
Sets the default info for the video encoder. | |
int | mediacodec_set_adec_info (mediacodec_h mediacodec, int samplerate, int channel, int bit) |
Sets the default info for the audio decoder. | |
int | mediacodec_set_aenc_info (mediacodec_h mediacodec, int samplerate, int channel, int bit, int bitrate) |
Sets the default info for the audio encdoer. | |
int | mediacodec_prepare (mediacodec_h mediacodec) |
Prepares mediacodec for encoding/decoding. | |
int | mediacodec_unprepare (mediacodec_h mediacodec) |
Unprepares mediacodec for encoding/decoding. | |
int | mediacodec_process_input (mediacodec_h mediacodec, media_packet_h inbuf, uint64_t timeOutUs) |
Decodes/Encodes a packet. The function passed undecoded/unencoded packet to the input queue and decode/encode a frame sequentially. | |
int | mediacodec_get_output (mediacodec_h mediacodec, media_packet_h *outbuf, uint64_t timeOutUs) |
Gets the decoded or encoded packet from the output queue. | |
int | mediacodec_set_input_buffer_used_cb (mediacodec_h mediacodec, mediacodec_input_buffer_used_cb callback, void *user_data) |
set empty buffer callback the media codec for process, asynchronously. | |
int | mediacodec_unset_input_buffer_used_cb (mediacodec_h mediacodec) |
unset input buffer used callback the media codec for process, asynchronously. | |
int | mediacodec_set_output_buffer_available_cb (mediacodec_h mediacodec, mediacodec_output_buffer_available_cb callback, void *user_data) |
set output buffer available callback the media codec for process, asynchronously. | |
int | mediacodec_unset_output_buffer_available_cb (mediacodec_h mediacodec) |
unset output buffer available callback the media codec for process, asynchronously. | |
int | mediacodec_set_error_cb (mediacodec_h mediacodec, mediacodec_error_cb callback, void *user_data) |
set error callback the media codec for process, asynchronously. | |
int | mediacodec_unset_error_cb (mediacodec_h mediacodec) |
unset error callback the media codec for process, asynchronously. | |
int | mediacodec_set_eos_cb (mediacodec_h mediacodec, mediacodec_eos_cb callback, void *user_data) |
set eos callback the media codec for process, asynchronously. | |
int | mediacodec_unset_eos_cb (mediacodec_h mediacodec) |
unset eos callback the media codec for process, asynchronously. | |
Typedefs | |
typedef struct mediacodec_s * | mediacodec_h |
Media Codec type handle. | |
typedef void(* | mediacodec_input_buffer_used_cb )(media_packet_h pkt, void *user_data) |
Called when the input buffer(pkt) used up. | |
typedef void(* | mediacodec_output_buffer_available_cb )(media_packet_h pkt, void *user_data) |
Called when the output buffer is available. | |
typedef void(* | mediacodec_error_cb )(mediacodec_error_e error, void *user_data) |
Called when the error has occured. | |
typedef void(* | mediacodec_eos_cb )(void *user_data) |
Called when there is no data to decode/encode. |
The Media Codec APIs provides functions for encodinging and decoding using media data.
#include <media_codec.h>
MEDIA CODEC API allows : The API allows you to direct access to the media codec on device. It operates on "raw" data, so any file headers must be stripped off. media_packet is used for zero-copy.
typedef void(* mediacodec_eos_cb)(void *user_data) |
Called when there is no data to decode/encode.
It will be invoked when the end-of-stream is reached.
[in] | user_data | The user data passed from the callback registration function |
typedef void(* mediacodec_error_cb)(mediacodec_error_e error, void *user_data) |
Called when the error has occured.
It will be invoked when the error has occured.
[in] | error_code | The error code |
[in] | user_data | The user data passed from the callback registration function |
typedef struct mediacodec_s* mediacodec_h |
Media Codec type handle.
typedef void(* mediacodec_input_buffer_used_cb)(media_packet_h pkt, void *user_data) |
Called when the input buffer(pkt) used up.
It will be invoked when mediacodec has used input buffer.
[in] | pkt | The media packet handle |
[in] | user_data | The user data passed from the callback registration function |
typedef void(* mediacodec_output_buffer_available_cb)(media_packet_h pkt, void *user_data) |
Called when the output buffer is available.
It will be invoked when mediacodec has output buffer.
[in] | pkt | The media packet handle |
[in] | user_data | The user data passed from the callback registration function |
Enumerations of media codec type.
enum mediacodec_error_e |
Enumeration of media codec error.
Enumeration of media codec support type.
int mediacodec_create | ( | mediacodec_h * | mediacodec | ) |
Creates a mediacodec handle for decoding/encoding.
[out] | mediacodec | A new handle to mediacodec |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
MEDIACODEC_ERROR_OUT_OF_MEMORY | Out of memory |
MEDIACODEC_ERROR_INVALID_OPERATION | Invalid operation |
int mediacodec_destroy | ( | mediacodec_h | mediacodec | ) |
Destroys the mediacodec handle and releases all its resources.
[in] | mediacodec | The handle to mediacodec to be destroyed. |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
MEDIACODEC_ERROR_OUT_OF_MEMORY | Out of memory |
MEDIACODEC_ERROR_INVALID_OPERATION | Invalid operation |
int mediacodec_get_output | ( | mediacodec_h | mediacodec, |
media_packet_h * | outbuf, | ||
uint64_t | timeOutUs | ||
) |
Gets the decoded or encoded packet from the output queue.
[in] | mediacodec | The handle to mediacodec |
[in] | outbuf | The current output of the decoder/encoder. this function passed decoded/encoded frame to output queue. |
[in] | timeOutUs | The timeout in microseconds. The input buffer wait up to "timeOutUs" microseconds. |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
MEDIACODEC_ERROR_OUT_OF_MEMORY | Out of memory |
MEDIACODEC_ERROR_INVALID_OPERATION | Invalid operation |
int mediacodec_prepare | ( | mediacodec_h | mediacodec | ) |
Prepares mediacodec for encoding/decoding.
[in] | mediacodec | The handle to mediacodec |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
MEDIACODEC_ERROR_OUT_OF_MEMORY | Out of memory |
MEDIACODEC_ERROR_INVALID_OPERATION | Invalid operation |
int mediacodec_process_input | ( | mediacodec_h | mediacodec, |
media_packet_h | inbuf, | ||
uint64_t | timeOutUs | ||
) |
Decodes/Encodes a packet. The function passed undecoded/unencoded packet to the input queue and decode/encode a frame sequentially.
[in] | mediacodec | The handle to mediacodec |
[in] | inbuf | The current input format for the decoder/encoder |
[in] | timeOutUs | The timeout in microseconds. The input buffer wait up to "timeOutUs" microseconds. |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
MEDIACODEC_ERROR_OUT_OF_MEMORY | Out of memory |
MEDIACODEC_ERROR_INVALID_OPERATION | Invalid operation |
int mediacodec_set_adec_info | ( | mediacodec_h | mediacodec, |
int | samplerate, | ||
int | channel, | ||
int | bit | ||
) |
Sets the default info for the audio decoder.
[in] | mediacodec | The handle to mediacodec |
[in] | samplerate | The samplerate for audio decoding. |
[in] | channel | The channels for audio decoding. |
[in] | bit | The bits resolution for audio decoding. |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
MEDIACODEC_ERROR_OUT_OF_MEMORY | Out of memory |
MEDIACODEC_ERROR_INVALID_OPERATION | Invalid operation |
int mediacodec_set_aenc_info | ( | mediacodec_h | mediacodec, |
int | samplerate, | ||
int | channel, | ||
int | bit, | ||
int | bitrate | ||
) |
Sets the default info for the audio encdoer.
[in] | mediacodec | The handle to mediacodec |
[in] | samplerate | The samplerate for audio encoding. |
[in] | channel | The channels for audio encoding. |
[in] | bit | The bits resolution for audio encoding. |
[in] | bitrate | The bitrate for audio encoding. |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
MEDIACODEC_ERROR_OUT_OF_MEMORY | Out of memory |
MEDIACODEC_ERROR_INVALID_OPERATION | Invalid operation |
int mediacodec_set_codec | ( | mediacodec_h | mediacodec, |
mediacodec_codec_type_e | codec_id, | ||
mediacodec_support_type_e | flags | ||
) |
Sets the codec type and decoder/encoder.
[in] | mediacodec | The handle of mediacodec |
[in] | codec_id | The identifier of the codec type of the decoder/encoder |
[in] | flags | The encoding/decoding scheme. |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
MEDIACODEC_ERROR_OUT_OF_MEMORY | Out of memory |
MEDIACODEC_ERROR_INVALID_OPERATION | Invalid operation |
MEDIACODEC_ERROR_CODEC_NOT_FOUND | Codec not found |
int mediacodec_set_eos_cb | ( | mediacodec_h | mediacodec, |
mediacodec_eos_cb | callback, | ||
void * | user_data | ||
) |
set eos callback the media codec for process, asynchronously.
[in] | mediacodec | The handle to mediacodec |
[in] | callback | The callback function to register |
[in] | user_data | The user data to be passed to the callback function |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
int mediacodec_set_error_cb | ( | mediacodec_h | mediacodec, |
mediacodec_error_cb | callback, | ||
void * | user_data | ||
) |
set error callback the media codec for process, asynchronously.
[in] | mediacodec | The handle to mediacodec |
[in] | callback | The callback function to register |
[in] | user_data | The user data to be passed to the callback function |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
int mediacodec_set_input_buffer_used_cb | ( | mediacodec_h | mediacodec, |
mediacodec_input_buffer_used_cb | callback, | ||
void * | user_data | ||
) |
set empty buffer callback the media codec for process, asynchronously.
[in] | mediacodec | The handle to mediacodec |
[in] | callback | The callback function to register |
[in] | user_data | The user data to be passed to the callback function |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
int mediacodec_set_output_buffer_available_cb | ( | mediacodec_h | mediacodec, |
mediacodec_output_buffer_available_cb | callback, | ||
void * | user_data | ||
) |
set output buffer available callback the media codec for process, asynchronously.
[in] | mediacodec | The handle to mediacodec |
[in] | callback | The callback function to register |
[in] | user_data | The user data to be passed to the callback function |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
int mediacodec_set_vdec_info | ( | mediacodec_h | mediacodec, |
int | width, | ||
int | height | ||
) |
Sets the default info for the video decoder.
[in] | mediacodec | The handle to mediacodec |
[in] | width | The width for video decoding. |
[in] | height | The height for video decoding. |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
MEDIACODEC_ERROR_OUT_OF_MEMORY | Out of memory |
MEDIACODEC_ERROR_INVALID_OPERATION | Invalid operation |
int mediacodec_set_venc_info | ( | mediacodec_h | mediacodec, |
int | width, | ||
int | height, | ||
int | fps, | ||
int | target_bits | ||
) |
Sets the default info for the video encoder.
0
. [in] | mediacodec | The handle to mediacodec |
[in] | width | The width for video encoding. |
[in] | height | The height for video encoding. |
[in] | fps | The frame rate in frames per second. |
[in] | target_bits | The target bitrates in bits per second.(a unit of kbit) |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
MEDIACODEC_ERROR_OUT_OF_MEMORY | Out of memory |
MEDIACODEC_ERROR_INVALID_OPERATION | Invalid operation |
int mediacodec_unprepare | ( | mediacodec_h | mediacodec | ) |
Unprepares mediacodec for encoding/decoding.
[in] | mediacodec | The handle to mediacodec |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
MEDIACODEC_ERROR_OUT_OF_MEMORY | Out of memory |
MEDIACODEC_ERROR_INVALID_OPERATION | Invalid operation |
int mediacodec_unset_eos_cb | ( | mediacodec_h | mediacodec | ) |
unset eos callback the media codec for process, asynchronously.
[in] | mediacodec | The handle to mediacodec |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
int mediacodec_unset_error_cb | ( | mediacodec_h | mediacodec | ) |
unset error callback the media codec for process, asynchronously.
[in] | mediacodec | The handle to mediacodec |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
int mediacodec_unset_input_buffer_used_cb | ( | mediacodec_h | mediacodec | ) |
unset input buffer used callback the media codec for process, asynchronously.
[in] | mediacodec | The handle to mediacodec |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |
int mediacodec_unset_output_buffer_available_cb | ( | mediacodec_h | mediacodec | ) |
unset output buffer available callback the media codec for process, asynchronously.
[in] | mediacodec | The handle to mediacodec |
0
on success, otherwise a negative error value MEDIACODEC_ERROR_NONE | Successful |
MEDIACODEC_ERROR_INVALID_PARAMETER | Invalid parameter |