Include dependency graph for rtp.c:

Data Structures | |
| struct | sout_stream_sys_t |
| struct | rtp_sink_t |
| struct | sout_stream_id_t |
Defines | |
| #define | IPPROTO_DCCP 33 |
| #define | IPPROTO_UDPLITE 136 |
| #define | DEST_TEXT N_("Destination") |
| #define | DEST_LONGTEXT |
| #define | SDP_TEXT N_("SDP") |
| #define | SDP_LONGTEXT |
| #define | SAP_TEXT N_("SAP announcing") |
| #define | SAP_LONGTEXT N_("Announce this session with SAP.") |
| #define | MUX_TEXT N_("Muxer") |
| #define | MUX_LONGTEXT |
| #define | NAME_TEXT N_("Session name") |
| #define | NAME_LONGTEXT |
| #define | DESC_TEXT N_("Session description") |
| #define | DESC_LONGTEXT |
| #define | URL_TEXT N_("Session URL") |
| #define | URL_LONGTEXT |
| #define | EMAIL_TEXT N_("Session email") |
| #define | EMAIL_LONGTEXT |
| #define | PHONE_TEXT N_("Session phone number") |
| #define | PHONE_LONGTEXT |
| #define | PORT_TEXT N_("Port") |
| #define | PORT_LONGTEXT |
| #define | PORT_AUDIO_TEXT N_("Audio port") |
| #define | PORT_AUDIO_LONGTEXT |
| #define | PORT_VIDEO_TEXT N_("Video port") |
| #define | PORT_VIDEO_LONGTEXT |
| #define | TTL_TEXT N_("Hop limit (TTL)") |
| #define | TTL_LONGTEXT |
| #define | RTCP_MUX_TEXT N_("RTP/RTCP multiplexing") |
| #define | RTCP_MUX_LONGTEXT |
| #define | PROTO_TEXT N_("Transport protocol") |
| #define | PROTO_LONGTEXT |
| #define | SRTP_KEY_TEXT N_("SRTP key (hexadecimal)") |
| #define | SRTP_KEY_LONGTEXT |
| #define | SRTP_SALT_TEXT N_("SRTP salt (hexadecimal)") |
| #define | SRTP_SALT_LONGTEXT |
| #define | RFC3016_TEXT N_("MP4A LATM") |
| #define | RFC3016_LONGTEXT |
| #define | SOUT_CFG_PREFIX "sout-rtp-" |
| #define | MAX_EMPTY_BLOCKS 200 |
Typedefs | |
| typedef int(*) | pf_rtp_packetizer_t (sout_stream_id_t *, block_t *) |
Functions | |
| static int | Open (vlc_object_t *) |
| static void | Close (vlc_object_t *) |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static sout_stream_id_t * | Add (sout_stream_t *p_stream, es_format_t *p_fmt) |
| Add an ES as a new RTP stream. | |
| static int | Del (sout_stream_t *, sout_stream_id_t *) |
| static int | Send (sout_stream_t *, sout_stream_id_t *, block_t *) |
| static sout_stream_id_t * | MuxAdd (sout_stream_t *p_stream, es_format_t *p_fmt) |
| Add an ES to a non-RTP muxed stream. | |
| static int | MuxDel (sout_stream_t *p_stream, sout_stream_id_t *id) |
| Remove an ES from a non-RTP muxed stream. | |
| static int | MuxSend (sout_stream_t *, sout_stream_id_t *, block_t *) |
| static sout_access_out_t * | GrabberCreate (sout_stream_t *p_sout) |
| static void * | ThreadSend (vlc_object_t *p_this) |
| static void | SDPHandleUrl (sout_stream_t *, const char *) |
| static int | SapSetup (sout_stream_t *p_stream) |
| static int | FileSetup (sout_stream_t *p_stream) |
| static int | HttpSetup (sout_stream_t *p_stream, const vlc_url_t *) |
| char * | SDPGenerate (const sout_stream_t *p_stream, const char *rtsp_url) |
| static void | sprintf_hexa (char *s, uint8_t *p_data, int i_data) |
| static void | rtp_set_ptime (sout_stream_id_t *id, unsigned ptime_ms, size_t bytes) |
| Shrink the MTU down to a fixed packetization time (for audio). | |
| static int | HttpCallback (httpd_file_sys_t *p_args, httpd_file_t *, uint8_t *p_request, uint8_t **pp_data, int *pi_data) |
| This function is the main HTTPD Callback used by the HTTP Interface. | |
| int | rtp_add_sink (sout_stream_id_t *id, int fd, bool rtcp_mux) |
| void | rtp_del_sink (sout_stream_id_t *id, int fd) |
| uint16_t | rtp_get_seq (const sout_stream_id_t *id) |
| unsigned | rtp_get_num (const sout_stream_id_t *id) |
| void | rtp_packetize_common (sout_stream_id_t *id, block_t *out, int b_marker, int64_t i_pts) |
| void | rtp_packetize_send (sout_stream_id_t *id, block_t *out) |
| size_t | rtp_mtu (const sout_stream_id_t *id) |
| |
| static ssize_t | AccessOutGrabberWriteBuffer (sout_stream_t *p_stream, const block_t *p_buffer) |
| static ssize_t | AccessOutGrabberWrite (sout_access_out_t *p_access, block_t *p_buffer) |
Variables | |
| static const char *const | ppsz_protos [] |
| static const char *const | ppsz_protocols [] |
| static const char *const | ppsz_sout_options [] |
| #define DESC_LONGTEXT |
Value:
N_( \ "This allows you to give a short description with details about the stream, " \ "that will be announced in the SDP (Session Descriptor)." )
| #define DESC_TEXT N_("Session description") |
| #define DEST_LONGTEXT |
Value:
N_( \ "This is the output URL that will be used." )
| #define DEST_TEXT N_("Destination") |
| #define EMAIL_LONGTEXT |
Value:
N_( \ "This allows you to give a contact mail address for the stream, that will " \ "be announced in the SDP (Session Descriptor)." )
| #define EMAIL_TEXT N_("Session email") |
| #define IPPROTO_DCCP 33 |
| #define IPPROTO_UDPLITE 136 |
| #define MAX_EMPTY_BLOCKS 200 |
| #define MUX_LONGTEXT |
Value:
N_( \ "This allows you to specify the muxer used for the streaming output. " \ "Default is to use no muxer (standard RTP stream)." )
| #define MUX_TEXT N_("Muxer") |
| #define NAME_LONGTEXT |
Value:
N_( \ "This is the name of the session that will be announced in the SDP " \ "(Session Descriptor)." )
| #define NAME_TEXT N_("Session name") |
| #define PHONE_LONGTEXT |
Value:
N_( \ "This allows you to give a contact telephone number for the stream, that will " \ "be announced in the SDP (Session Descriptor)." )
| #define PHONE_TEXT N_("Session phone number") |
| #define PORT_AUDIO_LONGTEXT |
Value:
N_( \ "This allows you to specify the default audio port for the RTP streaming." )
| #define PORT_AUDIO_TEXT N_("Audio port") |
| #define PORT_LONGTEXT |
Value:
N_( \ "This allows you to specify the base port for the RTP streaming." )
| #define PORT_TEXT N_("Port") |
| #define PORT_VIDEO_LONGTEXT |
Value:
N_( \ "This allows you to specify the default video port for the RTP streaming." )
| #define PORT_VIDEO_TEXT N_("Video port") |
| #define PROTO_LONGTEXT |
Value:
N_( \ "This selects which transport protocol to use for RTP." )
| #define PROTO_TEXT N_("Transport protocol") |
| #define RFC3016_LONGTEXT |
Value:
N_( \ "This allows you to stream MPEG4 LATM audio streams (see RFC3016)." )
| #define RFC3016_TEXT N_("MP4A LATM") |
| #define RTCP_MUX_LONGTEXT |
Value:
N_( \ "This sends and receives RTCP packet multiplexed over the same port " \ "as RTP packets." )
| #define RTCP_MUX_TEXT N_("RTP/RTCP multiplexing") |
| #define SAP_LONGTEXT N_("Announce this session with SAP.") |
| #define SAP_TEXT N_("SAP announcing") |
| #define SDP_LONGTEXT |
Value:
N_( \ "This allows you to specify how the SDP (Session Descriptor) for this RTP "\ "session will be made available. You must use an url: http://location to " \ "access the SDP via HTTP, rtsp://location for RTSP access, and sap:// " \ "for the SDP to be announced via SAP." )
| #define SDP_TEXT N_("SDP") |
| #define SOUT_CFG_PREFIX "sout-rtp-" |
| #define SRTP_KEY_LONGTEXT |
Value:
N_( \ "RTP packets will be integrity-protected and ciphered "\ "with this Secure RTP master shared secret key.")
| #define SRTP_KEY_TEXT N_("SRTP key (hexadecimal)") |
| #define SRTP_SALT_LONGTEXT |
Value:
N_( \ "Secure RTP requires a (non-secret) master salt value.")
| #define SRTP_SALT_TEXT N_("SRTP salt (hexadecimal)") |
| #define TTL_LONGTEXT |
Value:
N_( \ "This is the hop limit (also known as \"Time-To-Live\" or TTL) of " \ "the multicast packets sent by the stream output (0 = use operating " \ "system built-in default).")
| #define TTL_TEXT N_("Hop limit (TTL)") |
| #define URL_LONGTEXT |
Value:
N_( \ "This allows you to give an URL with more details about the stream " \ "(often the website of the streaming organization), that will " \ "be announced in the SDP (Session Descriptor)." )
| #define URL_TEXT N_("Session URL") |
| typedef int(*) pf_rtp_packetizer_t(sout_stream_id_t *, block_t *) |
| static ssize_t AccessOutGrabberWrite | ( | sout_access_out_t * | p_access, | |
| block_t * | p_buffer | |||
| ) | [static] |
| static ssize_t AccessOutGrabberWriteBuffer | ( | sout_stream_t * | p_stream, | |
| const block_t * | p_buffer | |||
| ) | [static] |
| static sout_stream_id_t * Add | ( | sout_stream_t * | , | |
| es_format_t * | ||||
| ) | [static] |
Add an ES as a new RTP stream.
| static void Close | ( | vlc_object_t * | ) | [static] |
| static int Del | ( | sout_stream_t * | , | |
| sout_stream_id_t * | ||||
| ) | [static] |
| static int FileSetup | ( | sout_stream_t * | p_stream | ) | [static] |
| static sout_access_out_t * GrabberCreate | ( | sout_stream_t * | p_sout | ) | [static] |
| static int HttpSetup | ( | sout_stream_t * | p_stream, | |
| const vlc_url_t * | ||||
| ) | [static] |
| static sout_stream_id_t * MuxAdd | ( | sout_stream_t * | , | |
| es_format_t * | ||||
| ) | [static] |
Add an ES to a non-RTP muxed stream.
| static int MuxDel | ( | sout_stream_t * | , | |
| sout_stream_id_t * | ||||
| ) | [static] |
Remove an ES from a non-RTP muxed stream.
| static int MuxSend | ( | sout_stream_t * | , | |
| sout_stream_id_t * | , | |||
| block_t * | ||||
| ) | [static] |
| static int Open | ( | vlc_object_t * | ) | [static] |
| int rtp_add_sink | ( | sout_stream_id_t * | id, | |
| int | fd, | |||
| bool | rtcp_mux | |||
| ) |
| void rtp_del_sink | ( | sout_stream_id_t * | id, | |
| int | fd | |||
| ) |
| unsigned rtp_get_num | ( | const sout_stream_id_t * | id | ) |
| uint16_t rtp_get_seq | ( | const sout_stream_id_t * | id | ) |
| size_t rtp_mtu | ( | const sout_stream_id_t * | id | ) |
| void rtp_packetize_common | ( | sout_stream_id_t * | id, | |
| block_t * | out, | |||
| int | b_marker, | |||
| int64_t | i_pts | |||
| ) |
| void rtp_packetize_send | ( | sout_stream_id_t * | id, | |
| block_t * | out | |||
| ) |
| static void rtp_set_ptime | ( | sout_stream_id_t * | id, | |
| unsigned | ptime_ms, | |||
| size_t | bytes | |||
| ) | [static] |
Shrink the MTU down to a fixed packetization time (for audio).
| static int SapSetup | ( | sout_stream_t * | p_stream | ) | [static] |
| char* SDPGenerate | ( | const sout_stream_t * | p_stream, | |
| const char * | rtsp_url | |||
| ) |
| static void SDPHandleUrl | ( | sout_stream_t * | , | |
| const char * | ||||
| ) | [static] |
| static int Send | ( | sout_stream_t * | , | |
| sout_stream_id_t * | , | |||
| block_t * | ||||
| ) | [static] |
| static void sprintf_hexa | ( | char * | s, | |
| uint8_t * | p_data, | |||
| int | i_data | |||
| ) | [static] |
| static void * ThreadSend | ( | vlc_object_t * | p_this | ) | [static] |
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
const char* const ppsz_protocols[] [static] |
Initial value:
{
"DCCP", "SCTP", "TCP", "UDP", "UDP-Lite",
}
const char* const ppsz_protos[] [static] |
Initial value:
{
"dccp", "sctp", "tcp", "udp", "udplite",
}
const char* const ppsz_sout_options[] [static] |
Initial value:
{
"dst", "name", "port", "port-audio", "port-video", "*sdp", "ttl", "mux",
"sap", "description", "url", "email", "phone",
"proto", "rtcp-mux", "key", "salt",
"mp4a-latm", NULL
}
1.5.1