![]() |
libgpac
Documentation of the core library of GPAC
|
PID and filter properties. More...
Data Structures | |
struct | GF_PropData |
struct | GF_PropVec2i |
struct | GF_PropVec2 |
struct | GF_PropVec3i |
struct | GF_PropVec4i |
struct | GF_PropStringList |
struct | GF_PropUIntList |
struct | GF_PropIntList |
struct | GF_PropVec2iList |
struct | GF_PropertyValue |
struct | GF_BuiltInProperty |
union | __gf_prop_val.value |
Macros | |
#define | GF_GSF_VERSION 2 |
#define | GF_PROP_DUMP_ARG_SIZE 100 |
#define | GF_PROP_FLAG_PCK 1 |
#define | GF_PROP_FLAG_GSF_REM 1<<1 |
#define | PROP_SINT(_val) (GF_PropertyValue){.type=GF_PROP_SINT, .value.sint = _val} |
#define | PROP_UINT(_val) (GF_PropertyValue){.type=GF_PROP_UINT, .value.uint = _val} |
#define | PROP_ENUM(_val, _type) (GF_PropertyValue){.type=_type, .value.uint = _val} |
#define | PROP_4CC(_val) (GF_PropertyValue){.type=GF_PROP_4CC, .value.uint = _val} |
#define | PROP_LONGSINT(_val) (GF_PropertyValue){.type=GF_PROP_LSINT, .value.longsint = _val} |
#define | PROP_LONGUINT(_val) (GF_PropertyValue){.type=GF_PROP_LUINT, .value.longuint = _val} |
#define | PROP_BOOL(_val) (GF_PropertyValue){.type=GF_PROP_BOOL, .value.boolean = _val} |
#define | PROP_FIXED(_val) (GF_PropertyValue){.type=GF_PROP_FLOAT, .value.fnumber = _val} |
#define | PROP_FLOAT(_val) (GF_PropertyValue){.type=GF_PROP_FLOAT, .value.fnumber = FLT2FIX(_val)} |
#define | PROP_FRAC_INT(_num, _den) (GF_PropertyValue){.type=GF_PROP_FRACTION, .value.frac.num = _num, .value.frac.den = _den} |
#define | PROP_FRAC(_val) (GF_PropertyValue){.type=GF_PROP_FRACTION, .value.frac = _val } |
#define | PROP_FRAC64(_val) (GF_PropertyValue){.type=GF_PROP_FRACTION64, .value.lfrac = _val} |
#define | PROP_FRAC64_INT(_num, _den) (GF_PropertyValue){.type=GF_PROP_FRACTION64, .value.lfrac.num = _num, .value.lfrac.den = _den} |
#define | PROP_DOUBLE(_val) (GF_PropertyValue){.type=GF_PROP_DOUBLE, .value.number = _val} |
#define | PROP_STRING(_val) (GF_PropertyValue){.type=GF_PROP_STRING, .value.string = (char *) _val} |
#define | PROP_STRING_NO_COPY(_val) (GF_PropertyValue){.type=GF_PROP_STRING_NO_COPY, .value.string = _val} |
#define | PROP_NAME(_val) (GF_PropertyValue){.type=GF_PROP_NAME, .value.string = _val} |
#define | PROP_DATA(_val, _len) (GF_PropertyValue){.type=GF_PROP_DATA, .value.data.ptr = _val, .value.data.size=_len} |
#define | PROP_DATA_NO_COPY(_val, _len) (GF_PropertyValue){.type=GF_PROP_DATA_NO_COPY, .value.data.ptr = _val, .value.data.size =_len} |
#define | PROP_CONST_DATA(_val, _len) (GF_PropertyValue){.type=GF_PROP_CONST_DATA, .value.data.ptr = _val, .value.data.size = _len} |
#define | PROP_VEC2(_val) (GF_PropertyValue){.type=GF_PROP_VEC2, .value.vec2 = _val} |
#define | PROP_VEC2I(_val) (GF_PropertyValue){.type=GF_PROP_VEC2I, .value.vec2i = _val} |
#define | PROP_VEC2I_INT(_x, _y) (GF_PropertyValue){.type=GF_PROP_VEC2I, .value.vec2i.x = _x, .value.vec2i.y = _y} |
#define | PROP_VEC3I(_val) (GF_PropertyValue){.type=GF_PROP_VEC3I, .value.vec3i = _val} |
#define | PROP_VEC3I_INT(_x, _y, _z) (GF_PropertyValue){.type=GF_PROP_VEC3I, .value.vec3i.x = _x, .value.vec3i.y = _y, .value.vec3i.z = _z} |
#define | PROP_VEC4I(_val) (GF_PropertyValue){.type=GF_PROP_VEC4I, .value.vec4i = _val} |
#define | PROP_VEC4I_INT(_x, _y, _z, _w) (GF_PropertyValue){.type=GF_PROP_VEC4I, .value.vec4i.x = _x, .value.vec4i.y = _y, .value.vec4i.z = _z, .value.vec4i.w = _w} |
#define | PROP_POINTER(_val) (GF_PropertyValue){.type=GF_PROP_POINTER, .value.ptr = (void*)_val} |
Enumerations | |
enum | GF_PropType { GF_PROP_FORBIDDEN = 0 , GF_PROP_SINT = 1 , GF_PROP_UINT = 2 , GF_PROP_LSINT = 3 , GF_PROP_LUINT = 4 , GF_PROP_BOOL = 5 , GF_PROP_FRACTION = 6 , GF_PROP_FRACTION64 = 7 , GF_PROP_FLOAT = 8 , GF_PROP_DOUBLE = 9 , GF_PROP_VEC2I = 10 , GF_PROP_VEC2 = 11 , GF_PROP_VEC3I = 12 , GF_PROP_VEC4I = 13 , GF_PROP_STRING = 14 , GF_PROP_STRING_NO_COPY = 15 , GF_PROP_DATA = 16 , GF_PROP_NAME = 17 , GF_PROP_DATA_NO_COPY = 18 , GF_PROP_CONST_DATA = 19 , GF_PROP_POINTER = 20 , GF_PROP_STRING_LIST = 21 , GF_PROP_UINT_LIST = 22 , GF_PROP_SINT_LIST = 23 , GF_PROP_VEC2I_LIST = 24 , GF_PROP_4CC = 25 , GF_PROP_4CC_LIST = 26 , GF_PROP_STRING_LIST_COPY = 27 , GF_PROP_LAST_NON_ENUM , GF_PROP_FIRST_ENUM = 40 , GF_PROP_PIXFMT = GF_PROP_FIRST_ENUM , GF_PROP_PCMFMT = GF_PROP_FIRST_ENUM+1 , GF_PROP_CICP_COL_PRIM = GF_PROP_FIRST_ENUM+2 , GF_PROP_CICP_COL_TFC = GF_PROP_FIRST_ENUM+3 , GF_PROP_CICP_COL_MX = GF_PROP_FIRST_ENUM+4 , GF_PROP_CICP_LAYOUT = GF_PROP_FIRST_ENUM+5 , GF_PROP_LAST_DEFINED } |
enum | GF_FilterPidPlaybackMode { GF_PLAYBACK_MODE_NONE =0 , GF_PLAYBACK_MODE_SEEK , GF_PLAYBACK_MODE_FASTFORWARD , GF_PLAYBACK_MODE_REWIND } |
enum | { GF_PROP_PID_ID = GF_4CC('P','I','D','I') , GF_PROP_PID_ESID = GF_4CC('E','S','I','D') , GF_PROP_PID_ITEM_ID = GF_4CC('I','T','I','D') , GF_PROP_PID_ITEM_NUM = GF_4CC('I','T','I','X') , GF_PROP_PID_TRACK_NUM = GF_4CC('P','I','D','X') , GF_PROP_PID_SERVICE_ID = GF_4CC('P','S','I','D') , GF_PROP_PID_CLOCK_ID = GF_4CC('C','K','I','D') , GF_PROP_PID_DEPENDENCY_ID = GF_4CC('D','P','I','D') , GF_PROP_PID_SUBLAYER = GF_4CC('D','P','S','L') , GF_PROP_PID_PLAYBACK_MODE = GF_4CC('P','B','K','M') , GF_PROP_PID_SCALABLE = GF_4CC('S','C','A','L') , GF_PROP_PID_TILE_BASE = GF_4CC('S','A','B','T') , GF_PROP_PID_TILE_ID = GF_4CC('P','T','I','D') , GF_PROP_PID_LANGUAGE = GF_4CC('L','A','N','G') , GF_PROP_PID_SERVICE_NAME = GF_4CC('S','N','A','M') , GF_PROP_PID_SERVICE_PROVIDER = GF_4CC('S','P','R','O') , GF_PROP_PID_STREAM_TYPE = GF_4CC('P','M','S','T') , GF_PROP_PID_SUBTYPE = GF_4CC('P','S','S','T') , GF_PROP_PID_ISOM_SUBTYPE = GF_4CC('P','I','S','T') , GF_PROP_PID_ORIG_STREAM_TYPE = GF_4CC('P','O','S','T') , GF_PROP_PID_CODECID = GF_4CC('P','O','T','I') , GF_PROP_PID_IN_IOD = GF_4CC('P','I','O','D') , GF_PROP_PID_UNFRAMED = GF_4CC('P','F','R','M') , GF_PROP_PID_UNFRAMED_FULL_AU = GF_4CC('P','F','R','F') , GF_PROP_PID_DURATION = GF_4CC('P','D','U','R') , GF_PROP_PID_NB_FRAMES = GF_4CC('N','F','R','M') , GF_PROP_PID_FRAME_OFFSET = GF_4CC('F','R','M','O') , GF_PROP_PID_FRAME_SIZE = GF_4CC('C','F','R','S') , GF_PROP_PID_TIMESHIFT_DEPTH = GF_4CC('P','T','S','D') , GF_PROP_PID_TIMESHIFT_TIME = GF_4CC('P','T','S','T') , GF_PROP_PID_TIMESHIFT_STATE = GF_4CC('P','T','S','S') , GF_PROP_PID_TIMESCALE = GF_4CC('T','I','M','S') , GF_PROP_PID_PROFILE_LEVEL = GF_4CC('P','R','P','L') , GF_PROP_PID_DECODER_CONFIG = GF_4CC('D','C','F','G') , GF_PROP_PID_DECODER_CONFIG_ENHANCEMENT = GF_4CC('E','C','F','G') , GF_PROP_PID_DSI_SUPERSET = GF_4CC('D','C','F','S') , GF_PROP_PID_CONFIG_IDX = GF_4CC('I','C','F','G') , GF_PROP_PID_SAMPLE_RATE = GF_4CC('A','U','S','R') , GF_PROP_PID_SAMPLES_PER_FRAME = GF_4CC('F','R','M','S') , GF_PROP_PID_NUM_CHANNELS = GF_4CC('C','H','N','B') , GF_PROP_PID_AUDIO_BPS = GF_4CC('A','B','P','S') , GF_PROP_PID_CHANNEL_LAYOUT = GF_4CC('C','H','L','O') , GF_PROP_PID_AUDIO_FORMAT = GF_4CC('A','F','M','T') , GF_PROP_PID_AUDIO_SPEED = GF_4CC('A','S','P','D') , GF_PROP_PID_UNFRAMED_LATM = GF_4CC('L','A','T','M') , GF_PROP_PID_DELAY = GF_4CC('M','D','L','Y') , GF_PROP_PID_CTS_SHIFT = GF_4CC('M','D','T','S') , GF_PROP_PID_NO_PRIMING = GF_4CC('A','S','K','P') , GF_PROP_PID_WIDTH = GF_4CC('W','I','D','T') , GF_PROP_PID_HEIGHT = GF_4CC('H','E','I','G') , GF_PROP_PID_PIXFMT = GF_4CC('P','F','M','T') , GF_PROP_PID_PIXFMT_WRAPPED = GF_4CC('P','F','M','W') , GF_PROP_PID_STRIDE = GF_4CC('V','S','T','Y') , GF_PROP_PID_STRIDE_UV = GF_4CC('V','S','T','C') , GF_PROP_PID_BIT_DEPTH_Y = GF_4CC('Y','B','P','S') , GF_PROP_PID_BIT_DEPTH_UV = GF_4CC('C','B','P','S') , GF_PROP_PID_FPS = GF_4CC('V','F','P','F') , GF_PROP_PID_INTERLACED = GF_4CC('V','I','L','C') , GF_PROP_PID_SAR = GF_4CC('P','S','A','R') , GF_PROP_PID_WIDTH_MAX = GF_4CC('M', 'W','I','D') , GF_PROP_PID_HEIGHT_MAX = GF_4CC('M', 'H','E','I') , GF_PROP_PID_ZORDER = GF_4CC('V', 'Z','I','X') , GF_PROP_PID_TRANS_X = GF_4CC('V','T','R','X') , GF_PROP_PID_TRANS_Y = GF_4CC('V','T','R','Y') , GF_PROP_PID_TRANS_X_INV = GF_4CC('V','T','R','x') , GF_PROP_PID_TRANS_Y_INV = GF_4CC('V','T','R','y') , GF_PROP_PID_HIDDEN = GF_4CC('H','I','D','E') , GF_PROP_PID_CROP_POS = GF_4CC('V','C','X','Y') , GF_PROP_PID_ORIG_SIZE = GF_4CC('V','O','W','H') , GF_PROP_PID_SRD = GF_4CC('S','R','D',' ') , GF_PROP_PID_SRD_REF = GF_4CC('S','R','D','R') , GF_PROP_PID_SRD_MAP = GF_4CC('S','R','D','M') , GF_PROP_PID_ALPHA = GF_4CC('V','A','L','P') , GF_PROP_PID_MIRROR = GF_4CC('V','M','I','R') , GF_PROP_PID_ROTATE = GF_4CC('V','R','O','T') , GF_PROP_PID_CLAP_W = GF_4CC('C','L','P','W') , GF_PROP_PID_CLAP_H = GF_4CC('C','L','P','H') , GF_PROP_PID_CLAP_X = GF_4CC('C','L','P','X') , GF_PROP_PID_CLAP_Y = GF_4CC('C','L','P','Y') , GF_PROP_PID_NUM_VIEWS = GF_4CC('P','N','B','V') , GF_PROP_PID_DOLBY_VISION = GF_4CC('D','O','V','I') , GF_PROP_PID_BITRATE = GF_4CC('R','A','T','E') , GF_PROP_PID_MAXRATE = GF_4CC('M','R','A','T') , GF_PROP_PID_TARGET_RATE = GF_4CC('T','B','R','T') , GF_PROP_PID_DBSIZE = GF_4CC('D','B','S','Z') , GF_PROP_PID_MEDIA_DATA_SIZE = GF_4CC('M','D','S','Z') , GF_PROP_PID_CAN_DATAREF = GF_4CC('D','R','E','F') , GF_PROP_PID_URL = GF_4CC('F','U','R','L') , GF_PROP_PID_REMOTE_URL = GF_4CC('R','U','R','L') , GF_PROP_PID_REDIRECT_URL = GF_4CC('R','E','L','O') , GF_PROP_PID_FILEPATH = GF_4CC('F','S','R','C') , GF_PROP_PID_MIME = GF_4CC('M','I','M','E') , GF_PROP_PID_FILE_EXT = GF_4CC('F','E','X','T') , GF_PROP_PID_OUTPATH = GF_4CC('F','D','S','T') , GF_PROP_PID_FILE_CACHED = GF_4CC('C','A','C','H') , GF_PROP_PID_DOWN_RATE = GF_4CC('D','L','B','W') , GF_PROP_PID_DOWN_SIZE = GF_4CC('D','L','S','Z') , GF_PROP_PID_DOWN_BYTES = GF_4CC('D','L','B','D') , GF_PROP_PID_FILE_RANGE = GF_4CC('F','B','R','A') , GF_PROP_PID_DISABLE_PROGRESSIVE = GF_4CC('N','P','R','G') , GF_PROP_PID_ISOM_BRANDS = GF_4CC('A','B','R','D') , GF_PROP_PID_ISOM_MBRAND = GF_4CC('M','B','R','D') , GF_PROP_PID_ISOM_MOVIE_TIME = GF_4CC('M','H','T','S') , GF_PROP_PID_HAS_SYNC = GF_4CC('P','S','Y','N') , GF_PROP_SERVICE_WIDTH = GF_4CC('D','W','D','T') , GF_PROP_SERVICE_HEIGHT = GF_4CC('D','H','G','T') , GF_PROP_PID_IS_DEFAULT = GF_4CC('P','D','E','F') , GF_PROP_PID_CAROUSEL_RATE = GF_4CC('C','A','R','A') , GF_PROP_PID_AUDIO_VOLUME = GF_4CC('A','V','O','L') , GF_PROP_PID_AUDIO_PAN = GF_4CC('A','P','A','N') , GF_PROP_PID_AUDIO_PRIORITY = GF_4CC('A','P','R','I') , GF_PROP_PID_PROTECTION_SCHEME_TYPE = GF_4CC('S','C','H','T') , GF_PROP_PID_PROTECTION_SCHEME_VERSION = GF_4CC('S','C','H','V') , GF_PROP_PID_PROTECTION_SCHEME_URI = GF_4CC('S','C','H','U') , GF_PROP_PID_PROTECTION_KMS_URI = GF_4CC('K','M','S','U') , GF_PROP_PID_ISMA_SELECTIVE_ENC = GF_4CC('I','S','S','E') , GF_PROP_PID_ISMA_IV_LENGTH = GF_4CC('I','S','I','V') , GF_PROP_PID_ISMA_KI_LENGTH = GF_4CC('I','S','K','I') , GF_PROP_PID_ISMA_KI = GF_4CC('I','K','E','Y') , GF_PROP_PID_OMA_CRYPT_TYPE = GF_4CC('O','M','C','T') , GF_PROP_PID_OMA_CID = GF_4CC('O','M','I','D') , GF_PROP_PID_OMA_TXT_HDR = GF_4CC('O','M','T','H') , GF_PROP_PID_OMA_CLEAR_LEN = GF_4CC('O','M','P','T') , GF_PROP_PID_CRYPT_INFO = GF_4CC('E','C','R','I') , GF_PROP_PID_DECRYPT_INFO = GF_4CC('E','D','R','I') , GF_PROP_PCK_SENDER_NTP = GF_4CC('N','T','P','S') , GF_PROP_PCK_RECEIVER_NTP = GF_4CC('N','T','P','R') , GF_PROP_PID_ADOBE_CRYPT_META = GF_4CC('A','M','E','T') , GF_PROP_PID_ENCRYPTED = GF_4CC('E','P','C','K') , GF_PROP_PID_OMA_PREVIEW_RANGE = GF_4CC('O','D','P','R') , GF_PROP_PID_CENC_PSSH = GF_4CC('P','S','S','H') , GF_PROP_PCK_CENC_SAI = GF_4CC('S','A','I','S') , GF_PROP_PID_CENC_KEY_INFO = GF_4CC('C','B','I','V') , GF_PROP_PID_CENC_PATTERN = GF_4CC('C','P','T','R') , GF_PROP_PID_CENC_STORE = GF_4CC('C','S','T','R') , GF_PROP_PID_CENC_STSD_MODE = GF_4CC('C','S','T','M') , GF_PROP_PID_CENC_HAS_ROLL = GF_4CC('C','R','O','L') , GF_PROP_PID_AMR_MODE_SET = GF_4CC('A','M','S','T') , GF_PROP_PCK_SUBS = GF_4CC('S','U','B','S') , GF_PROP_PID_MAX_NALU_SIZE = GF_4CC('N','A','L','S') , GF_PROP_PCK_FILENUM = GF_4CC('F','N','U','M') , GF_PROP_PCK_FILENAME = GF_4CC('F','N','A','M') , GF_PROP_PCK_IDXFILENAME = GF_4CC('I','N','A','M') , GF_PROP_PCK_FILESUF = GF_4CC('F','S','U','F') , GF_PROP_PCK_EODS = GF_4CC('E','O','D','S') , GF_PROP_PCK_CUE_START = GF_4CC('P','C','U','S') , GF_PROP_PCK_UTC_TIME = GF_4CC('U','T','C','D') , GF_PROP_PCK_MEDIA_TIME = GF_4CC('M','T','I','M') , GF_PROP_PCK_MPD_SEGSTART = GF_4CC('F','M','S','S') , GF_PROP_PCK_ID = GF_4CC('P','K','I','D') , GF_PROP_PCK_REFS = GF_4CC('P','R','F','S') , GF_PROP_PID_MAX_FRAME_SIZE = GF_4CC('M','F','R','S') , GF_PROP_PID_AVG_FRAME_SIZE = GF_4CC('A','F','R','S') , GF_PROP_PID_MAX_TS_DELTA = GF_4CC('M','T','S','D') , GF_PROP_PID_MAX_CTS_OFFSET = GF_4CC('M','C','T','O') , GF_PROP_PID_CONSTANT_DURATION = GF_4CC('S','C','T','D') , GF_PROP_PID_ISOM_TRACK_TEMPLATE = GF_4CC('I','T','K','T') , GF_PROP_PID_ISOM_TREX_TEMPLATE = GF_4CC('I','T','X','T') , GF_PROP_PID_ISOM_STSD_TEMPLATE = GF_4CC('I','S','T','D') , GF_PROP_PID_ISOM_STSD_TEMPLATE_IDX = GF_4CC('I','S','T','I') , GF_PROP_PID_ISOM_STSD_ALL_TEMPLATES = GF_4CC('I','S','T','A') , GF_PROP_PID_ISOM_UDTA = GF_4CC('I','M','U','D') , GF_PROP_PID_ISOM_HANDLER = GF_4CC('I','H','D','L') , GF_PROP_PID_ISOM_TRACK_FLAGS = GF_4CC('I','T','K','F') , GF_PROP_PID_ISOM_TRACK_MATRIX = GF_4CC('I','T','K','M') , GF_PROP_PID_ISOM_ALT_GROUP = GF_4CC('I','A','L','G') , GF_PROP_PID_ISOM_FORCE_NEGCTTS = GF_4CC('I','F','N','C') , GF_PROP_PID_DISABLED = GF_4CC('I','T','K','D') , GF_PROP_PID_PERIOD_ID = GF_4CC('P','E','I','D') , GF_PROP_PID_PERIOD_START = GF_4CC('P','E','S','T') , GF_PROP_PID_PERIOD_DUR = GF_4CC('P','E','D','U') , GF_PROP_PID_REP_ID = GF_4CC('D','R','I','D') , GF_PROP_PID_AS_ID = GF_4CC('D','A','I','D') , GF_PROP_PID_MUX_SRC = GF_4CC('M','S','R','C') , GF_PROP_PID_DASH_MODE = GF_4CC('D','M','O','D') , GF_PROP_PID_FORCE_SEG_SYNC = GF_4CC('D','F','S','S') , GF_PROP_PID_DASH_DUR = GF_4CC('D','D','U','R') , GF_PROP_PID_DASH_MULTI_PID = GF_4CC('D','M','S','D') , GF_PROP_PID_DASH_MULTI_PID_IDX = GF_4CC('D','M','S','I') , GF_PROP_PID_DASH_MULTI_TRACK = GF_4CC('D','M','T','K') , GF_PROP_PID_ROLE = GF_4CC('R','O','L','E') , GF_PROP_PID_PERIOD_DESC = GF_4CC('P','D','E','S') , GF_PROP_PID_AS_COND_DESC = GF_4CC('A','C','D','S') , GF_PROP_PID_AS_ANY_DESC = GF_4CC('A','A','D','S') , GF_PROP_PID_REP_DESC = GF_4CC('R','D','E','S') , GF_PROP_PID_BASE_URL = GF_4CC('B','U','R','L') , GF_PROP_PID_TEMPLATE = GF_4CC('D','T','P','L') , GF_PROP_PID_START_NUMBER = GF_4CC('D','R','S','N') , GF_PROP_PID_XLINK = GF_4CC('X','L','N','K') , GF_PROP_PID_CLAMP_DUR = GF_4CC('D','C','M','D') , GF_PROP_PID_HLS_PLAYLIST = GF_4CC('H','L','V','P') , GF_PROP_PID_HLS_GROUPID = GF_4CC('H','L','G','I') , GF_PROP_PID_HLS_FORCE_INF = GF_4CC('H','L','F','I') , GF_PROP_PID_HLS_EXT_MASTER = GF_4CC('H','L','M','X') , GF_PROP_PID_HLS_EXT_VARIANT = GF_4CC('H','L','V','X') , GF_PROP_PID_DASH_CUE = GF_4CC('D','C','U','E') , GF_PROP_PID_DASH_SEGMENTS = GF_4CC('D','C','N','S') , GF_PROP_PID_CODEC = GF_4CC('C','O','D','S') , GF_PROP_PID_SINGLE_SCALE = GF_4CC('D','S','T','S') , GF_PROP_PID_UDP = GF_4CC('P','U','D','P') , GF_PROP_PID_PRIMARY_ITEM = GF_4CC('P','I','T','M') , GF_PROP_PID_PLAY_BUFFER = GF_4CC('P','B','P','L') , GF_PROP_PID_MAX_BUFFER = GF_4CC('P','B','M','X') , GF_PROP_PID_RE_BUFFER = GF_4CC('P','B','R','E') , GF_PROP_PID_VIEW_IDX = GF_4CC('V','I','D','X') , GF_PROP_PID_COLR_PRIMARIES = GF_4CC('C','P','R','M') , GF_PROP_PID_COLR_TRANSFER = GF_4CC('C','T','R','C') , GF_PROP_PID_COLR_MX = GF_4CC('C','M','X','C') , GF_PROP_PID_COLR_RANGE = GF_4CC('C','F','R','A') , GF_PROP_PID_COLR_CHROMAFMT = GF_4CC('C','F','M','T') , GF_PROP_PID_COLR_CHROMALOC = GF_4CC('C','L','O','C') , GF_PROP_PID_CONTENT_LIGHT_LEVEL = GF_4CC('C','L','L','I') , GF_PROP_PID_MASTER_DISPLAY_COLOUR = GF_4CC('M','D','C','V') , GF_PROP_PID_ICC_PROFILE = GF_4CC('I','C','C','P') , GF_PROP_PID_SRC_MAGIC = GF_4CC('P','S','M','G') , GF_PROP_PID_MUX_INDEX = GF_4CC('T','I','D','X') , GF_PROP_NO_TS_LOOP = GF_4CC('N','T','S','L') , GF_PROP_PID_MHA_COMPATIBLE_PROFILES = GF_4CC('M','H','C','P') , GF_PROP_PCK_FRAG_START = GF_4CC('P','F','R','B') , GF_PROP_PCK_FRAG_RANGE = GF_4CC('P','F','R','R') , GF_PROP_PCK_FRAG_TFDT = GF_4CC('P','F','R','T') , GF_PROP_PCK_SIDX_RANGE = GF_4CC('P','F','S','R') , GF_PROP_PCK_MOOF_TEMPLATE = GF_4CC('M','F','T','P') , GF_PROP_PCK_INIT = GF_4CC('P','C','K','I') , GF_PROP_PID_RAWGRAB = GF_4CC('P','G','R','B') , GF_PROP_PID_KEEP_AFTER_EOS = GF_4CC('P','K','A','E') , GF_PROP_PID_COVER_ART = GF_4CC('P','C','O','V') , GF_PROP_PID_ORIG_FRAG_URL = GF_4CC('O','F','R','A') , GF_PROP_PID_MCAST_IP = GF_4CC('M','S','I','P') , GF_PROP_PID_MCAST_PORT = GF_4CC('M','S','P','N') , GF_PROP_PID_MCAST_NAME = GF_4CC('M','S','F','N') , GF_PROP_PID_MCAST_CAROUSEL = GF_4CC('M','S','C','R') , GF_PROP_PID_MCAST_SENDTIME = GF_4CC('M','S','S','T') , GF_PROP_PID_STEREO_TYPE = GF_4CC('P','S','T','T') , GF_PROP_PID_PROJECTION_TYPE = GF_4CC('P','P','J','T') , GF_PROP_PID_VR_POSE = GF_4CC('P','P','O','S') , GF_PROP_PID_CUBE_MAP_PAD = GF_4CC('P','C','M','P') , GF_PROP_PID_EQR_CLAMP = GF_4CC('P','E','Q','C') , GF_PROP_PID_SPARSE = GF_4CC('P','S','P','A') , GF_PROP_PID_CHARSET = GF_4CC('P','C','H','S') , GF_PROP_PID_FORCED_SUB = GF_4CC('P','F','C','S') , GF_PROP_PID_SCENE_NODE = GF_4CC('P','S','N','D') , GF_PROP_PID_ORIG_CRYPT_SCHEME = GF_4CC('P','O','C','S') , GF_PROP_PID_TIMESHIFT_SEGS = GF_4CC('P','T','S','N') , GF_PROP_PID_CHAP_TIMES = GF_4CC('C','H','P','T') , GF_PROP_PID_CHAP_NAMES = GF_4CC('C','H','P','N') , GF_PROP_PID_IS_CHAP = GF_4CC('P','C','H','P') , GF_PROP_PID_PREMUX_STREAM_TYPE = GF_4CC('P','P','S','T') , GF_PROP_PID_CODEC_MERGEABLE = GF_4CC('P','C','M','B') , GF_PROP_PID_FILE_REL = GF_4CC('F','N','R','L') , GF_PROP_PCK_HLS_REF = GF_4CC('H','P','L','R') , GF_PROP_PID_LLHLS = GF_4CC('H','L','S','L') , GF_PROP_PCK_HLS_FRAG_NUM = GF_4CC('H','L','S','N') , GF_PROP_PCK_SKIP_BEGIN = GF_4CC('P','C','K','S') , GF_PROP_PCK_SKIP_PRES = GF_4CC('P','C','K','D') , GF_PROP_PCK_ORIG_DUR = GF_4CC('P','C','O','D') , GF_PROP_PID_DASH_FWD = GF_4CC('D','F','W','D') , GF_PROP_PCK_DASH_MANIFEST = GF_4CC('D','M','P','D') , GF_PROP_PCK_HLS_VARIANT = GF_4CC('D','H','L','V') , GF_PROP_PID_DASH_PERIOD_START = GF_4CC('D','P','S','T') , GF_PROP_PCK_HLS_VARIANT_NAME = GF_4CC('D','H','L','N') , GF_PROP_PID_HLS_KMS = GF_4CC('H','L','S','K') , GF_PROP_PID_HLS_IV = GF_4CC('H','L','S','I') , GF_PROP_PID_CLEARKEY_URI = GF_4CC('C','C','K','U') , GF_PROP_PID_CLEARKEY_KID = GF_4CC('C','C','K','I') , GF_PROP_PID_DASH_SPARSE = GF_4CC('D','S','S','G') , GF_PROP_PID_DASH_DEP_GROUP = GF_4CC('D','G','D','I') , GF_PROP_PID_DOWNLOAD_SESSION = GF_4CC('G','H','T','T') , GF_PROP_PID_HAS_TEMI = GF_4CC('P','T','E','M') , GF_PROP_PID_SCTE35_PID = GF_4CC('S','C','3','5') , GF_PROP_PID_NO_INIT = GF_4CC('P','N','I','N') , GF_PROP_PID_IS_MANIFEST = GF_4CC('P','H','S','M') , GF_PROP_PCK_XPS_MASK = GF_4CC('P','X','P','M') , GF_PROP_PCK_END_RANGE = GF_4CC('P','C','E','R') , GF_PROP_PID_FORCE_UNFRAME = GF_4CC('P','F','U','F') , GF_PROP_PCK_SPLIT_START = GF_4CC('P','S','P','S') , GF_PROP_PCK_SPLIT_END = GF_4CC('P','S','P','E') , GF_PROP_PID_META_DEMUX_CODEC_ID = GF_4CC('M','D','C','I') , GF_PROP_PID_META_DEMUX_CODEC_NAME = GF_4CC('M','D','C','N') , GF_PROP_PID_META_DEMUX_OPAQUE = GF_4CC('M','D','O','P') } |
enum | { GF_PID_FILE_PATCH_NONE = 0 , GF_PID_FILE_PATCH_REPLACE = 1 , GF_PID_FILE_PATCH_INSERT = 2 } |
enum | GF_PropDumpDataMode { GF_PROP_DUMP_DATA_NONE =0 , GF_PROP_DUMP_DATA_INFO , GF_PROP_DUMP_DATA_PTR , GF_PROP_DUMP_NO_REDUCE = 1<<16 } |
Functions | |
const char * | gf_props_4cc_get_name (u32 prop_4cc) |
u32 | gf_props_4cc_get_type (u32 prop_4cc) |
Bool | gf_props_equal (const GF_PropertyValue *p1, const GF_PropertyValue *p2) |
Bool | gf_props_equal_strict (const GF_PropertyValue *p1, const GF_PropertyValue *p2) |
const char * | gf_props_get_type_name (GF_PropType type) |
const char * | gf_props_get_type_desc (GF_PropType type) |
GF_PropType | gf_props_parse_type (const char *name) |
Bool | gf_props_type_is_enum (GF_PropType type) |
u32 | gf_props_parse_enum (u32 type, const char *value) |
GF_PropertyValue | gf_props_parse_value (u32 type, const char *name, const char *value, const char *enum_values, char list_sep_char) |
const char * | gf_props_enum_name (u32 type, u32 value) |
const char * | gf_props_enum_all_names (u32 type) |
u32 | gf_props_get_base_type (u32 type) |
const char * | gf_props_dump_val (const GF_PropertyValue *att, char dump[GF_PROP_DUMP_ARG_SIZE], GF_PropDumpDataMode dump_data_flags, const char *min_max_enum) |
const char * | gf_props_dump (u32 p4cc, const GF_PropertyValue *att, char dump[GF_PROP_DUMP_ARG_SIZE], GF_PropDumpDataMode dump_data_mode) |
void | gf_props_reset_single (GF_PropertyValue *prop) |
const GF_BuiltInProperty * | gf_props_get_description (u32 prop_idx) |
u32 | gf_props_get_id (const char *name) |
u8 | gf_props_4cc_get_flags (u32 prop_4cc) |
Documents the property object used for PID and packets.
struct GF_PropVec3i |
struct GF_PropVec4i |
struct GF_PropStringList |
List of strings property - do not change field order !
Data Fields | ||
---|---|---|
char ** | vals |
array of unsigned integers |
u32 | nb_items |
number of items in array |
struct GF_PropUIntList |
struct GF_PropIntList |
struct GF_PropVec2iList |
List of unsigned int property
Data Fields | ||
---|---|---|
GF_PropVec2i * | vals |
array of vec2i |
u32 | nb_items |
number of items in array |
struct __gf_prop_val |
Property value used by PIDs and packets
Filter Property object
Data Fields | ||
---|---|---|
GF_PropType | type |
type of the property |
union __gf_prop_val | value |
union of all possible property data types |
struct GF_BuiltInProperty |
union __gf_prop_val.value |
union of all possible property data types
Data Fields | ||
---|---|---|
u64 | longuint |
64 bit unsigned integer value of property |
s64 | longsint |
64 bit signed integer value of property |
s32 | sint |
32 bit signed integer value of property |
u32 | uint |
32 bit unsigned integer value of property |
Bool | boolean |
boolean value of property |
GF_Fraction | frac |
fraction (32/32 bits) value of property |
GF_Fraction64 | lfrac |
fraction (64/64 bits) value of property |
Fixed | fnumber |
fixed number (float or 32 bit depending on compilation settings) value of property |
Double | number |
double value of property |
GF_PropVec2i | vec2i |
2D signed integer vector value of property |
GF_PropVec2 | vec2 |
2D double vector value of property |
GF_PropVec3i | vec3i |
3D signed integer vector value of property |
GF_PropVec4i | vec4i |
4D signed integer vector value of property |
GF_PropData | data |
data value of property. For non const data type, the memory is freed by filter session. Otherwise caller is responsible to free it at end of filter/session |
char * | string |
string value of property. For non const string / names, the memory is freed by filter session, otherwise handled as const char *. |
void * | ptr |
pointer value of property |
GF_PropStringList | string_list |
string list value of property - memory is handled by filter session (always copy) |
GF_PropUIntList | uint_list |
unsigned integer list value of property - memory is handled by filter session (always copy) |
GF_PropIntList | sint_list |
signed integer list value of property - memory is handled by filter session (always copy) |
GF_PropVec2iList | v2i_list |
vec2i list value of property - memory is handled by filter session (always copy) |
#define GF_GSF_VERSION 2 |
GSF version (coded on 8 bits in gsf format)
#define GF_PROP_DUMP_ARG_SIZE 100 |
Maximum string size to use when dumping a property
#define GF_PROP_FLAG_PCK 1 |
Property aplies only to packets
#define GF_PROP_FLAG_GSF_REM 1<<1 |
Property is optional for GPAC GSF serialization (not transmitted over network when property removal is enabled)
#define PROP_SINT | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_SINT, .value.sint = _val} |
Helper macro to set signed int property
#define PROP_UINT | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_UINT, .value.uint = _val} |
Helper macro to set unsigned int property
#define PROP_ENUM | ( | _val, | |
_type | |||
) | (GF_PropertyValue){.type=_type, .value.uint = _val} |
Helper macro to set an enum property
#define PROP_4CC | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_4CC, .value.uint = _val} |
Helper macro to set 4CC unsigned int property
#define PROP_LONGSINT | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_LSINT, .value.longsint = _val} |
Helper macro to set long signed int property
#define PROP_LONGUINT | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_LUINT, .value.longuint = _val} |
Helper macro to set long unsigned int property
#define PROP_BOOL | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_BOOL, .value.boolean = _val} |
Helper macro to set boolean property
#define PROP_FIXED | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_FLOAT, .value.fnumber = _val} |
Helper macro to set fixed-point number property
#define PROP_FLOAT | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_FLOAT, .value.fnumber = FLT2FIX(_val)} |
Helper macro to set float property
#define PROP_FRAC_INT | ( | _num, | |
_den | |||
) | (GF_PropertyValue){.type=GF_PROP_FRACTION, .value.frac.num = _num, .value.frac.den = _den} |
Helper macro to set 32-bit fraction property from integers
#define PROP_FRAC | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_FRACTION, .value.frac = _val } |
Helper macro to set 32-bit fraction property
#define PROP_FRAC64 | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_FRACTION64, .value.lfrac = _val} |
Helper macro to set 64-bit fraction property from integers
#define PROP_FRAC64_INT | ( | _num, | |
_den | |||
) | (GF_PropertyValue){.type=GF_PROP_FRACTION64, .value.lfrac.num = _num, .value.lfrac.den = _den} |
Helper macro to set 64-bit fraction property
#define PROP_DOUBLE | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_DOUBLE, .value.number = _val} |
Helper macro to set double property
#define PROP_STRING | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_STRING, .value.string = (char *) _val} |
Helper macro to set string property
#define PROP_STRING_NO_COPY | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_STRING_NO_COPY, .value.string = _val} |
Helper macro to set string property without string copy (string memory is owned by filter)
#define PROP_NAME | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_NAME, .value.string = _val} |
Helper macro to set name property
#define PROP_DATA | ( | _val, | |
_len | |||
) | (GF_PropertyValue){.type=GF_PROP_DATA, .value.data.ptr = _val, .value.data.size=_len} |
Helper macro to set data property
#define PROP_DATA_NO_COPY | ( | _val, | |
_len | |||
) | (GF_PropertyValue){.type=GF_PROP_DATA_NO_COPY, .value.data.ptr = _val, .value.data.size =_len} |
Helper macro to set data property without data copy ( memory is owned by filter)
#define PROP_CONST_DATA | ( | _val, | |
_len | |||
) | (GF_PropertyValue){.type=GF_PROP_CONST_DATA, .value.data.ptr = _val, .value.data.size = _len} |
Helper macro to set const data property
#define PROP_VEC2 | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_VEC2, .value.vec2 = _val} |
Helper macro to set 2D float vector property
#define PROP_VEC2I | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_VEC2I, .value.vec2i = _val} |
Helper macro to set 2D integer vector property
#define PROP_VEC2I_INT | ( | _x, | |
_y | |||
) | (GF_PropertyValue){.type=GF_PROP_VEC2I, .value.vec2i.x = _x, .value.vec2i.y = _y} |
Helper macro to set 2D integer vector property from integers
#define PROP_VEC3I | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_VEC3I, .value.vec3i = _val} |
Helper macro to set 3D integer vector property
#define PROP_VEC3I_INT | ( | _x, | |
_y, | |||
_z | |||
) | (GF_PropertyValue){.type=GF_PROP_VEC3I, .value.vec3i.x = _x, .value.vec3i.y = _y, .value.vec3i.z = _z} |
Helper macro to set 3D integer vector property from integers
#define PROP_VEC4I | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_VEC4I, .value.vec4i = _val} |
Helper macro to set 4D integer vector property
#define PROP_VEC4I_INT | ( | _x, | |
_y, | |||
_z, | |||
_w | |||
) | (GF_PropertyValue){.type=GF_PROP_VEC4I, .value.vec4i.x = _x, .value.vec4i.y = _y, .value.vec4i.z = _z, .value.vec4i.w = _w} |
Helper macro to set 4D integer vector property from integers
#define PROP_POINTER | ( | _val | ) | (GF_PropertyValue){.type=GF_PROP_POINTER, .value.ptr = (void*)_val} |
Helper macro to set pointer property
enum GF_PropType |
Property types
Enumerator | |
---|---|
GF_PROP_FORBIDDEN | not allowed |
GF_PROP_SINT | signed 32 bit integer |
GF_PROP_UINT | unsigned 32 bit integer |
GF_PROP_LSINT | signed 64 bit integer |
GF_PROP_LUINT | unsigned 64 bit integer |
GF_PROP_BOOL | boolean |
GF_PROP_FRACTION | 32 bit / 32 bit fraction |
GF_PROP_FRACTION64 | 64 bit / 64 bit fraction |
GF_PROP_FLOAT | float (Fixed) number |
GF_PROP_DOUBLE | double number |
GF_PROP_VEC2I | 2D signed integer vector |
GF_PROP_VEC2 | 2D double number vector |
GF_PROP_VEC3I | 3D signed integer vector |
GF_PROP_VEC4I | 4D signed integer vector |
GF_PROP_STRING | string property, memory is duplicated when setting the property and managed internally |
GF_PROP_STRING_NO_COPY | string property, memory is NOT duplicated when setting the property but is then managed (and free) internally. Only used when setting a property, the type then defaults to GF_PROP_STRING DO NOT USE the associate string field upon return from setting the property, it might have been destroyed |
GF_PROP_DATA | data property, memory is duplicated when setting the property and managed internally |
GF_PROP_NAME | const string property, memory is NOT duplicated when setting the property, stays user-managed |
GF_PROP_DATA_NO_COPY | data property, memory is NOT duplicated when setting the property but is then managed (and free) internally. Only used when setting a property, the type then defaults to GF_PROP_DATA DO NOT USE the associate data field upon return from setting the property, it might have been destroyed |
GF_PROP_CONST_DATA | const data property, memory is NOT duplicated when setting the property, stays user-managed |
GF_PROP_POINTER | user-managed pointer |
GF_PROP_STRING_LIST | string list, memory is NOT duplicated when setting the property, the passed array is directly assigned to the new property and will be and managed internally (freed by the filter session) DO NOT USE the associate string array field upon return from setting the property, it might have been destroyed |
GF_PROP_UINT_LIST | unsigned 32 bit integer list, memory is ALWAYS duplicated when setting the property |
GF_PROP_SINT_LIST | signed 32 bit integer list, memory is ALWAYS duplicated when setting the property |
GF_PROP_VEC2I_LIST | 2D signed integer vector list, memory is ALWAYS duplicated when setting the property |
GF_PROP_4CC | 4CC on unsigned 32 bit integer |
GF_PROP_4CC_LIST | 4CC list on unsigned 32 bit integer, memory is ALWAYS duplicated when setting the property |
GF_PROP_STRING_LIST_COPY | string list, memory is duplicated when setting the property - to use only with property assignment functions |
GF_PROP_LAST_NON_ENUM | last non-enum property |
GF_PROP_FIRST_ENUM | All constants are defined after this - constants are stored as u32 |
GF_PROP_PIXFMT | Video Pixel format |
GF_PROP_PCMFMT | Audio PCM format |
GF_PROP_CICP_COL_PRIM | CICP Color Primaries |
GF_PROP_CICP_COL_TFC | CICP Color Transfer Characteristics |
GF_PROP_CICP_COL_MX | |
GF_PROP_CICP_LAYOUT | CICP Layout |
GF_PROP_LAST_DEFINED | not allowed |
Playback mode type supported on PID
anonymous enum |
Built-in property types See gpac help (gpac -h props) for codes, types, formats and and meaning
anonymous enum |
Block patching requirements for FILE pids, as signaled by GF_PROP_PID_DISABLE_PROGRESSIVE
enum GF_PropDumpDataMode |
Data property dump mode
const char* gf_props_4cc_get_name | ( | u32 | prop_4cc | ) |
Gets readable name of built-in property
prop_4cc | property built-in 4cc |
Gets property type of built-in property
prop_4cc | property built-in 4cc |
Bool gf_props_equal | ( | const GF_PropertyValue * | p1, |
const GF_PropertyValue * | p2 | ||
) |
Checks if two properties are equal
p1 | first property to compare - shall not be NULL |
p2 | second property to compare - shall not be NULL |
Bool gf_props_equal_strict | ( | const GF_PropertyValue * | p1, |
const GF_PropertyValue * | p2 | ||
) |
Same as gf_props_equal but do not match string with value "*" to string with value different from "*"
p1 | first property to compare - shall not be NULL |
p2 | second property to compare - shall not be NULL |
const char* gf_props_get_type_name | ( | GF_PropType | type | ) |
Gets the readable name for a property type
type | property type |
const char* gf_props_get_type_desc | ( | GF_PropType | type | ) |
Gets the description for a property type
type | property type |
GF_PropType gf_props_parse_type | ( | const char * | name | ) |
Gets the description type for a given property type name
name | property type name |
Bool gf_props_type_is_enum | ( | GF_PropType | type | ) |
Check if a property type is an enum type
type | property type |
Parse a enum type property string
type | property type |
value | value to parse |
GF_PropertyValue gf_props_parse_value | ( | u32 | type, |
const char * | name, | ||
const char * | value, | ||
const char * | enum_values, | ||
char | list_sep_char | ||
) |
Parses a property value from string
type | property type to parse |
name | property name to parse (for logs) |
value | string containing the value to parse |
enum_values | string containig enum_values, or NULL. enum_values are used for unsigned int properties, take the form "a|b|c" and resolve to 0|1|2. |
list_sep_char | value of the list separator character to use |
Get the name of a constant type property value
type | property type |
value | value of constant |
const char* gf_props_enum_all_names | ( | u32 | type | ) |
Get the possible names of an enum type property
type | property type |
Get the base type of a property type. Properties with same base type can be safely type-casted
type | property type |
const char* gf_props_dump_val | ( | const GF_PropertyValue * | att, |
char | dump[GF_PROP_DUMP_ARG_SIZE], | ||
GF_PropDumpDataMode | dump_data_flags, | ||
const char * | min_max_enum | ||
) |
Dumps a property value to string
att | property value |
dump | buffer holding the resulting value for types requiring string conversions (integers, ...) |
dump_data_flags | data dump mode and flags |
min_max_enum | optional, gives the min/max or enum string when the property is a filter argument |
const char* gf_props_dump | ( | u32 | p4cc, |
const GF_PropertyValue * | att, | ||
char | dump[GF_PROP_DUMP_ARG_SIZE], | ||
GF_PropDumpDataMode | dump_data_mode | ||
) |
Dumps a property value to string, resolving any built-in types (pix formats, codec id, ...)
p4cc | property 4CC |
att | property value |
dump | buffer holding the resulting value for types requiring string conversions (integers, ...) |
dump_data_mode | data dump mode |
void gf_props_reset_single | ( | GF_PropertyValue * | prop | ) |
Resets a property value, freeing allocated data or strings depending on the property type
prop | property 4CC |
const GF_BuiltInProperty* gf_props_get_description | ( | u32 | prop_idx | ) |
Gets property description
prop_idx | built-in property index, starting from 0 |
u32 gf_props_get_id | ( | const char * | name | ) |
Gets built-in property 4CC from name
name | built-in property name |