NegotiatedCodec
NegotiatedCodec
#include <icy/webrtc/codecnegotiator.h>struct NegotiatedCodecDefined in src/webrtc/include/icy/webrtc/codecnegotiator.h:81
Result of codec negotiation between a remote SDP offer and the local FFmpeg codec inventory.
List of all members
| Name | Kind | Owner |
|---|---|---|
rtpName | variable | Declared here |
ffmpegName | variable | Declared here |
payloadType | variable | Declared here |
clockRate | variable | Declared here |
fmtp | variable | Declared here |
toVideoCodec | function | Declared here |
toWebRtcVideoCodec | function | Declared here |
toAudioCodec | function | Declared here |
toWebRtcAudioCodec | function | Declared here |
Public Attributes
| Return | Name | Description |
|---|---|---|
std::string | rtpName | RTP codec name (e.g. "H264", "VP8", "opus") |
std::string | ffmpegName | FFmpeg encoder name (e.g. "libx264", "libvpx", "libopus") |
int | payloadType | RTP payload type from SDP. |
uint32_t | clockRate | RTP clock rate (90000 for video, 48000 for opus) |
std::string | fmtp | Format parameters (e.g. "profile-level-id=42e01f") |
rtpName
std::string rtpNameDefined in src/webrtc/include/icy/webrtc/codecnegotiator.h:83
RTP codec name (e.g. "H264", "VP8", "opus")
ffmpegName
std::string ffmpegNameDefined in src/webrtc/include/icy/webrtc/codecnegotiator.h:84
FFmpeg encoder name (e.g. "libx264", "libvpx", "libopus")
payloadType
int payloadType = 0Defined in src/webrtc/include/icy/webrtc/codecnegotiator.h:85
RTP payload type from SDP.
clockRate
uint32_t clockRate = 0Defined in src/webrtc/include/icy/webrtc/codecnegotiator.h:86
RTP clock rate (90000 for video, 48000 for opus)
fmtp
std::string fmtpDefined in src/webrtc/include/icy/webrtc/codecnegotiator.h:87
Format parameters (e.g. "profile-level-id=42e01f")
Public Methods
| Return | Name | Description |
|---|---|---|
av::VideoCodec | toVideoCodec const | Create an av::VideoCodec from this negotiation result. Width, height, fps default to 0 (caller should set these). |
av::VideoCodec | toWebRtcVideoCodec const | Create an av::VideoCodec configured for WebRTC browser playback. Sets low-latency options: ultrafast preset, zerolatency tune, constrained baseline profile for H.264, and appropriate defaults for VP8/VP9/AV1. |
av::AudioCodec | toAudioCodec const | Create an av::AudioCodec from this negotiation result. Channels default to 2, sampleRate to the RTP clock rate. |
av::AudioCodec | toWebRtcAudioCodec const | Create an av::AudioCodec configured for WebRTC browser playback. Forces 48000 Hz for Opus, sets appropriate options. |
toVideoCodec
const
av::VideoCodec toVideoCodec(int width = 0, int height = 0, double fps = 0.0) constDefined in src/webrtc/include/icy/webrtc/codecnegotiator.h:91
Create an av::VideoCodec from this negotiation result. Width, height, fps default to 0 (caller should set these).
toWebRtcVideoCodec
const
av::VideoCodec toWebRtcVideoCodec(int width = 0, int height = 0, double fps = 0.0) constDefined in src/webrtc/include/icy/webrtc/codecnegotiator.h:98
Create an av::VideoCodec configured for WebRTC browser playback. Sets low-latency options: ultrafast preset, zerolatency tune, constrained baseline profile for H.264, and appropriate defaults for VP8/VP9/AV1.
toAudioCodec
const
av::AudioCodec toAudioCodec(int channels = 2, int sampleRate = 0) constDefined in src/webrtc/include/icy/webrtc/codecnegotiator.h:103
Create an av::AudioCodec from this negotiation result. Channels default to 2, sampleRate to the RTP clock rate.
toWebRtcAudioCodec
const
av::AudioCodec toWebRtcAudioCodec(int channels = 2) constDefined in src/webrtc/include/icy/webrtc/codecnegotiator.h:108
Create an av::AudioCodec configured for WebRTC browser playback. Forces 48000 Hz for Opus, sets appropriate options.
