ISOBMFF file hinting.  
More...
|  | 
| GF_RTPHinter * | gf_hinter_track_new (GF_ISOFile *isom_file, u32 trackNumber, u32 Path_MTU, u32 max_ptime, u32 default_rtp_rate, u32 hint_flags, u8 PayloadID, Bool copy_media, u32 InterleaveGroupID, u8 InterleaveGroupPriority, GF_Err *e) | 
|  | 
| void | gf_hinter_track_del (GF_RTPHinter *tkHinter) | 
|  | 
| GF_Err | gf_hinter_track_process (GF_RTPHinter *tkHinter) | 
|  | 
| u32 | gf_hinter_track_get_bandwidth (GF_RTPHinter *tkHinter) | 
|  | 
| GF_Err | gf_hinter_track_force_no_offsets (GF_RTPHinter *tkHinter) | 
|  | 
| u32 | gf_hinter_track_get_flags (GF_RTPHinter *tkHinter) | 
|  | 
| void | gf_hinter_track_get_payload_name (GF_RTPHinter *tkHinter, char *payloadName) | 
|  | 
| GF_Err | gf_hinter_track_finalize (GF_RTPHinter *tkHinter, Bool AddSystemInfo) | 
|  | 
| GF_Err | gf_hinter_finalize (GF_ISOFile *isom_file, GF_SDP_IODProfile IOD_Profile, u32 bandwidth) | 
|  | 
| Bool | gf_hinter_can_embbed_data (u8 *data, u32 data_size, u32 streamType) | 
|  | 
ISOBMFF file hinting. 
This section documents functions for ISOBMFF file hinting. 
◆ GF_SDP_IODProfile
SDP IOD Profile 
| Enumerator | 
|---|
| GF_SDP_IOD_NONE | no IOD included  | 
| GF_SDP_IOD_REGULAR | base64 encoding of the regular MPEG-4 IOD  | 
| GF_SDP_IOD_ISMA | base64 encoding of IOD containing BIFS and OD tracks (one AU only) - this is used for ISMA 1.0 profiles note that the "hinted" file will loose all systems info  | 
| GF_SDP_IOD_ISMA_STRICT | same as ISMA but removes all clock references from IOD  | 
 
 
◆ gf_hinter_track_new()
      
        
          | GF_RTPHinter * gf_hinter_track_new | ( | GF_ISOFile * | isom_file, | 
        
          |  |  | u32 | trackNumber, | 
        
          |  |  | u32 | Path_MTU, | 
        
          |  |  | u32 | max_ptime, | 
        
          |  |  | u32 | default_rtp_rate, | 
        
          |  |  | u32 | hint_flags, | 
        
          |  |  | u8 | PayloadID, | 
        
          |  |  | Bool | copy_media, | 
        
          |  |  | u32 | InterleaveGroupID, | 
        
          |  |  | u8 | InterleaveGroupPriority, | 
        
          |  |  | GF_Err * | e | 
        
          |  | ) |  |  | 
      
 
Creates a new track hinter object 
- Parameters
- 
  
    | isom_file | the target ISOBMF file |  | trackNumber | the track to hint |  | Path_MTU | max RTP packet size (excluding IP/UDP/IP headers) |  | max_ptime | max packet duration in RTP timescale, can be set to 0 for auto compute |  | default_rtp_rate | RTP rate for the track, can be set to 0 for auto compute |  | hint_flags | RTP flags as defined in <gpac/ietf.h> |  | PayloadID | RTP payload ID, can be set to 0 for auto compute |  | copy_media | if set, media is copied inside the hint samples, otherwise only referenced from the media track |  | InterleaveGroupID | sets the group ID of this track for interleaving - same semantics as in gf_isom_set_track_interleaving_group |  | InterleaveGroupPriority | sets the group priority of this track for interleaving - same semantics as in gf_isom_set_track_priority_in_group |  | e | output error code if any |  
 
- Returns
- the hinter object 
 
 
◆ gf_hinter_track_del()
      
        
          | void gf_hinter_track_del | ( | GF_RTPHinter * | tkHinter | ) |  | 
      
 
Delete the track hinter 
- Parameters
- 
  
    | tkHinter | track hinter object |  
 
 
 
◆ gf_hinter_track_process()
      
        
          | GF_Err gf_hinter_track_process | ( | GF_RTPHinter * | tkHinter | ) |  | 
      
 
hints all samples in the media track 
- Parameters
- 
  
    | tkHinter | track hinter object |  
 
- Returns
- error if any 
 
 
◆ gf_hinter_track_get_bandwidth()
      
        
          | u32 gf_hinter_track_get_bandwidth | ( | GF_RTPHinter * | tkHinter | ) |  | 
      
 
Gets media bandwidth in kbps 
- Parameters
- 
  
    | tkHinter | track hinter object |  
 
- Returns
- media bandwidth in kbps 
 
 
◆ gf_hinter_track_force_no_offsets()
      
        
          | GF_Err gf_hinter_track_force_no_offsets | ( | GF_RTPHinter * | tkHinter | ) |  | 
      
 
Force file to use no random offsets for sequence number and time, if supported by server 
- Parameters
- 
  
    | tkHinter | track hinter object |  
 
- Returns
- error if any 
 
 
◆ gf_hinter_track_get_flags()
      
        
          | u32 gf_hinter_track_get_flags | ( | GF_RTPHinter * | tkHinter | ) |  | 
      
 
Gets track hinter flags 
- Parameters
- 
  
    | tkHinter | track hinter object |  
 
- Returns
- hint flags for this object 
 
 
◆ gf_hinter_track_get_payload_name()
      
        
          | void gf_hinter_track_get_payload_name | ( | GF_RTPHinter * | tkHinter, | 
        
          |  |  | char * | payloadName | 
        
          |  | ) |  |  | 
      
 
Gets rtp payload name 
- Parameters
- 
  
    | tkHinter | track hinter object |  | payloadName | static buffer for retrieval, minimum 30 bytes |  
 
 
 
◆ gf_hinter_track_finalize()
      
        
          | GF_Err gf_hinter_track_finalize | ( | GF_RTPHinter * | tkHinter, | 
        
          |  |  | Bool | AddSystemInfo | 
        
          |  | ) |  |  | 
      
 
Finalizes hinting process for the track (setup flags, write SDP for RTP, ...) 
- Parameters
- 
  
    | tkHinter | track hinter object |  | AddSystemInfo | if true, systems info are duplicated in the SDP (decoder cfg, PL IDs ..) |  
 
- Returns
- error if any 
 
 
◆ gf_hinter_finalize()
Finalizes hinting process for the file (setup flags, write SDP for RTP, ...) 
- Parameters
- 
  
    | isom_file | target ISOBMF file |  | IOD_Profile | the IOD profile to use for SDP |  | bandwidth | total bandwidth in kbps of all hinted tracks, 0 means no bandwidth info at session level |  
 
- Returns
- error if any 
 
 
◆ gf_hinter_can_embbed_data()
      
        
          | Bool gf_hinter_can_embbed_data | ( | u8 * | data, | 
        
          |  |  | u32 | data_size, | 
        
          |  |  | u32 | streamType | 
        
          |  | ) |  |  | 
      
 
Check if the given data fits in an ESD url 
- Parameters
- 
  
    | data | data to be encoded |  | data_size | size of data to be encoded |  | streamType | systems stream type needed to signal data mime-type (OD, BIFS or any) |  
 
- Returns
- GF_TRUE if the encoded data fits in an ESD url