mirror of
https://github.com/bluenviron/mediamtx.git
synced 2026-01-09 20:02:01 -08:00
hls: send PCR with every IDR NALU
This commit is contained in:
parent
93b143395e
commit
bd5e6d1027
1 changed files with 11 additions and 10 deletions
|
|
@ -78,9 +78,14 @@ func (t *tsFile) newReader() io.Reader {
|
|||
}
|
||||
|
||||
func (t *tsFile) writeH264(
|
||||
h264SPS []byte, h264PPS []byte,
|
||||
dts time.Duration, pts time.Duration, isIDR bool, nalus [][]byte) error {
|
||||
h264SPS []byte,
|
||||
h264PPS []byte,
|
||||
dts time.Duration,
|
||||
pts time.Duration,
|
||||
isIDR bool,
|
||||
nalus [][]byte) error {
|
||||
if !t.firstPacketWritten {
|
||||
t.firstPacketWritten = true
|
||||
t.minPTS = pts
|
||||
t.maxPTS = pts
|
||||
} else {
|
||||
|
|
@ -121,13 +126,8 @@ func (t *tsFile) writeH264(
|
|||
af = &astits.PacketAdaptationField{}
|
||||
}
|
||||
af.RandomAccessIndicator = true
|
||||
}
|
||||
|
||||
if !t.firstPacketWritten {
|
||||
t.firstPacketWritten = true
|
||||
if af == nil {
|
||||
af = &astits.PacketAdaptationField{}
|
||||
}
|
||||
// send PCR with every IDR
|
||||
af.HasPCR = true
|
||||
pcr := time.Since(t.startPCR)
|
||||
af.PCR = &astits.ClockReference{Base: int64(pcr.Seconds() * 90000)}
|
||||
|
|
@ -160,6 +160,7 @@ func (t *tsFile) writeH264(
|
|||
func (t *tsFile) writeAAC(sampleRate int, channelCount int, pts time.Duration, au []byte) error {
|
||||
if t.videoTrack == nil {
|
||||
if !t.firstPacketWritten {
|
||||
t.firstPacketWritten = true
|
||||
t.minPTS = pts
|
||||
t.maxPTS = pts
|
||||
} else {
|
||||
|
|
@ -187,8 +188,8 @@ func (t *tsFile) writeAAC(sampleRate int, channelCount int, pts time.Duration, a
|
|||
RandomAccessIndicator: true,
|
||||
}
|
||||
|
||||
if t.videoTrack == nil && !t.firstPacketWritten {
|
||||
t.firstPacketWritten = true
|
||||
if t.videoTrack == nil {
|
||||
// if audio is the only track, send PCR with every AU
|
||||
af.HasPCR = true
|
||||
pcr := time.Since(t.startPCR)
|
||||
af.PCR = &astits.ClockReference{Base: int64(pcr.Seconds() * 90000)}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue