Skip to content

Commit 50326ef

Browse files
authored
Update ffserver.c
This patch fixes a floating point exception. You are not allowed to defide by zero (FPE)
1 parent d9909b1 commit 50326ef

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

ffserver.c

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,7 @@ static void update_datarate(DataRateData *drd, int64_t count)
466466
/* In bytes per second */
467467
static int compute_datarate(DataRateData *drd, int64_t count)
468468
{
469-
if (cur_time == drd->time1)
469+
if (cur_time == drd->time1 || cur_time == 0 || drd->time1 == 0)
470470
return 0;
471471

472472
return ((count - drd->count1) * 1000) / (cur_time - drd->time1);
@@ -1905,10 +1905,16 @@ static inline void print_stream_params(AVIOContext *pb, FFServerStream *stream)
19051905
break;
19061906
case AVMEDIA_TYPE_VIDEO:
19071907
type = "video";
1908-
snprintf(parameters, sizeof(parameters),
1909-
"%dx%d, q=%d-%d, fps=%d", st->codecpar->width,
1910-
st->codecpar->height, st->codec->qmin, st->codec->qmax,
1911-
st->time_base.den / st->time_base.num);
1908+
if (st->time_base.num != 0) {
1909+
snprintf(parameters, sizeof(parameters),
1910+
"%dx%d, q=%d-%d, fps=%d", st->codecpar->width,
1911+
st->codecpar->height, st->codec->qmin, st->codec->qmax,
1912+
st->time_base.den / st->time_base.num);
1913+
} else {
1914+
snprintf(parameters, sizeof(parameters),
1915+
"%dx%d, q=%d-%d, fps=0", st->codecpar->width,
1916+
st->codecpar->height, st->codec->qmin, st->codec->qmax);
1917+
}
19121918
break;
19131919
default:
19141920
abort();

0 commit comments

Comments
 (0)