support publishing, reading and proxying MPEG-2 audio (MP3) tracks with RTMP (#1102) (#1736)

This commit is contained in:
Alessandro Ros
2023-04-25 18:13:51 +02:00
committed by GitHub
parent c314d77596
commit 2d17dff3b5
27 changed files with 727 additions and 487 deletions

View File

@@ -45,7 +45,12 @@ func newOpus(
}
if allocateEncoder {
t.encoder = forma.CreateEncoder()
t.encoder = &rtpsimpleaudio.Encoder{
PayloadMaxSize: t.udpMaxPayloadSize - 12,
PayloadType: forma.PayloadTyp,
SampleRate: 48000,
}
t.encoder.Init()
}
return t, nil
@@ -85,11 +90,12 @@ func (t *formatProcessorOpus) Process(unit Unit, hasNonRTSPReaders bool) error {
return nil
}
// encode into RTP
pkt, err := t.encoder.Encode(tunit.Frame, tunit.PTS)
if err != nil {
return err
}
tunit.RTPPackets = []*rtp.Packet{pkt}
return nil
}