libavformat/dashenc.c: check if packets were muxed before calculating average bitrate

Prevents SIGFPE.
Fixes issue #24738.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
Sergei Iashin authored and James Almer committed 2026-09-27 11:35:44 -03:00
1 parent b87602a63a
commit d62aef2e50
1 file changed
+3 -1
+3 -1
View File
@@ -706,7 +706,9 @@ static int write_adaptation_set(AVFormatContext *s, AVIOContext *out, int as_ind
if (os->bit_rate > 0)
snprintf(bandwidth_str, sizeof(bandwidth_str), " bandwidth=\"%d\"", os->bit_rate);
else if (final) {
int average_bit_rate = os->pos * 8 * AV_TIME_BASE / c->total_duration;
int average_bit_rate = 0;
if (c->total_duration > 0)
average_bit_rate = os->pos * 8 * AV_TIME_BASE / c->total_duration;
snprintf(bandwidth_str, sizeof(bandwidth_str), " bandwidth=\"%d\"", average_bit_rate);
} else if (os->first_segment_bit_rate > 0)
snprintf(bandwidth_str, sizeof(bandwidth_str), " bandwidth=\"%d\"", os->first_segment_bit_rate);