Browse Source

hls muxer: update primary playlist in case SPS/PPS changed

pull/956/head
aler9 4 years ago
parent
commit
07591c7514
  1. 17
      internal/hls/muxer_primary_playlist.go

17
internal/hls/muxer_primary_playlist.go

@ -1,7 +1,6 @@ @@ -1,7 +1,6 @@
package hls
import (
"bytes"
"encoding/hex"
"io"
"strconv"
@ -13,19 +12,20 @@ import ( @@ -13,19 +12,20 @@ import (
type muxerPrimaryPlaylist struct {
videoTrack *gortsplib.TrackH264
audioTrack *gortsplib.TrackAAC
cnt []byte
}
func newMuxerPrimaryPlaylist(
videoTrack *gortsplib.TrackH264,
audioTrack *gortsplib.TrackAAC,
) *muxerPrimaryPlaylist {
p := &muxerPrimaryPlaylist{
return &muxerPrimaryPlaylist{
videoTrack: videoTrack,
audioTrack: audioTrack,
}
}
func (p *muxerPrimaryPlaylist) reader() io.Reader {
return &asyncReader{generator: func() []byte {
var codecs []string
if p.videoTrack != nil {
@ -40,15 +40,10 @@ func newMuxerPrimaryPlaylist( @@ -40,15 +40,10 @@ func newMuxerPrimaryPlaylist(
codecs = append(codecs, "mp4a.40."+strconv.FormatInt(int64(p.audioTrack.Type()), 10))
}
p.cnt = []byte("#EXTM3U\n" +
return []byte("#EXTM3U\n" +
"#EXT-X-VERSION:3\n" +
"\n" +
"#EXT-X-STREAM-INF:BANDWIDTH=200000,CODECS=\"" + strings.Join(codecs, ",") + "\"\n" +
"stream.m3u8\n")
return p
}
func (p *muxerPrimaryPlaylist) reader() io.Reader {
return bytes.NewReader(p.cnt)
}}
}

Loading…
Cancel
Save