libgpac
Documentation of the core library of GPAC
Filter Properties

PID and filter properties. More...

+ Collaboration diagram for Filter Properties:

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_DURATION_AVG = GF_4CC('E','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','I') , 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_FILEALIAS = GF_4CC('F','A','L','I') , 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_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_PCK_UDTA = GF_4CC('P','U','D','T') , GF_PROP_PCK_LLHAS_TEMPLATE = GF_4CC('P','S','R','T') , GF_PROP_PCK_TIMECODES = GF_4CC('T','C','O','D') , 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_SSR = GF_4CC('S','S','R','R') , 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_FDUR = GF_4CC('F','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_VOD_SIDX_RANGE = GF_4CC('P','R','S','R') , 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_PCK_FILE_REL = GF_4CC('F','N','R','L') , GF_PROP_PCK_HLS_REF = GF_4CC('H','P','L','R') , GF_PROP_PID_HLS_REF = GF_4CC('P','H','L','R') , GF_PROP_PID_LLHAS_MODE = GF_4CC('H','L','H','S') ,
  GF_PROP_PCK_LLHAS_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_PCK_DASH_PERIOD_START = GF_4CC('P','D','P','S') ,
  GF_PROP_PID_HAS_SKIP_BEGIN = GF_4CC('P','S','B','P') , 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_INIT_NAME = GF_4CC('P','I','N','M') ,
  GF_PROP_PCK_SEG_URL = GF_4CC('S','U','R','L') , GF_PROP_PCK_CENC_PSSH = GF_4CC('P','S','H','P') , 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') , GF_PROP_PCK_PARTIAL_REPAIR = GF_4CC('P','C','P','R')
}
 
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)
 
Bool gf_props_sanity_check ()
 
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_BuiltInPropertygf_props_get_description (u32 prop_idx)
 
u32 gf_props_get_id (const char *name)
 
u8 gf_props_4cc_get_flags (u32 prop_4cc)
 

Detailed Description

Documents the property object used for PID and packets.


Data Structure Documentation

◆ GF_PropData

struct GF_PropData

Data property

Data Fields
u8 * ptr

data pointer

u32 size

data size

◆ GF_PropVec2i

struct GF_PropVec2i

2D signed integer vector property

Data Fields
s32 x

x coord

s32 y

y coord

◆ GF_PropVec2

struct GF_PropVec2

2D double number vector property

Data Fields
Double x

x coord

Double y

y coord

◆ GF_PropVec3i

struct GF_PropVec3i

3D signed integer vector property

Data Fields
s32 x

x coord

s32 y

y coord

s32 z

z coord

◆ GF_PropVec4i

struct GF_PropVec4i

4D signed integer vector property

Data Fields
s32 x

x coord

s32 y

y coord

s32 z

z coord

s32 w

w coord

◆ GF_PropStringList

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

◆ GF_PropUIntList

struct GF_PropUIntList

List of unsigned int property - do not change field order !

Data Fields
u32 * vals

array of unsigned integers

u32 nb_items

number of items in array

◆ GF_PropIntList

struct GF_PropIntList

List of signed int property - do not change field order !

Data Fields
s32 * vals

array of signed integers

u32 nb_items

number of items in array

◆ GF_PropVec2iList

struct GF_PropVec2iList

List of unsigned int property

+ Collaboration diagram for GF_PropVec2iList:
Data Fields
GF_PropVec2i * vals

array of vec2i

u32 nb_items

number of items in array

◆ __gf_prop_val

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

◆ GF_BuiltInProperty

struct GF_BuiltInProperty

Structure describing a built-in property in GPAC

Data Fields
u32 type

identifier (4CC)

const char * name

name

const char * description

description

u8 data_type

data type (uint, float, etc ..)

u8 flags

flags for the property

◆ __gf_prop_val.value

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)

Macro Definition Documentation

◆ GF_GSF_VERSION

#define GF_GSF_VERSION   2

GSF version (coded on 8 bits in gsf format)

