hls source: support proxying H265 and Opus tracks

This commit is contained in:
aler9
2023-01-06 15:39:06 +01:00
parent 3f7009f72a
commit f837ba6a83
6 changed files with 41 additions and 4 deletions

View File

@@ -83,6 +83,18 @@ func (s *hlsSource) run(ctx context.Context) error {
}
})
case *format.H265:
c.OnData(track, func(pts time.Duration, dat interface{}) {
err := stream.writeData(medi, ctrack, &formatprocessor.DataH265{
PTS: pts,
AU: dat.([][]byte),
NTP: time.Now(),
})
if err != nil {
s.Log(logger.Warn, "%v", err)
}
})
case *format.MPEG4Audio:
c.OnData(track, func(pts time.Duration, dat interface{}) {
err := stream.writeData(medi, ctrack, &formatprocessor.DataMPEG4Audio{
@@ -94,6 +106,18 @@ func (s *hlsSource) run(ctx context.Context) error {
s.Log(logger.Warn, "%v", err)
}
})
case *format.Opus:
c.OnData(track, func(pts time.Duration, dat interface{}) {
err := stream.writeData(medi, ctrack, &formatprocessor.DataOpus{
PTS: pts,
Frame: dat.([]byte),
NTP: time.Now(),
})
if err != nil {
s.Log(logger.Warn, "%v", err)
}
})
}
}