mediamtx/internal/core/formatprocessor.go
2022-12-16 00:50:47 +01:00

32 lines
747 B
Go

package core
import (
"github.com/aler9/gortsplib/v2/pkg/format"
)
type formatProcessor interface {
process(data, bool) error
}
func newFormatProcessor(forma format.Format, generateRTPPackets bool) (formatProcessor, error) {
switch forma := forma.(type) {
case *format.H264:
return newFormatProcessorH264(forma, generateRTPPackets)
case *format.H265:
return newFormatProcessorH265(forma, generateRTPPackets)
case *format.VP8:
return newFormatProcessorVP8(forma, generateRTPPackets)
case *format.VP9:
return newFormatProcessorVP9(forma, generateRTPPackets)
case *format.MPEG4Audio:
return newFormatProcessorMPEG4Audio(forma, generateRTPPackets)
default:
return newFormatProcessorGeneric(forma, generateRTPPackets)
}
}