◆ GF_PROP_DUMP_ARG_SIZE

#define GF_PROP_DUMP_ARG_SIZE   100

Maximum string size to use when dumping a property

◆ GF_PROP_FLAG_PCK

#define GF_PROP_FLAG_PCK   1

Property applies only to packets - if not set, property only applies to PID

◆ GF_PROP_FLAG_GSF_REM

#define GF_PROP_FLAG_GSF_REM   1<<1

Property is optional for GPAC GSF serialization (not transmitted over network when property removal is enabled)

◆ PROP_SINT

#define PROP_SINT (   _val)    (GF_PropertyValue){.type=GF_PROP_SINT, .value.sint = _val}

Helper macro to set signed int property

◆ PROP_UINT

#define PROP_UINT (   _val)    (GF_PropertyValue){.type=GF_PROP_UINT, .value.uint = _val}

Helper macro to set unsigned int property

◆ PROP_ENUM

#define PROP_ENUM (   _val,
  _type 
)    (GF_PropertyValue){.type=_type, .value.uint = _val}

Helper macro to set an enum property

◆ PROP_4CC

#define PROP_4CC (   _val)    (GF_PropertyValue){.type=GF_PROP_4CC, .value.uint = _val}

Helper macro to set 4CC unsigned int property

◆ PROP_LONGSINT

#define PROP_LONGSINT (   _val)    (GF_PropertyValue){.type=GF_PROP_LSINT, .value.longsint = _val}

Helper macro to set long signed int property

◆ PROP_LONGUINT

#define PROP_LONGUINT (   _val)    (GF_PropertyValue){.type=GF_PROP_LUINT, .value.longuint = _val}

Helper macro to set long unsigned int property

◆ PROP_BOOL

#define PROP_BOOL (   _val)    (GF_PropertyValue){.type=GF_PROP_BOOL, .value.boolean = _val}

Helper macro to set boolean property

◆ PROP_FIXED

#define PROP_FIXED (   _val)    (GF_PropertyValue){.type=GF_PROP_FLOAT, .value.fnumber = _val}

Helper macro to set fixed-point number property

◆ PROP_FLOAT

#define PROP_FLOAT (   _val)    (GF_PropertyValue){.type=GF_PROP_FLOAT, .value.fnumber = FLT2FIX(_val)}

Helper macro to set float property

◆ PROP_FRAC_INT

#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

◆ PROP_FRAC

#define PROP_FRAC (   _val)    (GF_PropertyValue){.type=GF_PROP_FRACTION, .value.frac = _val }

Helper macro to set 32-bit fraction property

◆ PROP_FRAC64

#define PROP_FRAC64 (   _val)    (GF_PropertyValue){.type=GF_PROP_FRACTION64, .value.lfrac = _val}

Helper macro to set 64-bit fraction property from integers

◆ PROP_FRAC64_INT

#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

◆ PROP_DOUBLE

#define PROP_DOUBLE (   _val)    (GF_PropertyValue){.type=GF_PROP_DOUBLE, .value.number = _val}

Helper macro to set double property

◆ PROP_STRING

#define PROP_STRING (   _val)    (GF_PropertyValue){.type=GF_PROP_STRING, .value.string = (char *) _val}

Helper macro to set string property

◆ PROP_STRING_NO_COPY

#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)

◆ PROP_NAME

#define PROP_NAME (   _val)    (GF_PropertyValue){.type=GF_PROP_NAME, .value.string = _val}

Helper macro to set name property

◆ PROP_DATA

#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

◆ PROP_DATA_NO_COPY

#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)

◆ PROP_CONST_DATA

#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

◆ PROP_VEC2

#define PROP_VEC2 (   _val)    (GF_PropertyValue){.type=GF_PROP_VEC2, .value.vec2 = _val}

Helper macro to set 2D float vector property

◆ PROP_VEC2I

#define PROP_VEC2I (   _val)    (GF_PropertyValue){.type=GF_PROP_VEC2I, .value.vec2i = _val}

