1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avformat/hlsenc: correctly reset subtitle stream counter per-varstream

Without resetting it, if there was a previous set of varstreams with
subtitles, it would subtract from all the streams, leading to chaos and
segfaults when trying to access for example stream -1.
This commit is contained in:
Timo Rothenpieler 2024-08-16 02:01:12 +02:00
parent e466f0dbad
commit 0e8b267a97

View File

@ -2412,7 +2412,6 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt)
int is_ref_pkt = 1; int is_ref_pkt = 1;
int ret = 0, can_split = 1, i, j; int ret = 0, can_split = 1, i, j;
int stream_index = 0; int stream_index = 0;
int subtitle_streams = 0;
int range_length = 0; int range_length = 0;
const char *proto = NULL; const char *proto = NULL;
int use_temp_file = 0; int use_temp_file = 0;
@ -2420,6 +2419,7 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt)
char *old_filename = NULL; char *old_filename = NULL;
for (i = 0; i < hls->nb_varstreams; i++) { for (i = 0; i < hls->nb_varstreams; i++) {
int subtitle_streams = 0;
vs = &hls->var_streams[i]; vs = &hls->var_streams[i];
for (j = 0; j < vs->nb_streams; j++) { for (j = 0; j < vs->nb_streams; j++) {
if (vs->streams[j]->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE) { if (vs->streams[j]->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE) {