[FFmpeg-cvslog] avformat/hlsenc: Add resend_headers option

huheng git at videolan.org
Wed Jun 29 09:07:15 EEST 2022


ffmpeg | branch: master | huheng <heng.hu.1989 at gmail.com> | Mon Jun 27 21:30:11 2022 +0800| [8d4bdf99e5650019e25174de3ff41c8c3396a904] | committer: Steven Liu

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 at kuaishou.com>
Signed-off-by: huheng <heng.hu.1989 at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8d4bdf99e5650019e25174de3ff41c8c3396a904
---

 libavformat/hlsenc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index 7c097b4bf2..6f49ae1aa2 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -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++;



More information about the ffmpeg-cvslog mailing list