uvgRTP 4.0.0
An open-source library for RTP/SRTP media delivery
Loading...
Searching...
No Matches
uvgrtp::media_stream Class Reference

The media_stream is an entity which represents one RTP stream. More...

#include <media_stream.hh>

Public Member Functions

rtp_error_t start_zrtp ()
 Start the ZRTP negotiation manually.
 
rtp_error_t add_srtp_ctx (uint8_t *key, uint8_t *salt)
 Add keying information for user-managed SRTP session.
 
rtp_error_t push_frame (uint8_t *data, size_t data_len, int rtp_flags)
 Send data to remote participant with a custom timestamp.
 
rtp_error_t push_frame (uint8_t *data, size_t data_len, uint32_t ts, int rtp_flags)
 Send data to remote participant with a custom timestamp.
 
rtp_error_t push_frame (uint8_t *data, size_t data_len, uint32_t ts, uint64_t ntp_ts, int rtp_flags)
 Send data to remote participant with custom RTP and NTP timestamps.
 
uvgrtp::frame::rtp_framepull_frame ()
 Poll a frame indefinitely from the media stream object.
 
uvgrtp::frame::rtp_framepull_frame (size_t timeout_ms)
 Poll a frame for a specified time from the media stream object.
 
rtp_error_t install_receive_hook (void *arg, void(*hook)(void *, uvgrtp::frame::rtp_frame *))
 Asynchronous way of getting frames.
 
rtp_error_t configure_ctx (int rcc_flag, ssize_t value)
 Configure the media stream, see RTP_CTX_CONFIGURATION_FLAGS for more details.
 
int get_configuration_value (int rcc_flag)
 Get the values associated with configuration flags, see RTP_CTX_CONFIGURATION_FLAGS for more details.
 
uvgrtp::rtcpget_rtcp ()
 Get pointer to the RTCP object of the media stream.
 
uint32_t get_ssrc () const
 Get SSRC identifier. You can use the SSRC value for example to find the report block belonging to this media stream in RTCP sender/receiver report.
 
rtp_error_t stop ()
 Stop the media stream and its background components (RTCP, reception flow, holepuncher)
 
rtp_error_t push_frame (std::unique_ptr< uint8_t[]> data, size_t data_len, int rtp_flags)
 Send data to remote participant with a custom timestamp.
 
rtp_error_t push_frame (std::unique_ptr< uint8_t[]> data, size_t data_len, uint32_t ts, int rtp_flags)
 Send data to remote participant with a custom timestamp.
 
rtp_error_t push_frame (std::unique_ptr< uint8_t[]> data, size_t data_len, uint32_t ts, uint64_t ntp_ts, int rtp_flags)
 Send data to remote participant with custom RTP and NTP timestamps.
 

Detailed Description

The media_stream is an entity which represents one RTP stream.

media_stream is defined by the ports which are used for sending and/or receiving media. It is possible for media_stream to be bi- or unidirectional. The unidirectionality is achieved by specifying RCE_SEND_ONLY or RCE_RECEIVE_ONLY flag when creating media_stream.

If RCE_RTCP was given when creating media_stream, you can get the uvgrtp::rtcp object with get_rtcp()-function.

media_stream corresponds to one RTP session in RFC 3550.

Definition at line 49 of file media_stream.hh.

Member Function Documentation

◆ stop()

rtp_error_t uvgrtp::media_stream::stop ( )

Stop the media stream and its background components (RTCP, reception flow, holepuncher)

Return values
RTP_OKon success

The documentation for this class was generated from the following file: