mirror of
https://github.com/bluenviron/mediamtx.git
synced 2025-12-20 02:00:05 -08:00
37 lines
809 B
Go
37 lines
809 B
Go
package stream
|
|
|
|
import (
|
|
"github.com/bluenviron/gortsplib/v4/pkg/description"
|
|
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
|
|
|
"github.com/bluenviron/mediamtx/internal/logger"
|
|
)
|
|
|
|
type streamMedia struct {
|
|
UDPMaxPayloadSize int
|
|
Media *description.Media
|
|
GenerateRTPPackets bool
|
|
DecodeErrLogger logger.Writer
|
|
|
|
formats map[format.Format]*streamFormat
|
|
}
|
|
|
|
func (sm *streamMedia) initialize() error {
|
|
sm.formats = make(map[format.Format]*streamFormat)
|
|
|
|
for _, forma := range sm.Media.Formats {
|
|
sf := &streamFormat{
|
|
udpMaxPayloadSize: sm.UDPMaxPayloadSize,
|
|
format: forma,
|
|
generateRTPPackets: sm.GenerateRTPPackets,
|
|
decodeErrLogger: sm.DecodeErrLogger,
|
|
}
|
|
err := sf.initialize()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
sm.formats[forma] = sf
|
|
}
|
|
|
|
return nil
|
|
}
|