diff --git a/amrwb/amrwb.go b/amrwb/amrwb.go index c0ae0c0..063b5a9 100644 --- a/amrwb/amrwb.go +++ b/amrwb/amrwb.go @@ -25,13 +25,15 @@ import ( ) const ( - SDPName = "AMR-WB/16000" - SampleRate = 16000 + SDPNameOnly = "AMR-WB" + SDPNameAndRate = SDPNameOnly + "/16000" + SDPName = SDPNameAndRate // Deprecated: use SDPNameOnly or SDPNameAndRate + SampleRate = 16000 ) func init() { media.RegisterCodec(media.NewAudioCodec(media.CodecInfo{ - SDPName: SDPName, + SDPName: SDPNameAndRate, SampleRate: SampleRate, RTPIsStatic: false, Priority: -4, diff --git a/dtmf/dtmf.go b/dtmf/dtmf.go index 4c9a7df..7190ca8 100644 --- a/dtmf/dtmf.go +++ b/dtmf/dtmf.go @@ -26,12 +26,16 @@ import ( "github.com/livekit/media-sdk/tones" ) -const SDPName = "telephone-event/8000" +const ( + SDPNameOnly = "telephone-event" + SDPNameAndRate = SDPNameOnly + "/8000" + SDPName = SDPNameAndRate // Deprecated: use SDPNameOnly or SDPNameAndRate +) const SampleRate = 8000 func init() { media.RegisterCodec(media.NewCodec(media.CodecInfo{ - SDPName: SDPName, + SDPName: SDPNameAndRate, SampleRate: SampleRate, RTPIsStatic: false, Priority: -100, // let it be last in SDP diff --git a/g711/alaw.go b/g711/alaw.go index c641e92..0c2193e 100644 --- a/g711/alaw.go +++ b/g711/alaw.go @@ -23,11 +23,15 @@ import ( "github.com/livekit/media-sdk" ) -const ALawSDPName = "PCMA/8000" +const ( + ALawSDPNameOnly = "PCMA" + ALawSDPNameAndRate = ALawSDPNameOnly + "/8000" + ALawSDPName = ALawSDPNameAndRate // Deprecated: use ALawSDPNameOnly or ALawSDPNameAndRate +) func init() { media.RegisterCodec(media.NewAudioCodec(media.CodecInfo{ - SDPName: ALawSDPName, + SDPName: ALawSDPNameAndRate, SampleRate: 8000, RTPDefType: prtp.PayloadTypePCMA, RTPIsStatic: true, diff --git a/g711/ulaw.go b/g711/ulaw.go index 7a61d8a..46ab3d3 100644 --- a/g711/ulaw.go +++ b/g711/ulaw.go @@ -23,11 +23,15 @@ import ( "github.com/livekit/media-sdk" ) -const ULawSDPName = "PCMU/8000" +const ( + ULawSDPNameOnly = "PCMU" + ULawSDPNameAndRate = ULawSDPNameOnly + "/8000" + ULawSDPName = ULawSDPNameAndRate // Deprecated: use ULawSDPNameOnly or ULawSDPNameAndRate +) func init() { media.RegisterCodec(media.NewAudioCodec(media.CodecInfo{ - SDPName: ULawSDPName, + SDPName: ULawSDPNameAndRate, SampleRate: 8000, RTPDefType: prtp.PayloadTypePCMU, RTPIsStatic: true, diff --git a/g722/g722.go b/g722/g722.go index 2fc4025..dc57a85 100644 --- a/g722/g722.go +++ b/g722/g722.go @@ -26,7 +26,11 @@ import ( "github.com/livekit/media-sdk" ) -const SDPName = "G722/8000" +const ( + SDPNameOnly = "G722" + SDPNameAndRate = SDPNameOnly + "/8000" + SDPName = SDPNameAndRate // Deprecated: use SDPNameOnly or SDPNameAndRate +) var ( g722ID atomic.Uint32 @@ -35,7 +39,7 @@ var ( func init() { media.RegisterCodec(media.NewAudioCodec(media.CodecInfo{ - SDPName: SDPName, + SDPName: SDPNameAndRate, SampleRate: 16000, RTPClockRate: 8000, RTPDefType: prtp.PayloadTypeG722, diff --git a/sdp/offer.go b/sdp/offer.go index f8dd8bb..46818a3 100644 --- a/sdp/offer.go +++ b/sdp/offer.go @@ -127,7 +127,7 @@ func OfferMediaWith(s *media.CodecSet, rtpListenerPort int, encrypted Encryption formats := make([]string, 0, len(codecs)) dtmfType := byte(0) for _, codec := range codecs { - if codec.Codec.Info().SDPName == dtmf.SDPName { + if codec.Codec.Info().SDPName == dtmf.SDPNameAndRate { dtmfType = codec.Type } styp := strconv.Itoa(int(codec.Type)) @@ -198,7 +198,7 @@ func AnswerMedia(rtpListenerPort int, audio *AudioConfig, crypt *srtp.Profile) * if audio.DTMFType != 0 { formats = append(formats, strconv.Itoa(int(audio.DTMFType))) attrs = append(attrs, []sdp.Attribute{ - {Key: "rtpmap", Value: fmt.Sprintf("%d %s", audio.DTMFType, dtmf.SDPName)}, + {Key: "rtpmap", Value: fmt.Sprintf("%d %s", audio.DTMFType, dtmf.SDPNameAndRate)}, {Key: "fmtp", Value: fmt.Sprintf("%d 0-16", audio.DTMFType)}, }...) } @@ -634,7 +634,7 @@ func ParseMediaWith(s *media.CodecSet, d *sdp.MediaDescription) (*MediaDesc, err continue } name := sub[1] - if name == dtmf.SDPName || name == dtmf.SDPName+"/1" { + if name == dtmf.SDPNameAndRate || name == dtmf.SDPNameAndRate+"/1" { out.DTMFType = byte(typ) continue } diff --git a/sdp/offer_test.go b/sdp/offer_test.go index 342835e..ff6cfec 100644 --- a/sdp/offer_test.go +++ b/sdp/offer_test.go @@ -97,7 +97,7 @@ func TestSDPMediaOffer(t *testing.T) { }, offer) noG722 := g.NewSet() - noG722.SetEnabled(g722.SDPName, false) + noG722.SetEnabled(g722.SDPNameAndRate, false) _, offer, err = OfferMediaWith(noG722, port, EncryptionNone) require.NoError(t, err) @@ -144,7 +144,7 @@ func TestSDPMediaAnswer(t *testing.T) { }, }, exp: &AudioConfig{ - Codec: getCodec(g, g722.SDPName), + Codec: getCodec(g, g722.SDPNameAndRate), Type: 9, DTMFType: 101, }, @@ -162,7 +162,7 @@ func TestSDPMediaAnswer(t *testing.T) { }, }, exp: &AudioConfig{ - Codec: getCodec(g, g722.SDPName), + Codec: getCodec(g, g722.SDPNameAndRate), Type: 9, DTMFType: 101, }, @@ -179,7 +179,7 @@ func TestSDPMediaAnswer(t *testing.T) { }, }, exp: &AudioConfig{ - Codec: getCodec(g, g722.SDPName), + Codec: getCodec(g, g722.SDPNameAndRate), Type: 9, }, }, @@ -196,7 +196,7 @@ func TestSDPMediaAnswer(t *testing.T) { }, }, exp: &AudioConfig{ - Codec: getCodec(g, g722.SDPName), + Codec: getCodec(g, g722.SDPNameAndRate), Type: 9, DTMFType: 103, }, @@ -213,7 +213,7 @@ func TestSDPMediaAnswer(t *testing.T) { }, }, exp: &AudioConfig{ - Codec: getCodec(g, g711.ULawSDPName), + Codec: getCodec(g, g711.ULawSDPNameAndRate), Type: 0, DTMFType: 101, }, @@ -230,7 +230,7 @@ func TestSDPMediaAnswer(t *testing.T) { }, }, exp: &AudioConfig{ - Codec: getCodec(g, g722.SDPName), + Codec: getCodec(g, g722.SDPNameAndRate), Type: 9, DTMFType: 101, }, @@ -259,7 +259,7 @@ func TestSDPMediaAnswer(t *testing.T) { }, }, exp: &AudioConfig{ - Codec: getCodec(g, g711.ULawSDPName), + Codec: getCodec(g, g711.ULawSDPNameAndRate), Type: 0, DTMFType: 101, }, @@ -273,7 +273,7 @@ func TestSDPMediaAnswer(t *testing.T) { }, }, exp: &AudioConfig{ - Codec: getCodec(g, g711.ULawSDPName), + Codec: getCodec(g, g711.ULawSDPNameAndRate), Type: 0, DTMFType: 101, }, @@ -290,7 +290,7 @@ func TestSDPMediaAnswer(t *testing.T) { }, }, exp: &AudioConfig{ - Codec: getCodec(g, g711.ULawSDPName), + Codec: getCodec(g, g711.ULawSDPNameAndRate), Type: 0, }, }, @@ -306,7 +306,7 @@ func TestSDPMediaAnswer(t *testing.T) { }, }, exp: &AudioConfig{ - Codec: getCodec(g, g711.ALawSDPName), + Codec: getCodec(g, g711.ALawSDPNameAndRate), Type: 8, }, }, @@ -361,13 +361,13 @@ func TestSDPMediaAnswerOneDisabled(t *testing.T) { }, } exp := &AudioConfig{ - Codec: getCodec(g, g711.ULawSDPName), + Codec: getCodec(g, g711.ULawSDPNameAndRate), Type: 0, DTMFType: 101, } noG722 := g.NewSet() - noG722.SetEnabled(g722.SDPName, false) + noG722.SetEnabled(g722.SDPNameAndRate, false) m, err := ParseMediaWith(noG722, &offer) require.NoError(t, err) @@ -392,8 +392,8 @@ func TestSDPMediaAnswerAllDisabled(t *testing.T) { } allOff := g.NewSet() - allOff.SetEnabled(g722.SDPName, false) - allOff.SetEnabled(g711.ULawSDPName, false) + allOff.SetEnabled(g722.SDPNameAndRate, false) + allOff.SetEnabled(g711.ULawSDPNameAndRate, false) m, err := ParseMediaWith(allOff, &offer) require.NoError(t, err)