Helper macro to set 2D integer vector property

◆ PROP_VEC2I_INT

#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

◆ PROP_VEC3I

#define PROP_VEC3I (   _val)    (GF_PropertyValue){.type=GF_PROP_VEC3I, .value.vec3i = _val}

Helper macro to set 3D integer vector property

◆ PROP_VEC3I_INT

#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

◆ PROP_VEC4I

#define PROP_VEC4I (   _val)    (GF_PropertyValue){.type=GF_PROP_VEC4I, .value.vec4i = _val}

Helper macro to set 4D integer vector property

◆ PROP_VEC4I_INT

#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

◆ PROP_POINTER

#define PROP_POINTER (   _val)    (GF_PropertyValue){.type=GF_PROP_POINTER, .value.ptr = (void*)_val}

Helper macro to set pointer property

Enumeration Type Documentation

◆ 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 

CICP Color Matrix

GF_PROP_CICP_LAYOUT 

CICP Layout

GF_PROP_LAST_DEFINED 

not allowed

◆ GF_FilterPidPlaybackMode

Playback mode type supported on PID

Enumerator
GF_PLAYBACK_MODE_NONE 

simplest playback mode, can play from 0 at speed=1 only

GF_PLAYBACK_MODE_SEEK 

seek playback mode, can play from any position at speed=1 only

GF_PLAYBACK_MODE_FASTFORWARD 

fast forward playback mode, can play from any position at speed=N only, with N>=0

GF_PLAYBACK_MODE_REWIND 

rewind playback mode, can play from any position at speed=N, N positive or negative

◆ anonymous enum

anonymous enum

Built-in property types See gpac help (gpac -h props) for codes, types, formats and and meaning

All these property must use capital alpha-numerical code, no space or special charcters allowed.

    \hideinitializer
Enumerator
GF_PROP_PID_ID 
GF_PROP_PID_ESID 
GF_PROP_PID_ITEM_ID 
GF_PROP_PID_ITEM_NUM 
GF_PROP_PID_TRACK_NUM 
GF_PROP_PID_SERVICE_ID 
GF_PROP_PID_CLOCK_ID 
GF_PROP_PID_DEPENDENCY_ID 
GF_PROP_PID_SUBLAYER 
GF_PROP_PID_PLAYBACK_MODE 
GF_PROP_PID_SCALABLE 
GF_PROP_PID_TILE_BASE 
GF_PROP_PID_TILE_ID 
GF_PROP_PID_LANGUAGE 
GF_PROP_PID_SERVICE_NAME 
GF_PROP_PID_SERVICE_PROVIDER 
GF_PROP_PID_STREAM_TYPE 
GF_PROP_PID_SUBTYPE 
GF_PROP_PID_ISOM_SUBTYPE 
GF_PROP_PID_ORIG_STREAM_TYPE 
GF_PROP_PID_CODECID 
GF_PROP_PID_IN_IOD 
GF_PROP_PID_UNFRAMED 
GF_PROP_PID_UNFRAMED_FULL_AU 
GF_PROP_PID_DURATION 
GF_PROP_PID_DURATION_AVG 
GF_PROP_PID_NB_FRAMES 
GF_PROP_PID_FRAME_OFFSET 
GF_PROP_PID_FRAME_SIZE 
GF_PROP_PID_TIMESHIFT_DEPTH 
GF_PROP_PID_TIMESHIFT_TIME 
GF_PROP_PID_TIMESHIFT_STATE 
GF_PROP_PID_TIMESCALE 
GF_PROP_PID_PROFILE_LEVEL 
GF_PROP_PID_DECODER_CONFIG 
GF_PROP_PID_DECODER_CONFIG_ENHANCEMENT 
GF_PROP_PID_DSI_SUPERSET 
GF_PROP_PID_CONFIG_IDX 
GF_PROP_PID_SAMPLE_RATE 
GF_PROP_PID_SAMPLES_PER_FRAME 
GF_PROP_PID_NUM_CHANNELS 
GF_PROP_PID_AUDIO_BPS 
GF_PROP_PID_CHANNEL_LAYOUT 
GF_PROP_PID_AUDIO_FORMAT 
GF_PROP_PID_AUDIO_SPEED 
GF_PROP_PID_UNFRAMED_LATM 
GF_PROP_PID_DELAY 
GF_PROP_PID_CTS_SHIFT 
GF_PROP_PID_NO_PRIMING 
GF_PROP_PID_WIDTH 
GF_PROP_PID_HEIGHT 
GF_PROP_PID_PIXFMT 
GF_PROP_PID_PIXFMT_WRAPPED 
GF_PROP_PID_STRIDE 
GF_PROP_PID_STRIDE_UV 
GF_PROP_PID_BIT_DEPTH_Y 
GF_PROP_PID_BIT_DEPTH_UV 
GF_PROP_PID_FPS 
GF_PROP_PID_INTERLACED 
GF_PROP_PID_SAR 
GF_PROP_PID_WIDTH_MAX 
GF_PROP_PID_HEIGHT_MAX 
GF_PROP_PID_ZORDER 
GF_PROP_PID_TRANS_X 
GF_PROP_PID_TRANS_Y 
GF_PROP_PID_TRANS_X_INV 
GF_PROP_PID_TRANS_Y_INV 
GF_PROP_PID_HIDDEN 
GF_PROP_PID_CROP_POS 
GF_PROP_PID_ORIG_SIZE 
GF_PROP_PID_SRD 
GF_PROP_PID_SRD_REF 
GF_PROP_PID_SRD_MAP 
GF_PROP_PID_ALPHA 
GF_PROP_PID_MIRROR 
GF_PROP_PID_ROTATE 
GF_PROP_PID_CLAP_W 
GF_PROP_PID_CLAP_H 
GF_PROP_PID_CLAP_X 
GF_PROP_PID_CLAP_Y 
GF_PROP_PID_NUM_VIEWS 
GF_PROP_PID_DOLBY_VISION 
GF_PROP_PID_BITRATE 
GF_PROP_PID_MAXRATE 
GF_PROP_PID_TARGET_RATE 
GF_PROP_PID_DBSIZE 
GF_PROP_PID_MEDIA_DATA_SIZE 
GF_PROP_PID_CAN_DATAREF 
GF_PROP_PID_URL 
GF_PROP_PID_REMOTE_URL 
GF_PROP_PID_REDIRECT_URL 
GF_PROP_PID_FILEPATH 
GF_PROP_PID_FILEALIAS 
GF_PROP_PID_MIME 
GF_PROP_PID_FILE_EXT 
GF_PROP_PID_OUTPATH 
GF_PROP_PID_FILE_CACHED 
GF_PROP_PID_DOWN_RATE 
GF_PROP_PID_DOWN_SIZE 
GF_PROP_PID_DOWN_BYTES 
GF_PROP_PID_FILE_RANGE 
GF_PROP_PID_DISABLE_PROGRESSIVE 
GF_PROP_PID_ISOM_BRANDS 
GF_PROP_PID_ISOM_MBRAND 
GF_PROP_PID_ISOM_MOVIE_TIME 
GF_PROP_PID_HAS_SYNC 
GF_PROP_SERVICE_WIDTH 
GF_PROP_SERVICE_HEIGHT 
GF_PROP_PID_IS_DEFAULT 
GF_PROP_PID_CAROUSEL_RATE 
GF_PROP_PID_AUDIO_VOLUME 
GF_PROP_PID_AUDIO_PAN 
GF_PROP_PID_AUDIO_PRIORITY 
GF_PROP_PID_PROTECTION_SCHEME_TYPE 
GF_PROP_PID_PROTECTION_SCHEME_VERSION 
GF_PROP_PID_PROTECTION_SCHEME_URI 
GF_PROP_PID_PROTECTION_KMS_URI 
GF_PROP_PID_ISMA_SELECTIVE_ENC 
GF_PROP_PID_ISMA_IV_LENGTH 
GF_PROP_PID_ISMA_KI_LENGTH 
GF_PROP_PID_OMA_CRYPT_TYPE 
GF_PROP_PID_OMA_CID 
GF_PROP_PID_OMA_TXT_HDR 
GF_PROP_PID_OMA_CLEAR_LEN 
GF_PROP_PID_CRYPT_INFO 
GF_PROP_PID_DECRYPT_INFO 
GF_PROP_PCK_SENDER_NTP 
GF_PROP_PCK_RECEIVER_NTP 
GF_PROP_PID_ADOBE_CRYPT_META 
GF_PROP_PID_ENCRYPTED 
GF_PROP_PID_OMA_PREVIEW_RANGE 
GF_PROP_PID_CENC_PSSH 
GF_PROP_PCK_CENC_SAI 
GF_PROP_PID_CENC_KEY_INFO 
GF_PROP_PID_CENC_PATTERN 
GF_PROP_PID_CENC_STORE 
GF_PROP_PID_CENC_STSD_MODE 
GF_PROP_PID_CENC_HAS_ROLL 
GF_PROP_PID_AMR_MODE_SET 
GF_PROP_PCK_SUBS 
GF_PROP_PID_MAX_NALU_SIZE 
GF_PROP_PCK_FILENUM 
GF_PROP_PCK_FILENAME 
GF_PROP_PCK_IDXFILENAME 
GF_PROP_PCK_FILESUF 
GF_PROP_PCK_EODS 
GF_PROP_PCK_CUE_START 
GF_PROP_PCK_UTC_TIME 
GF_PROP_PCK_MEDIA_TIME 
GF_PROP_PCK_MPD_SEGSTART 
GF_PROP_PCK_ID 
GF_PROP_PCK_REFS 
GF_PROP_PCK_UDTA 
GF_PROP_PCK_LLHAS_TEMPLATE 
GF_PROP_PCK_TIMECODES 
GF_PROP_PID_MAX_FRAME_SIZE 
GF_PROP_PID_AVG_FRAME_SIZE 
GF_PROP_PID_MAX_TS_DELTA 
GF_PROP_PID_MAX_CTS_OFFSET 
GF_PROP_PID_CONSTANT_DURATION 
GF_PROP_PID_ISOM_TRACK_TEMPLATE 
GF_PROP_PID_ISOM_TREX_TEMPLATE 
GF_PROP_PID_ISOM_STSD_TEMPLATE 
GF_PROP_PID_ISOM_STSD_TEMPLATE_IDX 
GF_PROP_PID_ISOM_STSD_ALL_TEMPLATES 
GF_PROP_PID_ISOM_UDTA 
GF_PROP_PID_ISOM_HANDLER 
GF_PROP_PID_ISOM_TRACK_FLAGS 
GF_PROP_PID_ISOM_TRACK_MATRIX 
GF_PROP_PID_ISOM_ALT_GROUP 
GF_PROP_PID_ISOM_FORCE_NEGCTTS 
GF_PROP_PID_DISABLED 
GF_PROP_PID_PERIOD_ID 
GF_PROP_PID_PERIOD_START 
GF_PROP_PID_PERIOD_DUR 
GF_PROP_PID_REP_ID 
GF_PROP_PID_SSR 
GF_PROP_PID_AS_ID 
GF_PROP_PID_MUX_SRC 
GF_PROP_PID_DASH_MODE 
GF_PROP_PID_FORCE_SEG_SYNC 
GF_PROP_PID_DASH_DUR 
GF_PROP_PID_DASH_FDUR 
GF_PROP_PID_DASH_MULTI_PID 
GF_PROP_PID_DASH_MULTI_PID_IDX 
GF_PROP_PID_DASH_MULTI_TRACK 
GF_PROP_PID_ROLE 
GF_PROP_PID_PERIOD_DESC 
GF_PROP_PID_AS_COND_DESC 
GF_PROP_PID_AS_ANY_DESC 
GF_PROP_PID_REP_DESC 
GF_PROP_PID_BASE_URL 
GF_PROP_PID_TEMPLATE 
GF_PROP_PID_START_NUMBER 
GF_PROP_PID_XLINK 
GF_PROP_PID_CLAMP_DUR 
GF_PROP_PID_HLS_PLAYLIST 
GF_PROP_PID_HLS_GROUPID 
GF_PROP_PID_HLS_FORCE_INF 
GF_PROP_PID_HLS_EXT_MASTER 
GF_PROP_PID_HLS_EXT_VARIANT 
GF_PROP_PID_DASH_CUE 
GF_PROP_PID_DASH_SEGMENTS 
GF_PROP_PID_CODEC 
GF_PROP_PID_SINGLE_SCALE 
GF_PROP_PID_UDP 
GF_PROP_PID_PRIMARY_ITEM 
GF_PROP_PID_PLAY_BUFFER 
GF_PROP_PID_MAX_BUFFER 
GF_PROP_PID_RE_BUFFER 
GF_PROP_PID_VIEW_IDX 
GF_PROP_PID_COLR_PRIMARIES 
GF_PROP_PID_COLR_TRANSFER 
GF_PROP_PID_COLR_MX 
GF_PROP_PID_COLR_RANGE 
GF_PROP_PID_COLR_CHROMAFMT 
GF_PROP_PID_COLR_CHROMALOC 
GF_PROP_PID_CONTENT_LIGHT_LEVEL 
GF_PROP_PID_MASTER_DISPLAY_COLOUR 
GF_PROP_PID_ICC_PROFILE 
GF_PROP_PID_SRC_MAGIC 
GF_PROP_PID_MUX_INDEX 
GF_PROP_NO_TS_LOOP 
GF_PROP_PID_MHA_COMPATIBLE_PROFILES 
GF_PROP_PCK_FRAG_START 
GF_PROP_PCK_FRAG_RANGE 
GF_PROP_PCK_FRAG_TFDT 
GF_PROP_PCK_SIDX_RANGE 
GF_PROP_PCK_MOOF_TEMPLATE 
GF_PROP_PCK_INIT 
GF_PROP_PID_RAWGRAB 
GF_PROP_PID_KEEP_AFTER_EOS 
GF_PROP_PID_COVER_ART 
GF_PROP_PID_ORIG_FRAG_URL 
GF_PROP_PID_VOD_SIDX_RANGE 
GF_PROP_PID_MCAST_IP 
GF_PROP_PID_MCAST_PORT 
GF_PROP_PID_MCAST_NAME 
GF_PROP_PID_MCAST_CAROUSEL 
GF_PROP_PID_MCAST_SENDTIME 
GF_PROP_PID_STEREO_TYPE 
GF_PROP_PID_PROJECTION_TYPE 
GF_PROP_PID_VR_POSE 
GF_PROP_PID_CUBE_MAP_PAD 
GF_PROP_PID_EQR_CLAMP 
GF_PROP_PID_SPARSE 
GF_PROP_PID_CHARSET 
GF_PROP_PID_FORCED_SUB 
GF_PROP_PID_SCENE_NODE 
GF_PROP_PID_ORIG_CRYPT_SCHEME 
GF_PROP_PID_TIMESHIFT_SEGS 
GF_PROP_PID_CHAP_TIMES 
GF_PROP_PID_CHAP_NAMES 
GF_PROP_PID_IS_CHAP 
GF_PROP_PID_PREMUX_STREAM_TYPE 
GF_PROP_PID_CODEC_MERGEABLE 
GF_PROP_PCK_FILE_REL 
GF_PROP_PCK_HLS_REF 
GF_PROP_PID_HLS_REF 
GF_PROP_PID_LLHAS_MODE 
GF_PROP_PCK_LLHAS_FRAG_NUM 
GF_PROP_PCK_SKIP_BEGIN 
GF_PROP_PCK_SKIP_PRES 
GF_PROP_PCK_ORIG_DUR 
GF_PROP_PID_DASH_FWD 
GF_PROP_PCK_DASH_MANIFEST 
GF_PROP_PCK_HLS_VARIANT 
GF_PROP_PID_DASH_PERIOD_START 
GF_PROP_PCK_HLS_VARIANT_NAME 
GF_PROP_PID_HLS_KMS 
GF_PROP_PID_HLS_IV 
GF_PROP_PID_CLEARKEY_URI 
GF_PROP_PID_CLEARKEY_KID 
GF_PROP_PID_DASH_SPARSE 
GF_PROP_PID_DASH_DEP_GROUP 
GF_PROP_PCK_DASH_PERIOD_START 
GF_PROP_PID_HAS_SKIP_BEGIN 
GF_PROP_PID_DOWNLOAD_SESSION 
GF_PROP_PID_HAS_TEMI 
GF_PROP_PID_SCTE35_PID 
GF_PROP_PID_NO_INIT 
GF_PROP_PID_IS_MANIFEST 
GF_PROP_PCK_XPS_MASK 
GF_PROP_PCK_END_RANGE 
GF_PROP_PID_FORCE_UNFRAME 
GF_PROP_PCK_SPLIT_START 
GF_PROP_PCK_SPLIT_END 
GF_PROP_PID_INIT_NAME 
GF_PROP_PCK_SEG_URL 
GF_PROP_PCK_CENC_PSSH 
GF_PROP_PID_META_DEMUX_CODEC_ID 

