MEDIA_FORMAT_AAC_HE = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x1061), /**< media format mime type is AAC_HE, AUDIO, (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
MEDIA_FORMAT_AAC_HE_PS = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x1062), /**< media format mime type is AAC_HE_PS, AUDIO, (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
MEDIA_FORMAT_MP3 = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x1070), /**< media format mime type is MP3, AUDIO*/
+ MEDIA_FORMAT_MP2 = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x1071), /**< media format mime type is MP23, AUDIO, (Since 4.0) */
MEDIA_FORMAT_VORBIS = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x1080), /**< media format mime type is VORBIS, AUDIO, (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
MEDIA_FORMAT_FLAC = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x1090), /**< media format mime type is FLAC, AUDIO, (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
MEDIA_FORMAT_WMAV1 = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x10A0), /**< media format mime type is WMAV1, AUDIO, (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
MEDIA_FORMAT_WMAV2 = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x10A1), /**< media format mime type is WMAV2, AUDIO, (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
MEDIA_FORMAT_WMAPRO = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x10A2), /**< media format mime type is WMAVPRO, AUDIO, (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
MEDIA_FORMAT_WMALSL = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x10A3), /**< media format mime type is WMAVLSL, AUDIO, (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
+ MEDIA_FORMAT_AC3 = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x10B1), /**< media format mime type is AC3, AUDIO, (Since 4.0) */
+ MEDIA_FORMAT_EAC3 = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x10B2), /**< media format mime type is EAC3, AUDIO, (Since 4.0) */
+ MEDIA_FORMAT_DTS = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_ENCODED | 0x10C1), /**< media format mime type is DTS, AUDIO, (Since 4.0) */
MEDIA_FORMAT_PCM = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x1510), /**< media format mime type is PCM, AUDIO, indicates MEDIA_FORMAT_PCM_S16LE (Since 3.0) */
MEDIA_FORMAT_PCM_S16LE = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x1510), /**< media format mime type is PCM signed 16-bit little-endian, AUDIO, (Since 3.0) */
MEDIA_FORMAT_PCM_S32BE = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x1515), /**< media format mime type is PCM signed 32-bit big-endian, AUDIO, (Since 3.0) */
MEDIA_FORMAT_PCM_F32LE = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x1516), /**< media format mime type is PCM 32-bit floating point little-endian, AUDIO, (Since 3.0) */
MEDIA_FORMAT_PCM_F32BE = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x1517), /**< media format mime type is PCM 32-bit floating point big-endian, AUDIO, (Since 3.0) */
+ MEDIA_FORMAT_PCM_U16LE = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x1518), /**< media format mime type is PCM unsigned 16-bit little-endian, AUDIO, (Since 4.0) */
+ MEDIA_FORMAT_PCM_U24LE = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x1519), /**< media format mime type is PCM unsigned 24-bit little-endian, AUDIO, (Since 4.0) */
+ MEDIA_FORMAT_PCM_U32LE = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x151A), /**< media format mime type is PCM unsigned 32-bit little-endian, AUDIO, (Since 4.0) */
+ MEDIA_FORMAT_PCM_U16BE = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x151B), /**< media format mime type is PCM unsigned 16-bit big-endian, AUDIO, (Since 4.0) */
+ MEDIA_FORMAT_PCM_U24BE = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x151C), /**< media format mime type is PCM unsigned 24-bit big-endian, AUDIO, (Since 4.0) */
+ MEDIA_FORMAT_PCM_U32BE = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x151D), /**< media format mime type is PCM unsigned 32-bit big-endian, AUDIO, (Since 4.0) */
MEDIA_FORMAT_PCMA = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x1520), /**< media format mime type is PCM A-law, AUDIO */
MEDIA_FORMAT_PCMU = (MEDIA_FORMAT_AUDIO | MEDIA_FORMAT_RAW | 0x1530), /**< media format mime type is PCM U-law, AUDIO */
MEDIA_FORMAT_VP8 = (MEDIA_FORMAT_VIDEO | MEDIA_FORMAT_ENCODED | 0x2090), /**< media format mime type is VP8, VIDEO, (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
MEDIA_FORMAT_VP9 = (MEDIA_FORMAT_VIDEO | MEDIA_FORMAT_ENCODED | 0x20A0), /**< media format mime type is VP9, VIDEO, (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
MEDIA_FORMAT_VC1 = (MEDIA_FORMAT_VIDEO | MEDIA_FORMAT_ENCODED | 0x20B0), /**< media format mime type is VC1, VIDEO, (Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif) */
+ MEDIA_FORMAT_DIVX4 = (MEDIA_FORMAT_VIDEO | MEDIA_FORMAT_ENCODED | 0x20C4), /**< media format mime type is DIVX4, VIDEO, (Since 4.0) */
+ MEDIA_FORMAT_DIVX5 = (MEDIA_FORMAT_VIDEO | MEDIA_FORMAT_ENCODED | 0x20C5), /**< media format mime type is DIVX5, VIDEO, (Since 4.0) */
+ MEDIA_FORMAT_XVID = (MEDIA_FORMAT_VIDEO | MEDIA_FORMAT_ENCODED | 0x20d0), /**< media format mime type is XVID, VIDEO, (Since 4.0) */
MEDIA_FORMAT_I420 = (MEDIA_FORMAT_VIDEO | MEDIA_FORMAT_RAW | 0x2510), /**< media format mime type is I420, VIDEO */
MEDIA_FORMAT_NV12 = (MEDIA_FORMAT_VIDEO | MEDIA_FORMAT_RAW | 0x2520), /**< media format mime type is NV12, VIDEO */
*/
int media_format_make_writable(media_format_h fmt, media_format_h * out_fmt);
+/**
+ * @brief Sets extra data of media format.
+ * @details The user can sets data that media format does not support.
+ * @since_tizen 4.0
+ * @param[in] fmt The media format handle
+ * @param[in] extra The extra data to set
+ *
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ * @retval #MEDIA_FORMAT_ERROR_NONE Successful
+ * @retval #MEDIA_FORMAT_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see media_format_get_extra()
+ */
+int media_format_set_extra(media_format_h fmt, void *extra);
+
+/**
+ * @brief Gets extra data of media format.
+ * @details The user can get extra data which user sets value via media_format_set_extra().
+ * @since_tizen 4.0
+ * @param[in] fmt The media format handle
+ * @param[out] extra The extra data to get
+ *
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ * @retval #MEDIA_FORMAT_ERROR_NONE Successful
+ * @retval #MEDIA_FORMAT_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see media_format_set_extra()
+ */
+int media_format_get_extra(media_format_h fmt, void **extra);
/**
* @}
*/
case MEDIA_FORMAT_MPEG2_HP:
case MEDIA_FORMAT_MPEG4_SP:
case MEDIA_FORMAT_MPEG4_ASP:
+ case MEDIA_FORMAT_DIVX4:
+ case MEDIA_FORMAT_DIVX5:
+ case MEDIA_FORMAT_XVID:
stride = _ROUND_UP_16(width);
buffersize = (stride + (_ROUND_UP_16(width) / 2)) * height;
break;
#define OGG_MAX_FRM_SIZE (2048) /* FIXME - Need */
#define FLAC_MAX_FRM_SIZE (4096) /* FIXME - Need */
#define WMA_MAX_FRM_SIZE (2048) /* FIXME - Need */
+#define DTS_MAX_FRM_SIZE (2048) /* FIXME - Need */
+#define AC3_MAX_FRM_SIZE (2048) /* FIXME - Need */
+#define EAC3_MAX_FRM_SIZE (4096) /* FIXME - Need */
#define PCM_MAX_NCH (2)
#define MPEG_MIN_NCH (2)
#define AMR_MAX_NCH (1)
#define WMA_MAX_NCH (2)
+#define DTS_MAX_NCH (2)
+#define AC3_MAX_NCH (2)
+#define EAC3_MAX_NCH (2)
static size_t _pkt_calculate_audio_buffer_size(media_packet_s *pkt)
{
}
switch (pkt->format->mimetype) {
- case MEDIA_FORMAT_PCM:
+ case MEDIA_FORMAT_PCM_S16LE:
+ case MEDIA_FORMAT_PCM_S24LE:
+ case MEDIA_FORMAT_PCM_S32LE:
+ case MEDIA_FORMAT_PCM_S16BE:
+ case MEDIA_FORMAT_PCM_S24BE:
+ case MEDIA_FORMAT_PCM_S32BE:
+ case MEDIA_FORMAT_PCM_U16LE:
+ case MEDIA_FORMAT_PCM_U24LE:
+ case MEDIA_FORMAT_PCM_U32LE:
+ case MEDIA_FORMAT_PCM_U16BE:
+ case MEDIA_FORMAT_PCM_U24BE:
+ case MEDIA_FORMAT_PCM_U32BE:
buffersize = (PCM_MAX_FRM_SIZE * PCM_MAX_NCH) * (size_t)(bit / 8);
break;
case MEDIA_FORMAT_AAC_LC:
case MEDIA_FORMAT_AAC_HE:
case MEDIA_FORMAT_AAC_HE_PS:
+ case MEDIA_FORMAT_MP2:
case MEDIA_FORMAT_MP3:
buffersize = (MPEG_MAX_FRM_SIZE * MPEG_MIN_NCH) * 2; /* 2 = (16bit/8) */
break;
case MEDIA_FORMAT_WMALSL:
buffersize = (WMA_MAX_FRM_SIZE * WMA_MAX_NCH) * 2; /* 2 = (16bit/8) */
break;
+ case MEDIA_FORMAT_DTS:
+ buffersize = (DTS_MAX_FRM_SIZE * DTS_MAX_NCH) * 2; /* 2 = (16bit/8) */
+ break;
+ case MEDIA_FORMAT_AC3:
+ buffersize = (AC3_MAX_FRM_SIZE * AC3_MAX_NCH) * 2; /* 2 = (16bit/8) */
+ break;
+ case MEDIA_FORMAT_EAC3:
+ buffersize = (EAC3_MAX_FRM_SIZE * EAC3_MAX_NCH) * 2; /* 2 = (16bit/8) */
+ break;
default:
LOGE("Not supported format\n");
return 0;