mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/hlsenc: fix segfault when using -hls_segment_type fmp4 with -hls_segment_filename
previously, specifying -hls_segment_filename meant s->base_output_dirname was never set, causing a segfault: (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) * frame #0: 0x00007fffbf7d82d0 libsystem_platform.dylib`_platform_strcmp + 80 frame #1: 0x00000001005f4dcf libavformat.57.dylib`io_open_default(s=0x000000010481cc00, pb=0x0000000104806020, url=0x0000000000000000, flags=2, options=0x0000000000000000) at options.c:107 frame #2: 0x0000000100528968 libavformat.57.dylib`hls_mux_init(s=0x000000010481cc00) at hlsenc.c:595 frame #3: 0x00000001005273cb libavformat.57.dylib`hls_write_header(s=0x000000010481cc00) at hlsenc.c:1518 frame #4: 0x00000001005c08d0 libavformat.57.dylib`write_header_internal(s=0x000000010481cc00) at mux.c:486 frame #5: 0x00000001005c0774 libavformat.57.dylib`avformat_write_header(s=0x000000010481cc00, options=0x00000001029026e8) at mux.c:539
This commit is contained in:
parent
42a41c3956
commit
73bf0f42e3
|
@ -1441,6 +1441,7 @@ static int hls_write_header(AVFormatContext *s)
|
|||
} else {
|
||||
av_strlcat(hls->basename, pattern, basename_size);
|
||||
}
|
||||
}
|
||||
|
||||
if (av_strcasecmp(hls->fmp4_init_filename, "init.mp4")) {
|
||||
int fmp4_init_filename_len = strlen(hls->fmp4_init_filename) + 1;
|
||||
|
@ -1466,7 +1467,7 @@ static int hls_write_header(AVFormatContext *s)
|
|||
av_strlcpy(hls->base_output_dirname, hls->fmp4_init_filename, basename_size);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!hls->use_localtime) {
|
||||
ret = sls_flag_check_duration_size_index(hls);
|
||||
if (ret < 0) {
|
||||
|
|
Loading…
Reference in New Issue