Internal property used for meta demuxers ( FFmpeg, ...) codec ID

Property can be:
- pointer to codec context: only for ffdmx with old ffmpeg versions)
- uint: AVCODEC_ID_*  ffdmx with newer versions or ffenc output
GF_PROP_PID_META_DEMUX_CODEC_NAME 
GF_PROP_PID_META_DEMUX_OPAQUE 

Internal property used for meta demuxers ( FFmpeg, ...) codec opaque data, u32

GF_PROP_PCK_PARTIAL_REPAIR 

◆ anonymous enum

anonymous enum

Block patching requirements for FILE pids, as signaled by GF_PROP_PID_DISABLE_PROGRESSIVE

Enumerator
GF_PID_FILE_PATCH_NONE 
GF_PID_FILE_PATCH_REPLACE 
GF_PID_FILE_PATCH_INSERT 

◆ GF_PropDumpDataMode

Data property dump mode

Enumerator
GF_PROP_DUMP_DATA_NONE 

do not dump data

GF_PROP_DUMP_DATA_INFO 

dump data if less than 40 bytes, otherwise dump ptr address and CRC

GF_PROP_DUMP_DATA_PTR 

dump data to parsable property, as ADDRESS+'@'+POINTER

GF_PROP_DUMP_NO_REDUCE 

