diff --git a/pkg/format/g711.go b/pkg/format/g711.go index ed154fc0..f2f93883 100644 --- a/pkg/format/g711.go +++ b/pkg/format/g711.go @@ -65,7 +65,7 @@ func (f *G711) Codec() string { // ClockRate implements Format. func (f *G711) ClockRate() int { - return 8000 + return f.SampleRate } // PayloadType implements Format. diff --git a/pkg/format/g711_test.go b/pkg/format/g711_test.go index 17c18e10..2b79d93d 100644 --- a/pkg/format/g711_test.go +++ b/pkg/format/g711_test.go @@ -8,28 +8,48 @@ import ( ) func TestG711Attributes(t *testing.T) { - t.Run("pcma", func(t *testing.T) { - format := &G711{ - PayloadTyp: 8, - MULaw: false, - SampleRate: 8000, - ChannelCount: 1, - } - require.Equal(t, "G711", format.Codec()) - require.Equal(t, 8000, format.ClockRate()) - require.Equal(t, true, format.PTSEqualsDTS(&rtp.Packet{})) - }) - - t.Run("pcmu", func(t *testing.T) { - format := &G711{ - PayloadTyp: 0, - MULaw: true, - SampleRate: 8000, - ChannelCount: 1, - } - require.Equal(t, "G711", format.Codec()) - require.Equal(t, 8000, format.ClockRate()) - }) + for _, ca := range []struct { + name string + format *G711 + clockRate int + }{ + { + "pcma 8khz", + &G711{ + PayloadTyp: 8, + MULaw: false, + SampleRate: 8000, + ChannelCount: 1, + }, + 8000, + }, + { + "pcmu 8khz", + &G711{ + PayloadTyp: 0, + MULaw: true, + SampleRate: 8000, + ChannelCount: 1, + }, + 8000, + }, + { + "pcma 16khz", + &G711{ + PayloadTyp: 96, + MULaw: true, + SampleRate: 16000, + ChannelCount: 1, + }, + 16000, + }, + } { + t.Run(ca.name, func(t *testing.T) { + require.Equal(t, "G711", ca.format.Codec()) + require.Equal(t, ca.clockRate, ca.format.ClockRate()) + require.Equal(t, true, ca.format.PTSEqualsDTS(&rtp.Packet{})) + }) + } } func TestG711DecEncoder(t *testing.T) {