LASeR SAF multiplexing.
More...
|
GF_SAFMuxer * | gf_saf_mux_new () |
|
void | gf_saf_mux_del (GF_SAFMuxer *mux) |
|
GF_Err | gf_saf_mux_stream_add (GF_SAFMuxer *mux, u32 stream_id, u32 ts_res, u32 buffersize_db, u8 stream_type, u8 object_type, char *mime_type, char *dsi, u32 dsi_len, char *remote_url) |
|
GF_Err | gf_saf_mux_add_au (GF_SAFMuxer *mux, u32 stream_id, u32 CTS, char *data, u32 data_len, Bool is_rap) |
|
GF_Err | gf_saf_mux_for_time (GF_SAFMuxer *mux, u32 time_ms, Bool force_end_of_session, u8 **out_data, u32 *out_size) |
|
void | gf_media_get_video_timing (Double fps, u32 *timescale, u32 *ts_inc) |
|
u32 | gf_dolby_vision_level (u32 width, u32 height, u64 fps_num, u64 fps_den, u32 codecid) |
|
This section documents functions for LASeR SAF multiplexing.
◆ GF_SAFMuxer
SAF Multiplexer object. The multiplexer supports concurencial (multi-threaded) access
◆ gf_saf_mux_new()
Creates a new SAF Multiplexer
- Returns
- the SAF multiplexer object
◆ gf_saf_mux_del()
SAF Multiplexer destructor
- Parameters
-
mux | the SAF multiplexer object |
◆ gf_saf_mux_stream_add()
GF_Err gf_saf_mux_stream_add |
( |
GF_SAFMuxer * |
mux, |
|
|
u32 |
stream_id, |
|
|
u32 |
ts_res, |
|
|
u32 |
buffersize_db, |
|
|
u8 |
stream_type, |
|
|
u8 |
object_type, |
|
|
char * |
mime_type, |
|
|
char * |
dsi, |
|
|
u32 |
dsi_len, |
|
|
char * |
remote_url |
|
) |
| |
Adds a new stream in the SAF multiplex
- Parameters
-
mux | the SAF multiplexer object |
stream_id | ID of the SAF stream to create |
ts_res | timestamp resolution for AUs in this stream |
buffersize_db | size of decoding buffer in bytes |
stream_type | MPEG-4 systems stream type of this stream |
object_type | MPEG-4 systems object type indication of this stream |
mime_type | MIME type for this stream, NULL if unknown |
dsi | Decoder specific info for this stream |
dsi_len | specific info size for this stream |
remote_url | URL of the SAF stream if not embedded in the multiplex |
- Returns
- error if any
◆ gf_saf_mux_add_au()
adds an AU to the given Warning, AU data will be freed by the multiplexer. AUs are NOT re-sorted by CTS, in order to enable audio interleaving.
- Parameters
-
mux | the SAF multiplexer object |
stream_id | ID of the SAF stream to remove |
CTS | composition timestamp of the AU |
data | payload of the AU |
data_len | payload size of the AU |
is_rap | set to GF_TRUE to signal a random access point |
- Returns
- error if any
◆ gf_saf_mux_for_time()
Gets the content of the multiplexer for the given time.
- Parameters
-
mux | the SAF multiplexer object |
time_ms | target mux time in ms |
force_end_of_session | if set to GF_TRUE, this flushes the SAF Session - no more operations will be allowed on the muxer |
out_data | output SAF data |
out_size | output SAF data size |
- Returns
- error if any
◆ gf_media_get_video_timing()
void gf_media_get_video_timing |
( |
Double |
fps, |
|
|
u32 * |
timescale, |
|
|
u32 * |
ts_inc |
|
) |
| |
Gets timescale and TS increment from double FPS value.
- Parameters
-
fps | the target fps |
timescale | output timescale value |
ts_inc | output timestamp increment value |
◆ gf_dolby_vision_level()
u32 gf_dolby_vision_level |
( |
u32 |
width, |
|
|
u32 |
height, |
|
|
u64 |
fps_num, |
|
|
u64 |
fps_den, |
|
|
u32 |
codecid |
|
) |
| |
gets dolby vision level
- Parameters
-
width | width in pixels of video |
height | height in pixels of video |
fps_num | framerate numerator |
fps_den | framerate denominator |
codecid | GPAC codec ID |
- Returns
- dv level