do not reduce fractions when dumping

Function Documentation

◆ gf_props_4cc_get_name()

const char* gf_props_4cc_get_name ( u32  prop_4cc)

Gets readable name of built-in property

Parameters
prop_4ccproperty built-in 4cc
Returns
readable name
+ Here is the caller graph for this function:

◆ gf_props_4cc_get_type()

u32 gf_props_4cc_get_type ( u32  prop_4cc)

Gets property type of built-in property

Parameters
prop_4ccproperty built-in 4cc
Returns
property name
+ Here is the caller graph for this function:

◆ gf_props_equal()

Bool gf_props_equal ( const GF_PropertyValue *  p1,
const GF_PropertyValue *  p2 
)

Checks if two properties are equal

Parameters
p1first property to compare - shall not be NULL
p2second property to compare - shall not be NULL
Returns
GF_TRUE if properties are equal, GF_FALSE otherwise
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_equal_strict()

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 "*"

Parameters
p1first property to compare - shall not be NULL
p2second property to compare - shall not be NULL
Returns
GF_TRUE if properties are equal, GF_FALSE otherwise
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_get_type_name()

const char* gf_props_get_type_name ( GF_PropType  type)

Gets the readable name for a property type

Parameters
typeproperty type
Returns
readable name
+ Here is the caller graph for this function:

