payloadtype.h File Reference

Definition of payload types. More...

`#include <ortp/port.h>`

## Data Structures

struct | _PayloadTypeAvpfParams
struct | _OrtpPayloadType

## Macros

#define | PAYLOAD_TYPE_ALLOCATED (1)
#define | PAYLOAD_TYPE_IS_VBR (1 << 1)
#define | PAYLOAD_TYPE_RTCP_FEEDBACK_ENABLED (1 << 2)
#define | PAYLOAD_TYPE_PRIV1 (1 << 3)
#define | PAYLOAD_TYPE_USER_FLAG_0 (1 << 4)
#define | PAYLOAD_TYPE_USER_FLAG_1 (1 << 5)
#define | PAYLOAD_TYPE_USER_FLAG_2 (1 << 6)
#define | PAYLOAD_TYPE_USER_FLAG_3 (1 << 7)
#define | PAYLOAD_TYPE_USER_FLAG_4 (1 << 8)
#define | PAYLOAD_TYPE_USER_FLAG_5 (1 << 9)
#define | PAYLOAD_TYPE_USER_FLAG_6 (1 << 10)
#define | PAYLOAD_TYPE_USER_FLAG_7 (1 << 11)
#define | PAYLOAD_TYPE_FLAG_CAN_RECV PAYLOAD_TYPE_USER_FLAG_1
#define | PAYLOAD_TYPE_FLAG_CAN_SEND PAYLOAD_TYPE_USER_FLAG_2
#define | PAYLOAD_AUDIO_CONTINUOUS 0
#define | PAYLOAD_AUDIO_PACKETIZED 1
#define | PAYLOAD_VIDEO 2
#define | PAYLOAD_TEXT 3
#define | PAYLOAD_OTHER 4 /* ?? */
#define | PAYLOAD_TYPE_AVPF_NONE 0
#define | PAYLOAD_TYPE_AVPF_FIR (1 << 0)
#define | PAYLOAD_TYPE_AVPF_PLI (1 << 1)
#define | PAYLOAD_TYPE_AVPF_SLI (1 << 2)
#define | PAYLOAD_TYPE_AVPF_RPSI (1 << 3)
#define | PayloadType_defined
#define | payload_type_set_flag(pt, flag)
#define | payload_type_unset_flag(pt, flag)
#define | payload_type_get_flags(pt)
#define | payload_type_get_avpf_params(pt)
#define | payload_type_get_bitrate(pt)
#define | payload_type_get_rate(pt)
#define | payload_type_get_mime(pt)
#define | payload_type_set_user_data(pt, p)
#define | payload_type_get_user_data(pt)

## Typedefs

typedef struct _OrtpPayloadType | OrtpPayloadType
typedef OrtpPayloadType | PayloadType
typedef struct _PayloadTypeAvpfParams | PayloadTypeAvpfParams

## Functions

PayloadType * | payload_type_new (void)
PayloadType * | payload_type_clone (const PayloadType *payload)
char * | payload_type_get_rtpmap (PayloadType *pt)
void | payload_type_destroy (PayloadType *pt)
void | payload_type_set_recv_fmtp (PayloadType *pt, const char *fmtp)
void | payload_type_set_send_fmtp (PayloadType *pt, const char *fmtp)
void | payload_type_append_recv_fmtp (PayloadType *pt, const char *fmtp)
void | payload_type_append_send_fmtp (PayloadType *pt, const char *fmtp)
void | payload_type_set_avpf_params (PayloadType *pt, PayloadTypeAvpfParams params)
bool_t | payload_type_is_vbr (const PayloadType *pt)
bool_t | fmtp_get_value (const char *fmtp, const char *param_name, char *result, size_t result_len)

## Variables

