avformat/hlsenc: Add resend_headers option

Add pat and pmt table at start of each segment in single_file mode enhanced
compatibility of hls stream. Because some hls clients separate parsing segment
of hls stream, the absence of pat/pmt will cause parsing to fail.

Reviewed-by: Steven Liu <liuqi05@kuaishou.com>
Signed-off-by: huheng <heng.hu.1989@gmail.com>
This commit is contained in:
huheng 2022-06-27 21:30:11 +08:00 committed by Steven Liu
parent df8ad4e391
commit 8d4bdf99e5

View File

@ -2635,6 +2635,9 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt)
vs->start_pos += vs->size;
if (hls->key_info_file || hls->encrypt)
ret = hls_start(s, vs);
if (hls->segment_type == SEGMENT_TYPE_MPEGTS && oc->oformat->priv_class && oc->priv_data) {
av_opt_set(oc->priv_data, "mpegts_flags", "resend_headers", 0);
}
} else if (hls->max_seg_size > 0) {
if (vs->size + vs->start_pos >= hls->max_seg_size) {
vs->sequence++;