mediamtx/internal/core/streammedia.go
Alessandro Ros c778c049ce
switch to gortsplib v2 (#1301)
Fixes #1103

gortsplib/v2 supports multiple formats inside a single track (media). This allows to apply the resizing algorithm to single formats inside medias.

For instance, if a media contains a a proprietary format and an H264 format, and the latter has oversized packets, they can now be resized.
2022-12-13 20:54:17 +01:00

27 lines
533 B
Go

package core
import (
"github.com/aler9/gortsplib/v2/pkg/format"
"github.com/aler9/gortsplib/v2/pkg/media"
)
type streamMedia struct {
formats map[format.Format]*streamFormat
}
func newStreamMedia(medi *media.Media, generateRTPPackets bool) (*streamMedia, error) {
sm := &streamMedia{
formats: make(map[format.Format]*streamFormat),
}
for _, forma := range medi.Formats {
var err error
sm.formats[forma], err = newStreamFormat(forma, generateRTPPackets)
if err != nil {
return nil, err
}
}
return sm, nil
}