ORTP_VAR_PUBLIC PayloadType | payload_type_pcmu8000
ORTP_VAR_PUBLIC PayloadType | payload_type_pcma8000
ORTP_VAR_PUBLIC PayloadType | payload_type_pcm8000
ORTP_VAR_PUBLIC PayloadType | payload_type_l16_mono
ORTP_VAR_PUBLIC PayloadType | payload_type_l16_stereo
ORTP_VAR_PUBLIC PayloadType | payload_type_lpc1016
ORTP_VAR_PUBLIC PayloadType | payload_type_g729
ORTP_VAR_PUBLIC PayloadType | payload_type_g7231
ORTP_VAR_PUBLIC PayloadType | payload_type_g7221
ORTP_VAR_PUBLIC PayloadType | payload_type_cn
ORTP_VAR_PUBLIC PayloadType | payload_type_g726_40
ORTP_VAR_PUBLIC PayloadType | payload_type_g726_32
ORTP_VAR_PUBLIC PayloadType | payload_type_g726_24
ORTP_VAR_PUBLIC PayloadType | payload_type_g726_16
ORTP_VAR_PUBLIC PayloadType | payload_type_aal2_g726_40
ORTP_VAR_PUBLIC PayloadType | payload_type_aal2_g726_32
ORTP_VAR_PUBLIC PayloadType | payload_type_aal2_g726_24
ORTP_VAR_PUBLIC PayloadType | payload_type_aal2_g726_16
ORTP_VAR_PUBLIC PayloadType | payload_type_gsm
ORTP_VAR_PUBLIC PayloadType | payload_type_lpc
ORTP_VAR_PUBLIC PayloadType | payload_type_lpc1015
ORTP_VAR_PUBLIC PayloadType | payload_type_speex_nb
ORTP_VAR_PUBLIC PayloadType | payload_type_speex_wb
ORTP_VAR_PUBLIC PayloadType | payload_type_speex_uwb
ORTP_VAR_PUBLIC PayloadType | payload_type_ilbc
ORTP_VAR_PUBLIC PayloadType | payload_type_amr
ORTP_VAR_PUBLIC PayloadType | payload_type_amrwb
ORTP_VAR_PUBLIC PayloadType | payload_type_truespeech
ORTP_VAR_PUBLIC PayloadType | payload_type_evrc0
ORTP_VAR_PUBLIC PayloadType | payload_type_evrcb0
ORTP_VAR_PUBLIC PayloadType | payload_type_silk_nb
ORTP_VAR_PUBLIC PayloadType | payload_type_silk_mb
ORTP_VAR_PUBLIC PayloadType | payload_type_silk_wb
ORTP_VAR_PUBLIC PayloadType | payload_type_silk_swb
ORTP_VAR_PUBLIC PayloadType | payload_type_aaceld_16k
ORTP_VAR_PUBLIC PayloadType | payload_type_aaceld_22k
ORTP_VAR_PUBLIC PayloadType | payload_type_aaceld_32k
ORTP_VAR_PUBLIC PayloadType | payload_type_aaceld_44k
ORTP_VAR_PUBLIC PayloadType | payload_type_aaceld_48k
ORTP_VAR_PUBLIC PayloadType | payload_type_opus
ORTP_VAR_PUBLIC PayloadType | payload_type_isac
ORTP_VAR_PUBLIC PayloadType | payload_type_gsm_efr
ORTP_VAR_PUBLIC PayloadType | payload_type_codec2
ORTP_VAR_PUBLIC PayloadType | payload_type_bv16
ORTP_VAR_PUBLIC PayloadType | payload_type_mpv
ORTP_VAR_PUBLIC PayloadType | payload_type_h261
ORTP_VAR_PUBLIC PayloadType | payload_type_h263
ORTP_VAR_PUBLIC PayloadType | payload_type_h263_1998
ORTP_VAR_PUBLIC PayloadType | payload_type_h263_2000
ORTP_VAR_PUBLIC PayloadType | payload_type_mp4v
ORTP_VAR_PUBLIC PayloadType | payload_type_theora
ORTP_VAR_PUBLIC PayloadType | payload_type_h264
ORTP_VAR_PUBLIC PayloadType | payload_type_h265
ORTP_VAR_PUBLIC PayloadType | payload_type_x_snow
ORTP_VAR_PUBLIC PayloadType | payload_type_jpeg
ORTP_VAR_PUBLIC PayloadType | payload_type_vp8
ORTP_VAR_PUBLIC PayloadType | payload_type_av1
ORTP_VAR_PUBLIC PayloadType | payload_type_g722
ORTP_VAR_PUBLIC PayloadType | payload_type_flexfec
ORTP_VAR_PUBLIC PayloadType | payload_type_t140
ORTP_VAR_PUBLIC PayloadType | payload_type_t140_red
ORTP_VAR_PUBLIC PayloadType | payload_type_x_udpftp
ORTP_VAR_PUBLIC PayloadType | payload_type_telephone_event

## Detailed Description

Definition of payload types.

## Macro Definition Documentation

## payload_type_get_avpf_params

#define payload_type_get_avpf_params | ( |  | pt | ) |

Value:
((pt)->avpf)

## payload_type_get_bitrate

#define payload_type_get_bitrate | ( |  | pt | ) |

Value:
((pt)->normal_bitrate)

## payload_type_get_flags

#define payload_type_get_flags | ( |  | pt | ) |

Value:
(pt)->flags

## payload_type_get_mime

#define payload_type_get_mime | ( |  | pt | ) |

Value:
((pt)->mime_type)

## payload_type_get_rate

#define payload_type_get_rate | ( |  | pt | ) |

Value:
((pt)->clock_rate)

## payload_type_get_user_data

#define payload_type_get_user_data | ( |  | pt | ) |

Value:
((pt)->user_data)

## payload_type_set_flag

#define payload_type_set_flag | ( |  | pt,
|  |  | flag )

Value:
(pt)->flags |= ((int)flag)

## payload_type_set_user_data

#define payload_type_set_user_data | ( |  | pt,
|  |  | p )

Value:
(pt)->user_data = (p)

## payload_type_unset_flag

#define payload_type_unset_flag | ( |  | pt,
|  |  | flag )

Value:
(pt)->flags &= (~(int)flag)

## Function Documentation

## fmtp_get_value()

bool_t fmtp_get_value | ( | const char * | fmtp,
|  | const char * | param_name,
|  | char * | result,
|  | size_t | result_len )

Parses a fmtp string such as "profile=0;level=10", finds the value matching parameter param_name, and writes it into result. If a parameter name is found multiple times, only the value of the last occurence is returned. Despite fmtp strings are not used anywhere within oRTP, this function can be useful for people using RTP streams described from SDP.

Parameters

  fmtp | the fmtp line (format parameters)
  param_name | the parameter to search for
  result | the value given for the parameter (if found)
  result_len | the size allocated to hold the result string

Returns
  TRUE if the parameter was found, else FALSE.

## payload_type_destroy()

void payload_type_destroy | ( | PayloadType * | pt | ) |

Frees a PayloadType.

## payload_type_set_recv_fmtp()

void payload_type_set_recv_fmtp | ( | PayloadType * | pt,
|  | const char * | fmtp )

Sets a recv parameters (fmtp) for the PayloadType. This method is provided for applications using RTP with SDP, but actually the ftmp information is not used for RTP processing.

## payload_type_set_send_fmtp()

void payload_type_set_send_fmtp | ( | PayloadType * | pt,
|  | const char * | fmtp )

Sets a send parameters (fmtp) for the PayloadType. This method is provided for applications using RTP with SDP, but actually the ftmp information is not used for RTP processing.