#ifndef __PLUSPLAYER_ESPLUSPLAYER_CAPI_BUFFER_H__
#define __PLUSPLAYER_ESPLUSPLAYER_CAPI_BUFFER_H__
-#include <cstdint>
-
#ifdef __cplusplus
extern "C" {
#endif
+#include <stdint.h>
+
/**
* @brief Enumerations for the buffer status
*/
-enum esplusplayer_buffer_status {
+typedef enum {
ESPLUSPLAYER_BUFFER_STATUS_UNDERRUN,
ESPLUSPLAYER_BUFFER_STATUS_OVERRUN
-};
+} esplusplayer_buffer_status;
/**
* @brief Enumerations for video decoded buffer type
* decoded video frame will be croped and scaled, then sent to
* user by media_packet_video_decoded_cb, only support hw decoder now
*/
-enum esplusplayer_decoded_video_frame_buffer_type {
+typedef enum {
ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_NONE,
ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_COPY,
ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_REFERENCE,
ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_SCALE
-};
+} esplusplayer_decoded_video_frame_buffer_type;
/**
* @brief Enumerations for buffer size option
* MIN_BYTE_THRESHOLD : Emit under-run when queued bytes drops below this
* percent of max-byte-size(size%)
*/
-enum esplusplayer_buffer_option {
+typedef enum {
ESPLUSPLAYER_BUFFER_AUDIO_MAX_TIME_SIZE,
ESPLUSPLAYER_BUFFER_VIDEO_MAX_TIME_SIZE,
ESPLUSPLAYER_BUFFER_AUDIO_MIN_TIME_THRESHOLD,
ESPLUSPLAYER_BUFFER_VIDEO_MAX_BYTE_SIZE,
ESPLUSPLAYER_BUFFER_AUDIO_MIN_BYTE_THRESHOLD,
ESPLUSPLAYER_BUFFER_VIDEO_MIN_BYTE_THRESHOLD
-};
+} esplusplayer_buffer_option;
/**
* @brief video decoded buffer struct
/**
* @brief Enumerations for the display mode
*/
-enum esplusplayer_display_mode {
+typedef enum {
ESPLUSPLAYER_DISPLAY_MODE_LETTER_BOX,
ESPLUSPLAYER_DISPLAY_MODE_ORIGIN_SIZE,
ESPLUSPLAYER_DISPLAY_MODE_FULL_SCREEN,
ESPLUSPLAYER_DISPLAY_MODE_CROPPED_FULL,
ESPLUSPLAYER_DISPLAY_MODE_ORIGIN_OR_LETTER,
ESPLUSPLAYER_DISPLAY_MODE_DST_ROI
-};
+} esplusplayer_display_mode;
/**
* @brief Enumerations for the display type
*/
-enum esplusplayer_display_type {
+typedef enum {
ESPLUSPLAYER_DISPLAY_TYPE_NONE,
ESPLUSPLAYER_DISPLAY_TYPE_OVERLAY,
ESPLUSPLAYER_DISPLAY_TYPE_EVAS,
ESPLUSPLAYER_DISPLAY_TYPE_MIXER
-};
+} esplusplayer_display_type;
/**
* @brief Enumerations for the display rotation type
*/
-enum esplusplayer_display_rotation_type {
+typedef enum {
ESPLUSPLAYER_DISPLAY_ROTATION_TYPE_NONE,
ESPLUSPLAYER_DISPLAY_ROTATION_TYPE_90,
ESPLUSPLAYER_DISPLAY_ROTATION_TYPE_180,
ESPLUSPLAYER_DISPLAY_ROTATION_TYPE_270
-};
+} esplusplayer_display_rotation_type;
#ifdef __cplusplus
} // extern "C"
/**
* @brief Enumerations for the drm type
*/
-enum esplusplayer_drm_type {
+typedef enum {
ESPLUSPLAYER_DRM_TYPE_NONE,
ESPLUSPLAYER_DRM_TYPE_PLAYREADY,
ESPLUSPLAYER_DRM_TYPE_MARLIN,
ESPLUSPLAYER_DRM_TYPE_VERIMATRIX,
ESPLUSPLAYER_DRM_TYPE_WV_MODULAR
-};
+} esplusplayer_drm_type;
/**
* @brief Enumerations for the algorithm encrypted
*/
-enum esplusplayer_drmb_es_cipher_algorithm {
+typedef enum {
ESPLUSPLAYER_DRMB_ES_CIPHER_ALGORITHM_UNKNOWN = -1,
ESPLUSPLAYER_DRMB_ES_CIPHER_ALGORITHM_RC4 = 0,
ESPLUSPLAYER_DRMB_ES_CIPHER_ALGORITHM_AES128_CTR = 1,
ESPLUSPLAYER_DRMB_ES_CIPHER_ALGORITHM_AES128_CBC = 2
-};
+} esplusplayer_drmb_es_cipher_algorithm;
/**
* @brief Enumerations for the algorithm encrypted
*/
-enum esplusplayer_drmb_es_media_format {
+typedef enum {
ESPLUSPLAYER_DRMB_ES_MEDIA_FORMAT_NONE = 0,
ESPLUSPLAYER_DRMB_ES_MEDIA_FORMAT_FMP4 = 1,
ESPLUSPLAYER_DRMB_ES_MEDIA_FORMAT_TS = 2,
ESPLUSPLAYER_DRMB_ES_MEDIA_FORMAT_FMP4_VIDEO = 5,
ESPLUSPLAYER_DRMB_ES_MEDIA_FORMAT_CLEAN_AUDIO = 6,
ESPLUSPLAYER_DRMB_ES_MEDIA_FORMAT_PES = 7
-};
+} esplusplayer_drmb_es_media_format;
/**
* @brief Enumerations for the phase for cipher
*/
-enum esplusplayer_drmb_es_cipher_phase {
+typedef enum {
ESPLUSPLAYER_DRMB_ES_CIPHER_PHASE_NONE = 0,
ESPLUSPLAYER_DRMB_ES_CIPHER_PHASE_INIT = 1,
ESPLUSPLAYER_DRMB_ES_CIPHER_PHASE_UPDATE = 2,
ESPLUSPLAYER_DRMB_ES_CIPHER_PHASE_FINAL = 3
-};
+} esplusplayer_drmb_es_cipher_phase;
/**
* @brief Subsample information structure for encrypted es
/**
* @brief Enumerations for the error type
*/
-enum esplusplayer_error_type {
+typedef enum {
ESPLUSPLAYER_ERROR_TYPE_NONE = TIZEN_ERROR_NONE, /**< Successful */
ESPLUSPLAYER_ERROR_TYPE_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
ESPLUSPLAYER_ERROR_TYPE_DRM_DECRYPTION_FAILED = ESPLUSPLAYER_CUSTOM_ERROR_CLASS | 0x05, /**< drm decryption failed */
ESPLUSPLAYER_ERROR_TYPE_NOT_SUPPORTED_FORMAT = ESPLUSPLAYER_CUSTOM_ERROR_CLASS | 0x08,/**< format not supported */
ESPLUSPLAYER_ERROR_TYPE_UNKNOWN
-};
+} esplusplayer_error_type;
#ifdef __cplusplus
} // extern "C"
#ifndef __PLUSPLAYER_ESPLUSPLAYER_CAPI_ESPACKET_H__
#define __PLUSPLAYER_ESPLUSPLAYER_CAPI_ESPACKET_H__
-#include <cstdint>
-
#include "esplusplayer_capi/matroska_color.h"
#include "esplusplayer_capi/stream.h"
extern "C" {
#endif
+#include <stdint.h>
+
/**
* @brief Es packet structure
*/
* @brief Enumerations for low latency mode
* @version 3.2
*/
-enum esplusplayer_low_latency_mode {
+typedef enum {
ESPLUSPLAYER_LOW_LATENCY_MODE_NONE = 0x0000,
/**
* @description to support audio fast decoding/rendering
* It can use enhanced game_mode.
*/
ESPLUSPLAYER_LOW_LATENCY_MODE_ENABLE_GAME_MODE = 0x2000
-};
+} esplusplayer_low_latency_mode;
/**
* @brief Enumerations for esplusplayer audio codec type
*/
-enum esplusplayer_audio_codec_type {
+typedef enum {
/**
* @description hardware codec can only be selected, default type
*/
* @description sorfware codec can only be selected
*/
ESPLUSPLAYER_AUDIO_CODEC_TYPE_SW
-};
+} esplusplayer_audio_codec_type;
/**
* @brief Enumerations for esplusplayer video codec type
*/
-enum esplusplayer_video_codec_type {
+typedef enum {
/**
* @description hardware codec can only be selected, default type
*/
*/
ESPLUSPLAYER_VIDEO_CODEC_TYPE_HW_N_DECODING
-};
+} esplusplayer_video_codec_type;
/**
* @brief Enumerations for esplusplayer audio easing type
* @version 3.0
*/
-enum esplusplayer_audio_easing_type {
+typedef enum {
/**
* @description audio easing function type is linear
*/
* @description audio easing function type is none
*/
ESPLUSPLAYER_AUDIO_EASING_NONE
-};
+} esplusplayer_audio_easing_type;
/**
* @brief Enumerations for esplusplayer resource type
* @version 3.0
*/
-enum esplusplayer_rsc_type {
+typedef enum {
/**
* @description video renderer type
*/
ESPLUSPLAYER_RSC_TYPE_VIDEO_RENDERER
-};
+} esplusplayer_rsc_type;
/**
* @brief Enumerations for advanced video quality type
* @version 3.1
*/
-enum esplusplayer_advanced_picture_quality_type {
+typedef enum {
/**
* @description advanced picture quality for video call
*/
* @description advanced picture quality for usb camera
*/
ESPLUSPLAYER_ADVANCED_PICTURE_QUALITY_USB_CAMERA
-};
+} esplusplayer_advanced_picture_quality_type;
typedef struct {
/**
/**
* @brief resource allocate policy
*/
-enum esplusplayer_rsc_alloc_policy {
+typedef enum {
/**
* @description exclusive policy, RM will return the requested resources,
* default policy
* available resources are not left, RM will return fail.
*/
ESPLUSPLAYER_RSC_ALLOC_EXCLUSIVE_CONDITIONAL
-};
+} esplusplayer_rsc_alloc_policy;
/**
* @brief Create a esplusplayer handle.
-/**\r
- * @file\r
- * @brief The event for playback.\r
- * @interfacetype Platform\r
- * @privlevel None-privilege\r
- * @privilege None\r
- * @product TV, AV, B2B\r
- * @version 2.0\r
- * @SDK_Support N\r
- * @remark This is a group of C style event related enum and structure.\r
- * @see N/A\r
- *\r
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved\r
- * PROPRIETARY/CONFIDENTIAL\r
- * This software is the confidential and proprietary\r
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall\r
- * not disclose such Confidential Information and shall use it only in\r
- * accordance with the terms of the license agreement you entered into with\r
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the\r
- * suitability of the software, either express or implied, including but not\r
- * limited to the implied warranties of merchantability, fitness for a\r
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any\r
- * damages suffered by licensee as a result of using, modifying or distributing\r
- * this software or its derivatives.\r
- */\r
-\r
-#ifndef __PLUSPLAYER_ESPLUSPLAYER_CAPI_EVENT_H__\r
-#define __PLUSPLAYER_ESPLUSPLAYER_CAPI_EVENT_H__\r
-\r
-#include <cstdint>\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-/**\r
- * @brief Event message\r
- */\r
-typedef struct {\r
- /**\r
- * @description event message data\r
- * eg) ESPLUSPLAYER_EVENT_RESOLUTION_CHANGED : "1920x1080"\r
- */\r
- char* data;\r
- /**\r
- * @description the length of event message data\r
- */\r
- uint64_t len;\r
-} esplusplayer_event_msg;\r
-\r
-/**\r
- * @brief Enumerations for event message types\r
- */\r
-enum esplusplayer_event_type {\r
- ESPLUSPLAYER_EVENT_NONE,\r
- ESPLUSPLAYER_EVENT_RESOLUTION_CHANGED,\r
-};\r
-\r
-#ifdef __cplusplus\r
-} // extern "C"\r
-#endif\r
-\r
-#endif // __PLUSPLAYER_ESPLUSPLAYER_CAPI_EVENT_H__\r
+/**
+ * @file
+ * @brief The event for playback.
+ * @interfacetype Platform
+ * @privlevel None-privilege
+ * @privilege None
+ * @product TV, AV, B2B
+ * @version 2.0
+ * @SDK_Support N
+ * @remark This is a group of C style event related enum and structure.
+ * @see N/A
+ *
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
+ * PROPRIETARY/CONFIDENTIAL
+ * This software is the confidential and proprietary
+ * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
+ * not disclose such Confidential Information and shall use it only in
+ * accordance with the terms of the license agreement you entered into with
+ * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
+ * suitability of the software, either express or implied, including but not
+ * limited to the implied warranties of merchantability, fitness for a
+ * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
+ * damages suffered by licensee as a result of using, modifying or distributing
+ * this software or its derivatives.
+ */
+
+#ifndef __PLUSPLAYER_ESPLUSPLAYER_CAPI_EVENT_H__
+#define __PLUSPLAYER_ESPLUSPLAYER_CAPI_EVENT_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+
+/**
+ * @brief Event message
+ */
+typedef struct {
+ /**
+ * @description event message data
+ * eg) ESPLUSPLAYER_EVENT_RESOLUTION_CHANGED : "1920x1080"
+ */
+ char* data;
+ /**
+ * @description the length of event message data
+ */
+ uint64_t len;
+} esplusplayer_event_msg;
+
+/**
+ * @brief Enumerations for event message types
+ */
+typedef enum {
+ ESPLUSPLAYER_EVENT_NONE,
+ ESPLUSPLAYER_EVENT_RESOLUTION_CHANGED,
+} esplusplayer_event_type;
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // __PLUSPLAYER_ESPLUSPLAYER_CAPI_EVENT_H__
-/**\r
- * @file\r
- * @brief The matroska color info\r
- * @interfacetype Platform\r
- * @privlevel None-privilege\r
- * @privilege None\r
- * @product TV, AV, B2B\r
- * @version 2.0\r
- * @SDK_Support N\r
- * @see plusplayer::EsPlusPlayer class\r
- *\r
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved\r
- * PROPRIETARY/CONFIDENTIAL\r
- * This software is the confidential and proprietary\r
- * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall\r
- * not disclose such Confidential Information and shall use it only in\r
- * accordance with the terms of the license agreement you entered into with\r
- * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the\r
- * suitability of the software, either express or implied, including but not\r
- * limited to the implied warranties of merchantability, fitness for a\r
- * particular purpose, or non-infringement. SAMSUNG shall not be liable for any\r
- * damages suffered by licensee as a result of using, modifying or distributing\r
- * this software or its derivatives.\r
- */\r
-\r
-#ifndef __PLUSPLAYER_ESPLUSPLAYER_CAPI_MATROSKA_COLOR_H__\r
-#define __PLUSPLAYER_ESPLUSPLAYER_CAPI_MATROSKA_COLOR_H__\r
-\r
-#include <cstdint>\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-/**\r
- * @brief Structure of matroska matering metadata\r
- */\r
-typedef struct {\r
- /**\r
- * @description Red X chromaticity coordinate as defined by CIE 1931.\r
- */\r
- double primary_r_chromaticity_x;\r
- /**\r
- * @description Red Y chromaticity coordinate as defined by CIE 1931.\r
- */\r
- double primary_r_chromaticity_y;\r
- /**\r
- * @description Green X chromaticity coordinate as defined by CIE 1931.\r
- */\r
- double primary_g_chromaticity_x;\r
- /**\r
- * @description Green Y chromaticity coordinate as defined by CIE 1931.\r
- */\r
- double primary_g_chromaticity_y;\r
- /**\r
- * @description Blue X chromaticity coordinate as defined by CIE 1931.\r
- */\r
- double primary_b_chromaticity_x;\r
- /**\r
- * @description Blue Y chromaticity coordinate as defined by CIE 1931.\r
- */\r
- double primary_b_chromaticity_y;\r
- /**\r
- * @description White X chromaticity coordinate as defined by CIE 1931.\r
- */\r
- double white_point_chromaticity_x;\r
- /**\r
- * @description White Y chromaticity coordinate as defined by CIE 1931.\r
- */\r
- double white_point_chromaticity_y;\r
- /**\r
- * @description Maximum luminance. Represented in candelas per square meter\r
- * (cd/m²).\r
- */\r
- double luminance_max;\r
- /**\r
- * @description Mininum luminance. Represented in candelas per square meter\r
- * (cd/m²).\r
- */\r
- double luminance_min;\r
-} esplusplayer_matroska_mastering_metadata;\r
-\r
-/**\r
- * @brief Structure of matroska color information\r
- */\r
-typedef struct {\r
- /**\r
- * @description The Matrix Coefficients of the video used to derive luma and\r
- * chroma values from red, green, and blue color primaries. For clarity, the\r
- * value and meanings for MatrixCoefficients are adopted from Table 4 of\r
- * ISO/IEC 23001-8:2013/DCOR1.\r
- */\r
- uint32_t matrix_coefficients;\r
- /**\r
- * @description Number of decoded bits per channel. A value of 0 indicates\r
- * that the BitsPerChannel is unspecified.\r
- */\r
- uint32_t bits_per_channel;\r
- /**\r
- * @description The amount of pixels to remove in the Cr and Cb channels for\r
- * every pixel not removed horizontally.\r
- */\r
- uint32_t chroma_subsampling_horizontal;\r
- /**\r
- * @description The amount of pixels to remove in the Cr and Cb channels for\r
- * every pixel not removed vertically.\r
- */\r
- uint32_t chroma_subsampling_vertical;\r
- /**\r
- * @description The amount of pixels to remove in the Cb channel for every\r
- * pixel not removed horizontally. This is additive with\r
- * chroma_subsampling_horizontal.\r
- */\r
- uint32_t cb_subsampling_horizontal;\r
- /**\r
- * @description The amount of pixels to remove in the Cb channel for every\r
- * pixel not removed vertically. This is additive with\r
- * chroma_subsampling_vertical.\r
- */\r
- uint32_t cb_subsampling_vertical;\r
- /**\r
- * @description How chroma is subsampled horizontally.\r
- */\r
- uint32_t chroma_siting_horizontal;\r
- /**\r
- * @description How chroma is subsampled vertically.\r
- */\r
- uint32_t chroma_siting_vertical;\r
- /**\r
- * @description Clipping of the color ranges.\r
- */\r
- uint32_t range;\r
- /**\r
- * @description The transfer characteristics of the video. For clarity, the\r
- * value and meanings for transfer_characteristics 1-15 are adopted from Table\r
- * 3 of ISO/IEC 23001-8:2013/DCOR1. transfer_characteristics 16-18 are\r
- * proposed values.\r
- */\r
- uint32_t transfer_characteristics;\r
- /**\r
- * @description The colour primaries of the video. For clarity, the value\r
- * and meanings for primaries are adopted from Table 2 of ISO/IEC\r
- * 23001-8:2013/DCOR1.\r
- */\r
- uint32_t primaries;\r
- /**\r
- * @description Maximum brightness of a single pixel (Maximum Content Light\r
- * Level) in candelas per square meter (cd/m²).\r
- */\r
- uint32_t max_cll;\r
- /**\r
- * @description Maximum brightness of a single full frame (Maximum\r
- * Frame-Average Light Level) in candelas per square meter (cd/m²).\r
- */\r
- uint32_t max_fall;\r
- /**\r
- * @description SMPTE 2086 mastering data.\r
- */\r
- esplusplayer_matroska_mastering_metadata metadata;\r
- /**\r
- * @description flag to check if this file is hdr10+ (cd/m²).\r
- */\r
- uint32_t isHDR10p;\r
-} esplusplayer_matroska_color;\r
-\r
-#ifdef __cplusplus\r
-} // extern "C"\r
-#endif\r
-\r
-#endif // __PLUSPLAYER_ESPLUSPLAYER_CAPI_MATROSKA_COLOR_H__\r
+/**
+ * @file
+ * @brief The matroska color info
+ * @interfacetype Platform
+ * @privlevel None-privilege
+ * @privilege None
+ * @product TV, AV, B2B
+ * @version 2.0
+ * @SDK_Support N
+ * @see plusplayer::EsPlusPlayer class
+ *
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
+ * PROPRIETARY/CONFIDENTIAL
+ * This software is the confidential and proprietary
+ * information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
+ * not disclose such Confidential Information and shall use it only in
+ * accordance with the terms of the license agreement you entered into with
+ * SAMSUNG ELECTRONICS. SAMSUNG make no representations or warranties about the
+ * suitability of the software, either express or implied, including but not
+ * limited to the implied warranties of merchantability, fitness for a
+ * particular purpose, or non-infringement. SAMSUNG shall not be liable for any
+ * damages suffered by licensee as a result of using, modifying or distributing
+ * this software or its derivatives.
+ */
+
+#ifndef __PLUSPLAYER_ESPLUSPLAYER_CAPI_MATROSKA_COLOR_H__
+#define __PLUSPLAYER_ESPLUSPLAYER_CAPI_MATROSKA_COLOR_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+
+/**
+ * @brief Structure of matroska matering metadata
+ */
+typedef struct {
+ /**
+ * @description Red X chromaticity coordinate as defined by CIE 1931.
+ */
+ double primary_r_chromaticity_x;
+ /**
+ * @description Red Y chromaticity coordinate as defined by CIE 1931.
+ */
+ double primary_r_chromaticity_y;
+ /**
+ * @description Green X chromaticity coordinate as defined by CIE 1931.
+ */
+ double primary_g_chromaticity_x;
+ /**
+ * @description Green Y chromaticity coordinate as defined by CIE 1931.
+ */
+ double primary_g_chromaticity_y;
+ /**
+ * @description Blue X chromaticity coordinate as defined by CIE 1931.
+ */
+ double primary_b_chromaticity_x;
+ /**
+ * @description Blue Y chromaticity coordinate as defined by CIE 1931.
+ */
+ double primary_b_chromaticity_y;
+ /**
+ * @description White X chromaticity coordinate as defined by CIE 1931.
+ */
+ double white_point_chromaticity_x;
+ /**
+ * @description White Y chromaticity coordinate as defined by CIE 1931.
+ */
+ double white_point_chromaticity_y;
+ /**
+ * @description Maximum luminance. Represented in candelas per square meter
+ * (cd/m²).
+ */
+ double luminance_max;
+ /**
+ * @description Mininum luminance. Represented in candelas per square meter
+ * (cd/m²).
+ */
+ double luminance_min;
+} esplusplayer_matroska_mastering_metadata;
+
+/**
+ * @brief Structure of matroska color information
+ */
+typedef struct {
+ /**
+ * @description The Matrix Coefficients of the video used to derive luma and
+ * chroma values from red, green, and blue color primaries. For clarity, the
+ * value and meanings for MatrixCoefficients are adopted from Table 4 of
+ * ISO/IEC 23001-8:2013/DCOR1.
+ */
+ uint32_t matrix_coefficients;
+ /**
+ * @description Number of decoded bits per channel. A value of 0 indicates
+ * that the BitsPerChannel is unspecified.
+ */
+ uint32_t bits_per_channel;
+ /**
+ * @description The amount of pixels to remove in the Cr and Cb channels for
+ * every pixel not removed horizontally.
+ */
+ uint32_t chroma_subsampling_horizontal;
+ /**
+ * @description The amount of pixels to remove in the Cr and Cb channels for
+ * every pixel not removed vertically.
+ */
+ uint32_t chroma_subsampling_vertical;
+ /**
+ * @description The amount of pixels to remove in the Cb channel for every
+ * pixel not removed horizontally. This is additive with
+ * chroma_subsampling_horizontal.
+ */
+ uint32_t cb_subsampling_horizontal;
+ /**
+ * @description The amount of pixels to remove in the Cb channel for every
+ * pixel not removed vertically. This is additive with
+ * chroma_subsampling_vertical.
+ */
+ uint32_t cb_subsampling_vertical;
+ /**
+ * @description How chroma is subsampled horizontally.
+ */
+ uint32_t chroma_siting_horizontal;
+ /**
+ * @description How chroma is subsampled vertically.
+ */
+ uint32_t chroma_siting_vertical;
+ /**
+ * @description Clipping of the color ranges.
+ */
+ uint32_t range;
+ /**
+ * @description The transfer characteristics of the video. For clarity, the
+ * value and meanings for transfer_characteristics 1-15 are adopted from Table
+ * 3 of ISO/IEC 23001-8:2013/DCOR1. transfer_characteristics 16-18 are
+ * proposed values.
+ */
+ uint32_t transfer_characteristics;
+ /**
+ * @description The colour primaries of the video. For clarity, the value
+ * and meanings for primaries are adopted from Table 2 of ISO/IEC
+ * 23001-8:2013/DCOR1.
+ */
+ uint32_t primaries;
+ /**
+ * @description Maximum brightness of a single pixel (Maximum Content Light
+ * Level) in candelas per square meter (cd/m²).
+ */
+ uint32_t max_cll;
+ /**
+ * @description Maximum brightness of a single full frame (Maximum
+ * Frame-Average Light Level) in candelas per square meter (cd/m²).
+ */
+ uint32_t max_fall;
+ /**
+ * @description SMPTE 2086 mastering data.
+ */
+ esplusplayer_matroska_mastering_metadata metadata;
+ /**
+ * @description flag to check if this file is hdr10+ (cd/m²).
+ */
+ uint32_t isHDR10p;
+} esplusplayer_matroska_color;
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // __PLUSPLAYER_ESPLUSPLAYER_CAPI_MATROSKA_COLOR_H__
/**
* @brief Enumerations for es player state.
*/
-enum esplusplayer_state {
+typedef enum {
ESPLUSPLAYER_STATE_NONE, /**<Player is created, but not opened*/
ESPLUSPLAYER_STATE_IDLE, /**<Player is opened, but not prepared or player is
stopped*/
ESPLUSPLAYER_STATE_PLAYING, /**<Player is playing media*/
ESPLUSPLAYER_STATE_PAUSED, /**<Player is playing media*/
ESPLUSPLAYER_STATE_MAX
-};
+} esplusplayer_state;
#ifdef __cplusplus
} // extern "C"
/**
* @brief Enumerations for the stream type
*/
-enum esplusplayer_stream_type {
+typedef enum {
ESPLUSPLAYER_STREAM_TYPE_AUDIO,
ESPLUSPLAYER_STREAM_TYPE_VIDEO,
ESPLUSPLAYER_STREAM_TYPE_MAX
-};
+} esplusplayer_stream_type;
/**
* @brief Enumerations for audio mime type
*/
-enum esplusplayer_audio_mime_type {
+typedef enum {
ESPLUSPLAYER_AUDIO_MIME_TYPE_UNKNOWN,
ESPLUSPLAYER_AUDIO_MIME_TYPE_AAC,
ESPLUSPLAYER_AUDIO_MIME_TYPE_MP2,
ESPLUSPLAYER_AUDIO_MIME_TYPE_PCM_U32LE,
ESPLUSPLAYER_AUDIO_MIME_TYPE_PCM_U32BE,
ESPLUSPLAYER_AUDIO_MIME_TYPE_G711_MULAW
-};
+} esplusplayer_audio_mime_type;
/**
* @brief Enumerations for video mime type
*/
-enum esplusplayer_video_mime_type {
+typedef enum {
ESPLUSPLAYER_VIDEO_MIME_TYPE_UNKNOWN,
ESPLUSPLAYER_VIDEO_MIME_TYPE_H263,
ESPLUSPLAYER_VIDEO_MIME_TYPE_H264,
ESPLUSPLAYER_VIDEO_MIME_TYPE_WMV3,
ESPLUSPLAYER_VIDEO_MIME_TYPE_AV1,
ESPLUSPLAYER_VIDEO_MIME_TYPE_MJPEG
-};
+} esplusplayer_video_mime_type;
/**
* @brief Audio stream information structure
/**
* @brief Enumerations for the type of buffers submitted
*/
-enum esplusplayer_submit_data_type {
+typedef enum {
ESPLUSPLAYER_SUBMIT_DATA_TYPE_CLEAN_DATA,
ESPLUSPLAYER_SUBMIT_DATA_TYPE_ENCRYPTED_DATA,
// ESPLUSPLAYER_SUBMIT_DATA_TYPE_TRUSTZONE_DATA,
-};
+} esplusplayer_submit_data_type;
#ifdef __cplusplus
} // extern "C"
/**
* @brief Enumerations for the buffer status
*/
-enum esplusplayer_submit_status {
+typedef enum {
ESPLUSPLAYER_SUBMIT_STATUS_NOT_PREPARED,
ESPLUSPLAYER_SUBMIT_STATUS_INVALID_PACKET,
ESPLUSPLAYER_SUBMIT_STATUS_OUT_OF_MEMORY,
ESPLUSPLAYER_SUBMIT_STATUS_FULL,
ESPLUSPLAYER_SUBMIT_STATUS_SUCCESS
-};
+} esplusplayer_submit_status;
#ifdef __cplusplus
} // extern "C"
%bcond_without ESPLUSPLAYER_UT
Name: esplusplayer
Summary: new multimedia streaming player
-Version: 0.0.2
+Version: 0.0.3
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0