◆ gf_props_get_type_desc()

const char* gf_props_get_type_desc ( GF_PropType  type)

Gets the description for a property type

Parameters
typeproperty type
Returns
description
+ Here is the caller graph for this function:

◆ gf_props_parse_type()

GF_PropType gf_props_parse_type ( const char *  name)

Gets the description type for a given property type name

Parameters
nameproperty type name
Returns
property type or GF_PROP_FORBIDDEN
+ Here is the caller graph for this function:

◆ gf_props_type_is_enum()

Bool gf_props_type_is_enum ( GF_PropType  type)

Check if a property type is an enum type

Parameters
typeproperty type
Returns
GF_TRUE if constant, GF_FALSE otherwise
+ Here is the caller graph for this function:

◆ gf_props_parse_enum()

u32 gf_props_parse_enum ( u32  type,
const char *  value 
)

Parse a enum type property string

Parameters
typeproperty type
valuevalue to parse
Returns
value, 0xFFFFFFFF if error
+ Here is the caller graph for this function:

◆ gf_props_parse_value()

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

Parameters
typeproperty type to parse
nameproperty name to parse (for logs)
valuestring containing the value to parse
enum_valuesstring 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_charvalue of the list separator character to use
Returns
the parsed property value
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_enum_name()

const char* gf_props_enum_name ( u32  type,
u32  value 
)

Get the name of a constant type property value

Parameters
typeproperty type
valuevalue of constant
Returns
value, 0xFFFFFFFF if error
+ Here is the caller graph for this function:

◆ gf_props_enum_all_names()

const char* gf_props_enum_all_names ( u32  type)

Get the possible names of an enum type property

Parameters
typeproperty type
Returns
comma-separated list of possible values
+ Here is the caller graph for this function:

◆ gf_props_get_base_type()

u32 gf_props_get_base_type ( u32  type)

Get the base type of a property type. Properties with same base type can be safely type-casted

Parameters
typeproperty type
Returns
base property type
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_sanity_check()

Bool gf_props_sanity_check ( )

Checks consistency of defined properties

Returns
GF_TRUE if OK, GF_FALSE otherwise
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_dump_val()

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

Parameters
attproperty value
dumpbuffer holding the resulting value for types requiring string conversions (integers, ...)
dump_data_flagsdata dump mode and flags
min_max_enumoptional, gives the min/max or enum string when the property is a filter argument
Returns
string
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_dump()

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, ...)

Parameters
p4ccproperty 4CC
attproperty value
dumpbuffer holding the resulting value for types requiring string conversions (integers, ...)
dump_data_modedata dump mode
Returns
string
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_reset_single()

void gf_props_reset_single ( GF_PropertyValue *  prop)

Resets a property value, freeing allocated data or strings depending on the property type

Parameters
propproperty 4CC
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_get_description()

const GF_BuiltInProperty* gf_props_get_description ( u32  prop_idx)

Gets property description

Parameters
prop_idxbuilt-in property index, starting from 0
Returns
associated property description or NULL if property was not found
+ Here is the caller graph for this function:

◆ gf_props_get_id()

u32 gf_props_get_id ( const char *  name)

Gets built-in property 4CC from name

Parameters
namebuilt-in property name
Returns
built-in property 4CC or 0 if not found
+ Here is the caller graph for this function:

◆ gf_props_4cc_get_flags()

u8 gf_props_4cc_get_flags ( u32  prop_4cc)

Gets flags of built-in property

Parameters
prop_4ccbuilt-in property 4CC
Returns
built-in property flags, 0 if not found
+ Here is the caller graph for this function: