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) | 
|   | 
LASeR SAF multiplexing. 
This section documents functions for LASeR SAF multiplexing. 
◆ gf_saf_mux_new()
      
        
          | GF_SAFMuxer * gf_saf_mux_new  | 
          ( | 
           | ) | 
           | 
        
      
 
    Creates a new SAF Multiplexer
 - Returns
 - the SAF multiplexer object 
 
 
 
◆ gf_saf_mux_del()
      
        
          | void gf_saf_mux_del  | 
          ( | 
          GF_SAFMuxer *  | 
          mux | ) | 
           | 
        
      
 
    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()
      
        
          | GF_Err gf_saf_mux_add_au  | 
          ( | 
          GF_SAFMuxer *  | 
          mux,  | 
        
        
           | 
           | 
          u32  | 
          stream_id,  | 
        
        
           | 
           | 
          u32  | 
          CTS,  | 
        
        
           | 
           | 
          char *  | 
          data,  | 
        
        
           | 
           | 
          u32  | 
          data_len,  | 
        
        
           | 
           | 
          Bool  | 
          is_rap  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
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()
      
        
          | GF_Err gf_saf_mux_for_time  | 
          ( | 
          GF_SAFMuxer *  | 
          mux,  | 
        
        
           | 
           | 
          u32  | 
          time_ms,  | 
        
        
           | 
           | 
          Bool  | 
          force_end_of_session,  | 
        
        
           | 
           | 
          u8 **  | 
          out_data,  | 
        
        
           | 
           | 
          u32 *  | 
          out_size  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
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