From 4ec64a7c9937b2a07f7925ccd8912c9ca5010030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20=C5=9Aled=C5=BA?= Date: Thu, 10 Apr 2025 15:41:16 +0200 Subject: [PATCH] Add support for opus in RTP munger --- lib/ex_webrtc/rtp/munger.ex | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/ex_webrtc/rtp/munger.ex b/lib/ex_webrtc/rtp/munger.ex index 911b84e..8217692 100644 --- a/lib/ex_webrtc/rtp/munger.ex +++ b/lib/ex_webrtc/rtp/munger.ex @@ -78,7 +78,11 @@ defmodule ExWebRTC.RTP.Munger do `clock_rate` is the clock rate of the codec carried in munged RTP packets. """ - @spec new(:h264 | :vp8 | RTPCodecParameters.t(), non_neg_integer()) :: t() + @spec new(:opus | :h264 | :vp8 | RTPCodecParameters.t(), non_neg_integer()) :: t() + def new(:opus, clock_rate) do + %__MODULE__{clock_rate: clock_rate} + end + def new(:h264, clock_rate) do %__MODULE__{clock_rate: clock_rate} end @@ -89,6 +93,7 @@ defmodule ExWebRTC.RTP.Munger do def new(%RTPCodecParameters{} = codec_params) do case codec_params.mime_type do + "audio/opus" -> new(:opus, codec_params.clock_rate) "video/H264" -> new(:h264, codec_params.clock_rate) "video/VP8" -> new(:vp8, codec_params.clock_rate) end