diff --git a/internal/core/hls_source.go b/internal/core/hls_source.go index 4f115d07..9bb53c90 100644 --- a/internal/core/hls_source.go +++ b/internal/core/hls_source.go @@ -76,6 +76,22 @@ func (s *hlsSource) run(ctx context.Context, cnf *conf.PathConf, reloadConf chan var medi *media.Media switch tcodec := track.Codec.(type) { + case *codecs.AV1: + medi = &media.Media{ + Type: media.TypeVideo, + Formats: []formats.Format{&formats.AV1{}}, + } + + c.OnDataAV1(track, func(pts time.Duration, obus [][]byte) { + stream.WriteUnit(medi, medi.Formats[0], &formatprocessor.UnitAV1{ + BaseUnit: formatprocessor.BaseUnit{ + NTP: time.Now(), + }, + PTS: pts, + OBUs: obus, + }) + }) + case *codecs.H264: medi = &media.Media{ Type: media.TypeVideo, diff --git a/internal/core/srt_conn.go b/internal/core/srt_conn.go index 3b5667cc..819a3ce6 100644 --- a/internal/core/srt_conn.go +++ b/internal/core/srt_conn.go @@ -703,8 +703,6 @@ func (c *srtConn) runRead(req srtNewConnReq, pathName string, user string, pass }) case *formats.MPEG1Audio: - // TODO: check whether's a MPEG-1 or MPEG-2 stream by parsing header - // of first frame track := addTrack(medi, &mpegts.CodecMPEG1Audio{}) var startPTS time.Duration