![]() |
libgpac
Documentation of the core library of GPAC
|
Tools for real-time streaming over IP using RTP/RTCP/RTSP/SDP . More...
#include <gpac/list.h>
#include <gpac/bitstream.h>
#include <gpac/sync_layer.h>
#include <gpac/network.h>
Data Structures | |
struct | GF_RTSPRange |
struct | GF_RTSPTransport |
struct | GF_RTSPCommand |
struct | GF_RTPInfo |
struct | GF_RTSPResponse |
struct | GF_RTPHeader |
struct | GF_RTPMap |
struct | GF_X_Attribute |
struct | GF_SDPBandwidth |
struct | GF_SDPTiming |
struct | GF_SDPConnection |
struct | GF_SDP_FMTP |
struct | GF_SDPMedia |
struct | GF_SDPInfo |
struct | GP_RTPSLMap |
struct | GF_RTPStaticMap |
Macros | |
#define | GF_RTSP_VERSION "RTSP/1.0" |
#define | GF_RTSP_PROFILE_RTP_AVP "RTP/AVP" |
#define | GF_RTSP_PROFILE_RTP_AVP_TCP "RTP/AVP/TCP" |
#define | GF_RTSP_PROFILE_UDP "udp" |
#define | GF_RTSP_DESCRIBE "DESCRIBE" |
#define | GF_RTSP_SETUP "SETUP" |
#define | GF_RTSP_PLAY "PLAY" |
#define | GF_RTSP_PAUSE "PAUSE" |
#define | GF_RTSP_RECORD "RECORD" |
#define | GF_RTSP_TEARDOWN "TEARDOWN" |
#define | GF_RTSP_GET_PARAMETER "GET_PARAMETER" |
#define | GF_RTSP_SET_PARAMETER "SET_PARAMETER" |
#define | GF_RTSP_OPTIONS "OPTIONS" |
#define | GF_RTSP_ANNOUNCE "ANNOUNCE" |
#define | GF_RTSP_REDIRECT "REDIRECT" |
#define | GF_RTSP_TUNNEL_POST -1000 |
#define | GF_SDP_MAX_TIMEOFFSET 10 |
Typedefs | |
typedef GF_Err(* | gf_rtsp_interleave_callback) (GF_RTSPSession *sess, void *cbk_ptr, u8 *buffer, u32 bufferSize, Bool IsRTCP) |
typedef GF_Err(* | gf_rtp_tcp_callback) (void *cbk1, void *cbk2, Bool is_rtcp, u8 *pck, u32 pck_size) |
typedef void(* | gf_rtp_packet_cbk) (void *udta, u8 *payload, u32 size, GF_SLHeader *hdr, GF_Err e) |
Functions | |
const char * | gf_rtsp_nc_to_string (u32 ErrCode) |
GF_RTSPRange * | gf_rtsp_range_parse (char *range_buf) |
GF_RTSPRange * | gf_rtsp_range_new () |
void | gf_rtsp_range_del (GF_RTSPRange *range) |
GF_RTSPTransport * | gf_rtsp_transport_clone (GF_RTSPTransport *transp) |
void | gf_rtsp_transport_del (GF_RTSPTransport *transp) |
GF_RTSPCommand * | gf_rtsp_command_new () |
void | gf_rtsp_command_del (GF_RTSPCommand *com) |
void | gf_rtsp_command_reset (GF_RTSPCommand *com) |
GF_RTSPResponse * | gf_rtsp_response_new () |
void | gf_rtsp_response_del (GF_RTSPResponse *rsp) |
void | gf_rtsp_response_reset (GF_RTSPResponse *rsp) |
GF_RTSPSession * | gf_rtsp_session_new (char *sURL, u16 DefaultPort) |
void | gf_rtsp_session_del (GF_RTSPSession *sess) |
GF_Err | gf_rtsp_set_buffer_size (GF_RTSPSession *sess, u32 BufferSize) |
u32 | gf_rtsp_session_reset (GF_RTSPSession *sess, Bool ResetConnection) |
Bool | gf_rtsp_is_my_session (GF_RTSPSession *sess, char *url) |
const char * | gf_rtsp_get_server_name (GF_RTSPSession *sess) |
const char * | gf_rtsp_get_user (GF_RTSPSession *sess) |
const char * | gf_rtsp_get_password (GF_RTSPSession *sess) |
u16 | gf_rtsp_get_session_port (GF_RTSPSession *sess) |
Bool | gf_rtsp_use_tls (GF_RTSPSession *sess) |
GF_Err | gf_rtsp_get_response (GF_RTSPSession *sess, GF_RTSPResponse *rsp) |
u32 | gf_rtsp_get_session_state (GF_RTSPSession *sess) |
void | gf_rtsp_reset_aggregation (GF_RTSPSession *sess) |
GF_Err | gf_rtsp_send_command (GF_RTSPSession *sess, GF_RTSPCommand *com) |
GF_Err | gf_rtsp_check_connection (GF_RTSPSession *sess) |
GF_Err | gf_rtsp_set_interleave_callback (GF_RTSPSession *sess, gf_rtsp_interleave_callback SignalData) |
GF_Err | gf_rtsp_session_read (GF_RTSPSession *sess) |
GF_Err | gf_rtsp_register_interleave (GF_RTSPSession *sess, void *the_ch, u8 LowInterID, u8 HighInterID) |
u32 | gf_rtsp_unregister_interleave (GF_RTSPSession *sess, u8 LowInterID) |
GF_RTSPSession * | gf_rtsp_session_new_server (GF_Socket *rtsp_listener, Bool allow_http_tunnel, void *ssl_ctx) |
GF_Err | gf_rtsp_get_command (GF_RTSPSession *sess, GF_RTSPCommand *com) |
char * | gf_rtsp_generate_session_id (GF_RTSPSession *sess) |
GF_Err | gf_rtsp_send_response (GF_RTSPSession *sess, GF_RTSPResponse *rsp) |
GF_Err | gf_rtsp_get_session_ip (GF_RTSPSession *sess, char buffer[GF_MAX_IP_NAME_LEN]) |
GF_Err | gf_rtsp_get_remote_address (GF_RTSPSession *sess, char *buffer) |
GF_Err | gf_rtsp_session_write_interleaved (GF_RTSPSession *sess, u32 idx, u8 *pck, u32 pck_size) |
const char * | gf_rtsp_get_session_cookie (GF_RTSPSession *sess) |
GF_Err | gf_rtsp_merge_tunnel (GF_RTSPSession *sess, GF_RTSPSession *post_sess) |
void | gf_rtsp_session_set_netcap_id (GF_RTSPSession *sess, const char *netcap_id) |
GF_RTPChannel * | gf_rtp_new () |
GF_RTPChannel * | gf_rtp_new_ex (const char *netcap_id) |
void | gf_rtp_del (GF_RTPChannel *ch) |
GF_Err | gf_rtp_setup_transport (GF_RTPChannel *ch, GF_RTSPTransport *trans_info, const char *remote_address) |
GF_Err | gf_rtp_set_ports (GF_RTPChannel *ch, u16 first_port) |
GF_Err | gf_rtp_setup_payload (GF_RTPChannel *ch, u32 PayloadType, u32 ClockRate) |
void | gf_rtp_enable_nat_keepalive (GF_RTPChannel *ch, u32 nat_timeout) |
GF_Err | gf_rtp_initialize (GF_RTPChannel *ch, u32 UDPBufferSize, Bool IsSource, u32 PathMTU, u32 ReorederingSize, u32 MaxReorderDelay, char *local_interface_ip) |
GF_Err | gf_rtp_stop (GF_RTPChannel *ch) |
GF_Err | gf_rtp_set_ssm (GF_RTPChannel *ch, const char **src_ip_inc, u32 nb_src_ip_inc, const char **src_ip_exc, u32 nb_src_ip_exc) |
GF_Err | gf_rtp_set_info_rtp (GF_RTPChannel *ch, u32 seq_num, u32 rtp_time, u32 ssrc) |
Double | gf_rtp_get_current_time (GF_RTPChannel *ch) |
void | gf_rtp_reset_buffers (GF_RTPChannel *ch) |
void | gf_rtp_reset_ssrc (GF_RTPChannel *ch) |
u32 | gf_rtp_read_rtp (GF_RTPChannel *ch, u8 *buffer, u32 buffer_size) |
u32 | gf_rtp_flush_rtp (GF_RTPChannel *ch, u8 *buffer, u32 buffer_size) |
u32 | gf_rtp_read_rtcp (GF_RTPChannel *ch, u8 *buffer, u32 buffer_size) |
u32 | gf_rtp_read_flush (GF_RTPChannel *ch, u8 *buffer, u32 buffer_size) |
GF_Err | gf_rtp_decode_rtp (GF_RTPChannel *ch, u8 *pck, u32 pck_size, GF_RTPHeader *rtp_hdr, u32 *PayloadStart) |
GF_Err | gf_rtp_decode_rtcp (GF_RTPChannel *ch, u8 *pck, u32 pck_size, Bool *has_sr) |
GF_Err | gf_rtp_send_rtcp_report (GF_RTPChannel *ch) |
void | gf_rtp_set_loss_rate (GF_RTPChannel *ch, u32 loss_rate) |
GF_Err | gf_rtp_send_bye (GF_RTPChannel *ch) |
GF_Err | gf_rtp_send_packet (GF_RTPChannel *ch, GF_RTPHeader *rtp_hdr, u8 *pck, u32 pck_size, Bool fast_send) |
GF_Err | gf_rtp_set_interleave_callbacks (GF_RTPChannel *ch, gf_rtp_tcp_callback tcp_callback, void *cbk1, void *cbk2) |
u32 | gf_rtp_is_unicast (GF_RTPChannel *ch) |
u32 | gf_rtp_is_interleaved (GF_RTPChannel *ch) |
u32 | gf_rtp_get_clockrate (GF_RTPChannel *ch) |
u8 | gf_rtp_get_low_interleave_id (GF_RTPChannel *ch) |
u8 | gf_rtp_get_hight_interleave_id (GF_RTPChannel *ch) |
const GF_RTSPTransport * | gf_rtp_get_transport (GF_RTPChannel *ch) |
Float | gf_rtp_get_loss (GF_RTPChannel *ch) |
u32 | gf_rtp_get_tcp_bytes_sent (GF_RTPChannel *ch) |
void | gf_rtp_get_ports (GF_RTPChannel *ch, u16 *rtp_port, u16 *rtcp_port) |
GF_SDPInfo * | gf_sdp_info_new () |
void | gf_sdp_info_del (GF_SDPInfo *sdp) |
void | gf_sdp_info_reset (GF_SDPInfo *sdp) |
GF_Err | gf_sdp_info_parse (GF_SDPInfo *sdp, char *sdp_text, u32 text_size) |
GF_SDPMedia * | gf_sdp_media_new () |
void | gf_sdp_media_del (GF_SDPMedia *media) |
GF_SDPConnection * | gf_sdp_conn_new () |
void | gf_sdp_conn_del (GF_SDPConnection *conn) |
GF_SDP_FMTP * | gf_sdp_fmtp_new () |
void | gf_sdp_fmtp_del (GF_SDP_FMTP *fmtp) |
GP_RTPPacketizer * | gf_rtp_builder_new (u32 rtp_payt, GF_SLConfig *slc, u32 flags, void *cbk_obj, void(*OnNewPacket)(void *cbk, GF_RTPHeader *header), void(*OnPacketDone)(void *cbk, GF_RTPHeader *header), void(*OnDataReference)(void *cbk, u32 payload_size, u32 offset_from_orig), void(*OnData)(void *cbk, u8 *data, u32 data_size, Bool is_head)) |
void | gf_rtp_builder_del (GP_RTPPacketizer *builder) |
void | gf_rtp_builder_init (GP_RTPPacketizer *builder, u8 PayloadType, u32 MaxPayloadSize, u32 max_ptime, u32 StreamType, u32 codecid, u32 PL_ID, u32 avgSize, u32 maxSize, u32 avgTS, u32 maxDTS, u32 IV_length, u32 KI_length, char *pref_mode) |
void | gf_rtp_builder_set_cryp_info (GP_RTPPacketizer *builder, u64 IV, char *key_indicator, Bool is_encrypted) |
GF_Err | gf_rtp_builder_process (GP_RTPPacketizer *builder, u8 *data, u32 data_size, u8 IsAUEnd, u32 FullAUSize, u32 duration, u8 descIndex) |
GF_Err | gf_rtp_builder_format_sdp (GP_RTPPacketizer *builder, char *payload_name, char **out_sdp_line, char *dsi, u32 dsi_size) |
Bool | gf_rtp_builder_get_payload_name (GP_RTPPacketizer *builder, char payload_name[20], char media_name[20]) |
GF_RTPDepacketizer * | gf_rtp_depacketizer_new (GF_SDPMedia *media, u32 hdr_payt, gf_rtp_packet_cbk sl_packet_cbk, void *udta) |
void | gf_rtp_depacketizer_del (GF_RTPDepacketizer *rtpd) |
void | gf_rtp_depacketizer_reset (GF_RTPDepacketizer *rtpd, Bool full_reset) |
void | gf_rtp_depacketizer_process (GF_RTPDepacketizer *rtpd, GF_RTPHeader *hdr, u8 *payload, u32 size) |
Tools for real-time streaming over IP using RTP/RTCP/RTSP/SDP .
>