diff mbox

[FFmpeg-devel,4/4] Delay freeing of hls stream data

Message ID 86614dd7-fbbf-b601-dfe8-ee7efadff742@hotstar.com
State New
Headers show

Commit Message

Amit Kale Sept. 26, 2018, 6 a.m. UTC
This patch delays freeing of hls stream data, so that it's available for bandwidth calculation. Otherwise the previous patches would cause a segfault in this code.

Signed-off-by: Amit Kale<amitk@hotstar.com>
---

Comments

Carl Eugen Hoyos Sept. 26, 2018, 8:15 a.m. UTC | #1
> Am 26.09.2018 um 08:00 schrieb Amit Kale <amitk@hotstar.com>:
> 
> This patch delays freeing of hls stream data, so that it's available for bandwidth calculation.

> Otherwise the previous patches would cause a segfault in this code.

This means that your patchset was not split correctly: No part of your patchset should introduce known bugs.
The patchset is therefore not ok yet.

Carl Eugen
Steven Liu Sept. 26, 2018, 9:49 a.m. UTC | #2
Carl Eugen Hoyos <ceffmpeg@gmail.com> 于2018年9月26日周三 下午4:22写道:
>
>
>
> > Am 26.09.2018 um 08:00 schrieb Amit Kale <amitk@hotstar.com>:
> >
> > This patch delays freeing of hls stream data, so that it's available for bandwidth calculation.
>
> > Otherwise the previous patches would cause a segfault in this code.
>
> This means that your patchset was not split correctly: No part of your patchset should introduce known bugs.
> The patchset is therefore not ok yet.
Ok, i got it.
>
> Carl Eugen
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
diff mbox

Patch

Index: ffmpeg/libavformat/hlsenc.c
===================================================================
--- ffmpeg.orig/libavformat/hlsenc.c
+++ ffmpeg/libavformat/hlsenc.c
@@ -2447,10 +2447,13 @@  failed:
              av_freep(&vs->vtt_m3u8_name);
              avformat_free_context(vtt_oc);
          }
+        av_free(old_filename);
  
+    }
+    for (i = 0; i < hls->nb_varstreams; i++) {
+        vs = &hls->var_streams[i];
          hls_free_segments(vs->segments);
          hls_free_segments(vs->old_segments);
-        av_free(old_filename);
          av_freep(&vs->m3u8_name);
          av_freep(&vs->streams);
          av_freep(&vs->agroup);