| 
    Tizen Native API
    5.5
    
   
   | 
  
  
  
 
The Media Tool APIs provides functions for AV packet buffer for interworking between multimedia framework module .
#include <media_packet.h>
MEDIA TOOL API allows :
The media packet handle is created by caller. After creating media_packet_h handle, the caller can set & get other meta data.
Functions | |
| int | media_packet_create_alloc (media_format_h fmt, media_packet_finalize_cb fcb, void *fcb_data, media_packet_h *packet) | 
| Creates a media packet handle and allocates buffer.   | |
| int | media_packet_create (media_format_h fmt, media_packet_finalize_cb fcb, void *fcb_data, media_packet_h *packet) | 
| Creates a media packet handle.   | |
| int | media_packet_copy (media_packet_h org_packet, media_packet_finalize_cb fcb, void *fcb_data, media_packet_h *new_packet) | 
| Copies a media packet handle.   | |
| int | media_packet_alloc (media_packet_h packet) | 
| Allocates buffer with media packet handle.   | |
| int | media_packet_create_from_tbm_surface (media_format_h fmt, tbm_surface_h surface, media_packet_finalize_cb fcb, void *fcb_data, media_packet_h *packet) | 
| Creates media packet handle and allocates buffer with tbm_surface_h.   | |
| int | media_packet_create_from_external_memory (media_format_h fmt, void *mem_ptr, uint64_t size, media_packet_finalize_cb fcb, void *fcb_data, media_packet_h *packet) | 
| Creates media packet handle with already allocated external buffer.   | |
| int | media_packet_get_format (media_packet_h packet, media_format_h *fmt) | 
| Gets media_format_h of media packet.   | |
| int | media_packet_set_format (media_packet_h packet, media_format_h fmt) | 
| Sets media_format_h of media packet.   | |
| int | media_packet_set_pts (media_packet_h packet, uint64_t pts) | 
| Sets presentation timestamp(pts) of media packet.   | |
| int | media_packet_set_dts (media_packet_h packet, uint64_t dts) | 
| Sets decoding timestamp(dts) of media packet handle.   | |
| int | media_packet_set_duration (media_packet_h packet, uint64_t duration) | 
| Sets duration of media packet.   | |
| int | media_packet_set_buffer_size (media_packet_h packet, uint64_t size) | 
| Sets buffer size of media packet.   | |
| int | media_packet_get_pts (media_packet_h packet, uint64_t *pts) | 
| Gets presentation timestamp(pts) of media packet.   | |
| int | media_packet_get_dts (media_packet_h packet, uint64_t *dts) | 
| Gets decoding timestamp(dts) of media packet.   | |
| int | media_packet_get_duration (media_packet_h packet, uint64_t *duration) | 
| Gets duration of media packet.   | |
| int | media_packet_get_buffer_size (media_packet_h packet, uint64_t *size) | 
| Gets buffer size of media packet.   | |
| int | media_packet_get_buffer_data_ptr (media_packet_h packet, void **data) | 
| Gets buffer data pointer of media packet.   | |
| int | media_packet_get_tbm_surface (media_packet_h packet, tbm_surface_h *surface) | 
| Gets TBM surface data of media packet.   | |
| int | media_packet_set_extra (media_packet_h packet, void *extra) | 
| Sets extra data of media packet.   | |
| int | media_packet_get_extra (media_packet_h packet, void **extra) | 
| Gets extra data of media packet.   | |
| int | media_packet_is_video (media_packet_h packet, bool *is_video) | 
| Checks whether the given media packet is for video.   | |
| int | media_packet_is_audio (media_packet_h packet, bool *is_audio) | 
| Checks whether the given media packet is for audio.   | |
| int | media_packet_is_text (media_packet_h packet, bool *is_text) | 
| Checks whether the given media packet is for text.   | |
| int | media_packet_is_encoded (media_packet_h packet, bool *is_encoded) | 
| Checks whether the given media packet is encoded type.   | |
| int | media_packet_is_raw (media_packet_h packet, bool *is_raw) | 
| Checks whether the given media packet is raw type.   | |
| int | media_packet_get_flags (media_packet_h packet, media_buffer_flags_e *flags) | 
| Gets media_buffer_flags_e of media packet.   | |
| int | media_packet_set_flags (media_packet_h packet, media_buffer_flags_e flags) | 
| Sets media_buffer_flags_e of media packet.   | |
| int | media_packet_unset_flags (media_packet_h packet, media_buffer_flags_e flags) | 
| Unsets media_buffer_flags_e of media packet.   | |
| int | media_packet_is_codec_config (media_packet_h packet, bool *is_codec_config) | 
| Checks whether the given media packet is codec data.   | |
| int | media_packet_is_end_of_stream (media_packet_h packet, bool *is_eos) | 
| Checks whether the given media packet is eos.   | |
| int | media_packet_is_sync_frame (media_packet_h packet, bool *is_sync) | 
| Checks whether the given media packet is sync frame.   | |
| int | media_packet_has_tbm_surface_buffer (media_packet_h packet, bool *has_tbm_surface) | 
| Checks whether the allocated buffer is tbm surface or not.   | |
| int | media_packet_get_number_of_video_planes (media_packet_h packet, uint32_t *num) | 
| Gets the number of planes from tbm surface in the given media packet.   | |
| int | media_packet_get_video_stride_width (media_packet_h packet, int plane_idx, int *stride_width) | 
| Gets stride width from tbm surface in the given media packet.   | |
| int | media_packet_get_video_stride_height (media_packet_h packet, int plane_idx, int *stride_height) | 
| Gets stride height from tbm surface in the given media packet.   | |
| int | media_packet_get_video_plane_data_ptr (media_packet_h packet, int plane_idx, void **plane_data_ptr) | 
| Gets plane data pointer from tbm surface in the given media packet.   | |
| int | media_packet_get_codec_data (media_packet_h packet, void **codec_data, unsigned int *codec_data_size) | 
| Gets codec data and the codec data size of media packet.   | |
| int | media_packet_destroy (media_packet_h packet) | 
| Destroys the media packet handle.   | |
| int | media_packet_set_rotate_method (media_packet_h packet, media_packet_rotate_method_e method) | 
| Sets the rotation method.   | |
| int | media_packet_get_rotate_method (media_packet_h packet, media_packet_rotate_method_e *method) | 
| Gets the rotation method.   | |
| int | media_packet_pool_create (media_packet_pool_h *pool) | 
| Creates a media packet pool to handle the media packets.   | |
| int | media_packet_pool_set_media_format (media_packet_pool_h pool, media_format_h fmt) | 
| Sets the media format for the media packet pool.   | |
| int | media_packet_pool_set_size (media_packet_pool_h pool, int min_buffers, int max_buffers) | 
| Sets the media packet pool size.   | |
| int | media_packet_pool_get_size (media_packet_pool_h pool, int *min_buffers, int *max_buffers, int *curr_buffers) | 
| Gets the media packet pool size.   | |
| int | media_packet_pool_allocate (media_packet_pool_h pool) | 
| Allocates the media packet pool.   | |
| int | media_packet_pool_acquire_packet (media_packet_pool_h pool, media_packet_h *pkt, long timeout) | 
| Acquires a media packet from the media packet pool.   | |
| int | media_packet_pool_release_packet (media_packet_pool_h pool, media_packet_h pkt) | 
| Releases the media packet to pool.   | |
| int | media_packet_pool_deallocate (media_packet_pool_h pool) | 
| Deallocates all the media packets.   | |
| int | media_packet_pool_destroy (media_packet_pool_h pool) | 
| Destroys the media packet pool.   | |
Typedefs | |
| typedef struct media_packet_s * | media_packet_h | 
| The Media Packet handle.   | |
| typedef enum _finalize_cb_ret | media_packet_finalize_cb_ret_t | 
| Enumeration for the return values of media packet finalize call back functions.   | |
| typedef int(* | media_packet_finalize_cb )(media_packet_h packet, int error_code, void *user_data) | 
| Called when the media packet is destroyed.   | |
| typedef struct  media_packet_pool_s *  | media_packet_pool_h | 
| The Media Packet Pool Handle.   | |
| typedef int(* media_packet_finalize_cb)(media_packet_h packet, int error_code, void *user_data) | 
Called when the media packet is destroyed.
It will be invoked when media_packet_destroy() is called.
| [in] | packet | The media packet handle | 
| [in] | error_code | The error code of media_packet_error_e | 
| [in] | user_data | The user data passed from the callback registration function | 
| MEDIA_PACKET_REUSE | Packet handle is not destroyed, the handle will be reused. | 
| MEDIA_PACKET_FINALIZE | Destroy media packet handle, the handle will not be reused. | 
| typedef enum _finalize_cb_ret media_packet_finalize_cb_ret_t | 
Enumeration for the return values of media packet finalize call back functions.
| typedef struct media_packet_s* media_packet_h | 
The Media Packet handle.
| typedef struct media_packet_pool_s* media_packet_pool_h | 
The Media Packet Pool Handle.
| enum _finalize_cb_ret | 
Enumeration for the return values of media packet finalize call back functions.
| enum media_buffer_flags_e | 
Enumeration for media buffer flag.
| enum media_packet_error_e | 
Enumeration for media packet error.
Enumeration for media packet rotation method.
| int media_packet_alloc | ( | media_packet_h | packet | ) | 
Allocates buffer with media packet handle.
Before using media_packet_alloc(), media packet handle must be exist.
| [in] | packet | The existing media packet handle | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_OUT_OF_MEMORY | Out of memory | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_copy | ( | media_packet_h | org_packet, | 
| media_packet_finalize_cb | fcb, | ||
| void * | fcb_data, | ||
| media_packet_h * | new_packet | ||
| ) | 
Copies a media packet handle.
It re-creates only media packet handle with exist media packet handle.
new_packet must be released by using media_packet_destroy(). | [in] | org_packet | The existing media packet handle | 
| [in] | fcb | The media_packet_finalize_cb() to register | 
| [in] | fcb_data | The user data to be passed to the media_packet_finalize_cb() function | 
| [out] | new_packet | A new handle for media packet | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_OUT_OF_MEMORY | Out of memory | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_create | ( | media_format_h | fmt, | 
| media_packet_finalize_cb | fcb, | ||
| void * | fcb_data, | ||
| media_packet_h * | packet | ||
| ) | 
Creates a media packet handle.
It creates only media packet handle without allocated buffer.
packet must be released by using media_packet_destroy(). | [in] | fmt | The allocated media_format_h by caller | 
| [in] | fcb | The media_packet_finalize_cb() to register | 
| [in] | fcb_data | The user data to be passed to the media_packet_finalize_cb() function | 
| [out] | packet | A new handle for media packet | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_OUT_OF_MEMORY | Out of memory | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
#include <media_packet.h> { media_format_h fmt; media_packet_h packet; media_format_create(&fmt); media_format_set_video_mime(fmt, MEDIA_FORMAT_H264_HP); media_format_set_video_width(fmt, 640); media_format_set_video_height(fmt, 480); media_format_set_video_avg_bps(fmt, 10000000); media_format_set_video_max_bps(fmt, 15000000); media_packet_create (fmt, _finalize_callback, fcb_data, &packet); media_format_unref(fmt); ... media_packet_destroy(packet); } int _finalize_callback(media_packet_h packet, int err, void* userdata) { ... return MEDIA_PACKET_FINALIZE; }
| int media_packet_create_alloc | ( | media_format_h | fmt, | 
| media_packet_finalize_cb | fcb, | ||
| void * | fcb_data, | ||
| media_packet_h * | packet | ||
| ) | 
Creates a media packet handle and allocates buffer.
The buffer will be allocated to heap or tbm_surface.
| [in] | fmt | The allocated media_format_h by caller | 
| [in] | fcb | The media_packet_finalize_cb() to register | 
| [in] | fcb_data | The user data to be passed to the media_packet_finalize_cb() function | 
| [out] | packet | A new handle for media packet | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_OUT_OF_MEMORY | Out of memory | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
#include <media_packet.h> { media_format_h fmt; media_packet_h packet; media_format_create(&fmt); media_format_set_video_mime(fmt, MEDIA_FORMAT_H264_HP); media_format_set_video_width(fmt, 640); media_format_set_video_height(fmt, 480); media_format_set_video_avg_bps(fmt, 10000000); media_format_set_video_max_bps(fmt, 15000000); media_packet_create_alloc (fmt, _finalize_callback, fcb_data, &packet); media_format_unref(fmt); ... media_packet_destroy(packet); } int _finalize_callback(media_packet_h packet, int err, void* userdata) { ... return MEDIA_PACKET_FINALIZE; }
| int media_packet_create_from_external_memory | ( | media_format_h | fmt, | 
| void * | mem_ptr, | ||
| uint64_t | size, | ||
| media_packet_finalize_cb | fcb, | ||
| void * | fcb_data, | ||
| media_packet_h * | packet | ||
| ) | 
Creates media packet handle with already allocated external buffer.
It does not support video's MEDIA_FORMAT_RAW type.
packet must be released by using media_packet_destroy(). | [in] | fmt | The allocated media_format_h by caller | 
| [in] | mem_ptr | The memory pointer which is created by external module | 
| [in] | size | The buffer size value to set | 
| [in] | fcb | The media_packet_finalize_cb() to register | 
| [in] | fcb_data | The user data to be passed to the media_packet_finalize_cb() function | 
| [out] | packet | A new handle for media packet | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_OUT_OF_MEMORY | Out of memory | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
#include <media_packet.h> { media_format_h fmt; media_packet_h packet; media_format_create(&fmt); media_format_set_video_mime(fmt, MEDIA_FORMAT_H264_HP); media_format_set_video_width(fmt, 640); media_format_set_video_height(fmt, 480); media_format_set_video_avg_bps(fmt, 10000000); media_format_set_video_max_bps(fmt, 15000000); media_packet_create_from_external_memory (fmt, mem_ptr, size, _finalize_callback, fcb_data, &packet); media_format_unref(fmt); ... media_packet_destroy(packet); } int _finalize_callback(media_packet_h packet, int err, void* userdata) { ... return MEDIA_PACKET_FINALIZE; }
| int media_packet_create_from_tbm_surface | ( | media_format_h | fmt, | 
| tbm_surface_h | surface, | ||
| media_packet_finalize_cb | fcb, | ||
| void * | fcb_data, | ||
| media_packet_h * | packet | ||
| ) | 
Creates media packet handle and allocates buffer with tbm_surface_h.
packet must be released by using media_packet_destroy(). | [in] | fmt | The allocated media_format_h by caller | 
| [in] | surface | The tbm_surface_h by caller | 
| [in] | fcb | The media_packet_finalize_cb() to register | 
| [in] | fcb_data | The user data to be passed to the media_packet_finalize_cb() function | 
| [out] | packet | A new handle for media packet | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_OUT_OF_MEMORY | Out of memory | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
#include <media_packet.h> { media_format_h fmt; media_packet_h packet; media_format_create(&fmt); media_format_set_video_mime(fmt, MEDIA_FORMAT_H264_HP); media_format_set_video_width(fmt, 640); media_format_set_video_height(fmt, 480); media_format_set_video_avg_bps(fmt, 10000000); media_format_set_video_max_bps(fmt, 15000000); media_packet_create_from_tbm_surface (fmt, surface, _finalize_callback, fcb_data, &packet); media_format_unref(fmt); ... media_pacekt_destory(packet); } int _finalize_callback(media_packet_h packet, int err, void* userdata) { ... return MEDIA_PACKET_FINALIZE; }
| int media_packet_destroy | ( | media_packet_h | packet | ) | 
Destroys the media packet handle.
The registered finalize_callback() function will be invoked to destroy the media packet handle.
| [in] | packet | The handle to media packet to be destroyed | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_buffer_data_ptr | ( | media_packet_h | packet, | 
| void ** | data | ||
| ) | 
Gets buffer data pointer of media packet.
| [in] | packet | The media packet handle | 
| [out] | data | The allocated buffer data pointer | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_buffer_size | ( | media_packet_h | packet, | 
| uint64_t * | size | ||
| ) | 
Gets buffer size of media packet.
| [in] | packet | The media packet handle | 
| [out] | size | The buffer size value to get | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_codec_data | ( | media_packet_h | packet, | 
| void ** | codec_data, | ||
| unsigned int * | codec_data_size | ||
| ) | 
Gets codec data and the codec data size of media packet.
| [in] | packet | The media packet handle | 
| [out] | codec_data | The codec data to get | 
| [out] | codec_data_size | The codec data size to get | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_dts | ( | media_packet_h | packet, | 
| uint64_t * | dts | ||
| ) | 
Gets decoding timestamp(dts) of media packet.
| [in] | packet | The media packet handle | 
| [out] | dts | The dts in nanoseconds to get | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_duration | ( | media_packet_h | packet, | 
| uint64_t * | duration | ||
| ) | 
Gets duration of media packet.
| [in] | packet | The media packet handle | 
| [out] | duration | The duration in nanoseconds to get | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_extra | ( | media_packet_h | packet, | 
| void ** | extra | ||
| ) | 
Gets extra data of media packet.
| [in] | packet | The media packet handle | 
| [out] | extra | The extra data to get | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_flags | ( | media_packet_h | packet, | 
| media_buffer_flags_e * | flags | ||
| ) | 
Gets media_buffer_flags_e of media packet.
| [in] | packet | The media packet handle | 
| [out] | flags | The media_buffer_flags_e of media packet to get | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_format | ( | media_packet_h | packet, | 
| media_format_h * | fmt | ||
| ) | 
Gets media_format_h of media packet.
| [in] | packet | The media packet handle | 
| [out] | fmt | The media format of media packet | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
#include <media_packet.h> { media_format_h* fmt; media_packet_get_format (pakcet, &fmt); .. media_format_unref(fmt); ... }
| int media_packet_get_number_of_video_planes | ( | media_packet_h | packet, | 
| uint32_t * | num | ||
| ) | 
Gets the number of planes from tbm surface in the given media packet.
Use only if the media_format_h is MEDIA_FORMAT_RAW and MEDIA_FORMAT_VIDEO. It means that media_packet_h's buffer is allocated on tbm_surface. If not sure of that, use media_packet_is_video() and media_packet_is_raw() or media_packet_has_tbm_surface_buffer().
| [in] | packet | The media packet handle | 
| [out] | num | The number of planes from tbm_surface | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_pts | ( | media_packet_h | packet, | 
| uint64_t * | pts | ||
| ) | 
Gets presentation timestamp(pts) of media packet.
| [in] | packet | The media packet handle | 
| [out] | pts | The pts in nanoseconds to get | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| int media_packet_get_rotate_method | ( | media_packet_h | packet, | 
| media_packet_rotate_method_e * | method | ||
| ) | 
Gets the rotation method.
| [in] | packet | The media packet handle | 
| [out] | method | The rotation method | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_tbm_surface | ( | media_packet_h | packet, | 
| tbm_surface_h * | surface | ||
| ) | 
Gets TBM surface data of media packet.
| [in] | packet | The media packet handle | 
| [out] | surface | The tbm_surface data pointer | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_video_plane_data_ptr | ( | media_packet_h | packet, | 
| int | plane_idx, | ||
| void ** | plane_data_ptr | ||
| ) | 
Gets plane data pointer from tbm surface in the given media packet.
Use only if the media_format_h is MEDIA_FORMAT_RAW and MEDIA_FORMAT_VIDEO. It means that media_packet_h's buffer is allocated on tbm_surface. If not sure of that, use media_packet_is_video() and media_packet_is_raw() or media_packet_has_tbm_surface_buffer().
plane_data_ptr must not be released by using free(). Note that It is released by media_packet_destory() or tbm_surface_destroy(). | [in] | packet | The media packet handle | 
| [in] | plane_idx | The plane index value | 
| [out] | plane_data_ptr | The plane data pointer from tbm_surface | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_video_stride_height | ( | media_packet_h | packet, | 
| int | plane_idx, | ||
| int * | stride_height | ||
| ) | 
Gets stride height from tbm surface in the given media packet.
Use only if the media_format_h is MEDIA_FORMAT_RAW and MEDIA_FORMAT_VIDEO. It means that media_packet_h's buffer is allocated on tbm_surface. If not sure of that, use media_packet_is_video() and media_packet_is_raw() or media_packet_has_tbm_surface_buffer().
| [in] | packet | The media packet handle | 
| [in] | plane_idx | The plane index value | 
| [out] | stride_height | The stride height value from tbm_surface | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_get_video_stride_width | ( | media_packet_h | packet, | 
| int | plane_idx, | ||
| int * | stride_width | ||
| ) | 
Gets stride width from tbm surface in the given media packet.
Use only if the media_format_h is MEDIA_FORMAT_RAW and MEDIA_FORMAT_VIDEO. It means that media_packet_h's buffer is allocated on tbm_surface. If not sure of that, use media_packet_is_video() and media_packet_is_raw() or media_packet_has_tbm_surface_buffer().
| [in] | packet | The media packet handle | 
| [in] | plane_idx | The plane index value | 
| [out] | stride_width | the stride value from tbm_surface | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_has_tbm_surface_buffer | ( | media_packet_h | packet, | 
| bool * | has_tbm_surface | ||
| ) | 
Checks whether the allocated buffer is tbm surface or not.
| [in] | packet | The media packet handle | 
| [out] | has_tbm_surface | true if the given media packet's allocated buffer is tbm surface, otherwise false if the given media packet's allocated buffer is not tbm surface | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_is_audio | ( | media_packet_h | packet, | 
| bool * | is_audio | ||
| ) | 
Checks whether the given media packet is for audio.
| [in] | packet | The media packet handle | 
| [out] | is_audio | true if the given media packet is for audio, otherwise false if the given media packet is not for audio | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_is_codec_config | ( | media_packet_h | packet, | 
| bool * | is_codec_config | ||
| ) | 
Checks whether the given media packet is codec data.
| [in] | packet | The media packet handle | 
| [out] | is_codec_config | true if the given media packet is for codec data, otherwise false if the given media packet is not for codec data | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_is_encoded | ( | media_packet_h | packet, | 
| bool * | is_encoded | ||
| ) | 
Checks whether the given media packet is encoded type.
| [in] | packet | The media packet handle | 
| [out] | is_encoded | true if the given media packet is encoded, otherwise false if the given media packet is not encoded | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_is_end_of_stream | ( | media_packet_h | packet, | 
| bool * | is_eos | ||
| ) | 
Checks whether the given media packet is eos.
| [in] | packet | The media packet handle | 
| [out] | is_eos | true if the given media packet is for eos, otherwise false if the given media packet is not for eos | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_is_raw | ( | media_packet_h | packet, | 
| bool * | is_raw | ||
| ) | 
Checks whether the given media packet is raw type.
| [in] | packet | The media packet handle | 
| [out] | is_raw | true if the given media packet is for raw video, otherwise false if the given media packet is not for raw video | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_is_sync_frame | ( | media_packet_h | packet, | 
| bool * | is_sync | ||
| ) | 
Checks whether the given media packet is sync frame.
| [in] | packet | The media packet handle | 
| [out] | is_sync | true if the given media packet is for sync frame, otherwise false if the given media packet is not for sync frame | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_is_text | ( | media_packet_h | packet, | 
| bool * | is_text | ||
| ) | 
Checks whether the given media packet is for text.
| [in] | packet | The media packet handle | 
| [out] | is_text | true if the given media packet is for text, otherwise false if the given media packet is not for text | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_is_video | ( | media_packet_h | packet, | 
| bool * | is_video | ||
| ) | 
Checks whether the given media packet is for video.
| [in] | packet | The media packet handle | 
| [out] | is_video | true if the given media packet is for video, otherwise false if the given media packet is not for video | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_pool_acquire_packet | ( | media_packet_pool_h | pool, | 
| media_packet_h * | pkt, | ||
| long | timeout | ||
| ) | 
Acquires a media packet from the media packet pool.
It will take a media packet from the queue and block until media packet is released into the pool again. When there are no media packets available, it will be increased to max_buffers of given parameter.
| [in] | pool | The media packet pool handle | 
| [out] | pkt | The media packet handle | 
| [in] | timeout | It indicates the millisecond-timeouts to block while waiting for one of acquired packet to be released. If the value of timeout is -1, the pool blocks indefinitely until media packet into the pool. | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | The user does not allocate the pool. The pool should be allocated with media_packet_pool_allocate() before acquiring media packet from the pool.  | 
| MEDIA_PACKET_ERROR_NO_AVAILABLE_PACKET | No available packet | 
| int media_packet_pool_allocate | ( | media_packet_pool_h | pool | ) | 
Allocates the media packet pool.
It will allocate media packets with min_buffers which given to media_packet_pool_set_size().
| [in] | pool | The allocated pool handle | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_OUT_OF_MEMORY | Out of memory | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | The user set the invalid format with media_packet_pool_set_format() or set the invalid size with media_packet_pool_set_size(). The user already allocate the pool.  | 
| int media_packet_pool_create | ( | media_packet_pool_h * | pool | ) | 
Creates a media packet pool to handle the media packets.
It creates a media packet pool instance
| [out] | pool | The media packet pool handle | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_OUT_OF_MEMORY | Out of memory | 
| int media_packet_pool_deallocate | ( | media_packet_pool_h | pool | ) | 
Deallocates all the media packets.
Deallocates the packets allocated with media_packet_pool_allocate().
| [in] | pool | The media packet pool handle | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | The user does not release all media packets to the pool. | 
| int media_packet_pool_destroy | ( | media_packet_pool_h | pool | ) | 
Destroys the media packet pool.
Destroys the media packet pool handle and releases all its resources.
| [in] | pool | The handle to media packet pool to be destroyed | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | The user does not create media packet pool instance, or not deallocate all media packets with media_packet_pool_deallocate(). | 
| int media_packet_pool_get_size | ( | media_packet_pool_h | pool, | 
| int * | min_buffers, | ||
| int * | max_buffers, | ||
| int * | curr_buffers | ||
| ) | 
Gets the media packet pool size.
Gets the configuration values from the pool.
| [in] | pool | The allocated pool handle | 
| [out] | min_buffers | The minimum number of buffers to allocate | 
| [out] | max_buffers | The maximum number of buffers to allocate | 
| [out] | curr_buffers | The current number of allocated buffers | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| int media_packet_pool_release_packet | ( | media_packet_pool_h | pool, | 
| media_packet_h | pkt | ||
| ) | 
Releases the media packet to pool.
Rlease a packet back in the pool. It will put the packet back in the queue.
| [in] | pool | The media packet pool handle | 
| [in] | pkt | The packet to release, the pkt should have previously been acquired from the pool with media_packet_pool_acquire_packet() | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_OUT_OF_MEMORY | Out of memory | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | The user releases media packet which is not associated with a given pool. | 
| int media_packet_pool_set_media_format | ( | media_packet_pool_h | pool, | 
| media_format_h | fmt | ||
| ) | 
Sets the media format for the media packet pool.
| [in] | pool | The media packet pool handle | 
| [in] | fmt | The media_format_h allocated by the caller | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| int media_packet_pool_set_size | ( | media_packet_pool_h | pool, | 
| int | min_buffers, | ||
| int | max_buffers | ||
| ) | 
Sets the media packet pool size.
Sets the number of packets to allocate with given parameters. The media packet pool will be allocated with min_buffers when media_packet_pool_allocate() is called. When there are no media packets available, it will be increased to max_buffers of given parameter.
| [in] | pool | The allocated pool handle | 
| [in] | min_buffers | The minimum number of buffers to allocate | 
| [in] | max_buffers | The maximum number of buffers to allocate | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_OUT_OF_MEMORY | Out of memory | 
| int media_packet_set_buffer_size | ( | media_packet_h | packet, | 
| uint64_t | size | ||
| ) | 
Sets buffer size of media packet.
| [in] | packet | The media packet handle | 
| [out] | size | The buffer size value to set | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_set_dts | ( | media_packet_h | packet, | 
| uint64_t | dts | ||
| ) | 
Sets decoding timestamp(dts) of media packet handle.
| [in] | packet | The media packet handle | 
| [in] | dts | The dts in nanoseconds to set | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_set_duration | ( | media_packet_h | packet, | 
| uint64_t | duration | ||
| ) | 
Sets duration of media packet.
| [in] | packet | The media packet handle | 
| [in] | duration | The duration in nanoseconds to set | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_set_extra | ( | media_packet_h | packet, | 
| void * | extra | ||
| ) | 
Sets extra data of media packet.
| [in] | packet | The media packet handle | 
| [in] | extra | The extra data to set | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_set_flags | ( | media_packet_h | packet, | 
| media_buffer_flags_e | flags | ||
| ) | 
Sets media_buffer_flags_e of media packet.
| [in] | packet | The media packet handle | 
| [in] | flags | The media_buffer_flags_e of media packet to set | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_set_format | ( | media_packet_h | packet, | 
| media_format_h | fmt | ||
| ) | 
Sets media_format_h of media packet.
| [in] | packet | The media packet handle | 
| [in] | fmt | The media_format_h to set | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
#include <media_packet.h> { media_format_h fmt; media_packet_set_format (pakcet, fmt); .. media_format_unref(fmt); ... }
| int media_packet_set_pts | ( | media_packet_h | packet, | 
| uint64_t | pts | ||
| ) | 
Sets presentation timestamp(pts) of media packet.
| [in] | packet | The media packet handle | 
| [in] | pts | The pts in nanoseconds to set | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_set_rotate_method | ( | media_packet_h | packet, | 
| media_packet_rotate_method_e | method | ||
| ) | 
Sets the rotation method.
| [in] | packet | The media packet handle | 
| [in] | method | The rotation method | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation | 
| int media_packet_unset_flags | ( | media_packet_h | packet, | 
| media_buffer_flags_e | flags | ||
| ) | 
Unsets media_buffer_flags_e of media packet.
| [in] | packet | The media packet handle | 
| [in] | flags | The media_buffer_flags_e of media packet to unset | 
0 on success, otherwise a negative error value | MEDIA_PACKET_ERROR_NONE | Successful | 
| MEDIA_PACKET_ERROR_INVALID_PARAMETER | Invalid parameter | 
| MEDIA_PACKET_ERROR_INVALID_OPERATION | Invalid operation |