fix crash in client-read-h264-save-to-disk

This commit is contained in:
aler9
2022-06-15 10:37:15 +02:00
parent aa08f973dd
commit b4925dbc24

View File

@@ -61,6 +61,7 @@ func (e *mpegtsEncoder) encode(nalus [][]byte, pts time.Duration) error {
{byte(h264.NALUTypeAccessUnitDelimiter), 240}, {byte(h264.NALUTypeAccessUnitDelimiter), 240},
} }
nonIDRPresent := false
idrPresent := false idrPresent := false
for _, nalu := range nalus { for _, nalu := range nalus {
@@ -84,11 +85,18 @@ func (e *mpegtsEncoder) encode(nalus [][]byte, pts time.Duration) error {
if e.sps != nil && e.pps != nil { if e.sps != nil && e.pps != nil {
filteredNALUs = append(filteredNALUs, e.sps, e.pps) filteredNALUs = append(filteredNALUs, e.sps, e.pps)
} }
case h264.NALUTypeNonIDR:
nonIDRPresent = true
} }
filteredNALUs = append(filteredNALUs, nalu) filteredNALUs = append(filteredNALUs, nalu)
} }
if !nonIDRPresent && !idrPresent {
return nil
}
var dts time.Duration var dts time.Duration
if !e.firstIDRReceived { if !e.firstIDRReceived {