Commit 606702ea authored by Michael Niedermayer's avatar Michael Niedermayer

ffsrever: Make the status page bitexact if any stream is bitexact

Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 472fee91
...@@ -1987,7 +1987,9 @@ static void compute_status(HTTPContext *c) ...@@ -1987,7 +1987,9 @@ static void compute_status(HTTPContext *c)
sfilename, stream->filename); sfilename, stream->filename);
avio_printf(pb, "<td align=right> %d <td align=right> ", avio_printf(pb, "<td align=right> %d <td align=right> ",
stream->conns_served); stream->conns_served);
fmt_bytecount(pb, stream->bytes_served); // TODO: Investigate if we can make http bitexact so it always produces the same count of bytes
if (!config.bitexact)
fmt_bytecount(pb, stream->bytes_served);
switch(stream->stream_type) { switch(stream->stream_type) {
case STREAM_TYPE_LIVE: { case STREAM_TYPE_LIVE: {
...@@ -2140,10 +2142,12 @@ static void compute_status(HTTPContext *c) ...@@ -2140,10 +2142,12 @@ static void compute_status(HTTPContext *c)
} }
avio_printf(pb, "</table>\n"); avio_printf(pb, "</table>\n");
/* date */ if (!config.bitexact) {
ti = time(NULL); /* date */
p = ctime(&ti); ti = time(NULL);
avio_printf(pb, "<hr size=1 noshade>Generated at %s", p); p = ctime(&ti);
avio_printf(pb, "<hr size=1 noshade>Generated at %s", p);
}
avio_printf(pb, "</body>\n</html>\n"); avio_printf(pb, "</body>\n</html>\n");
len = avio_close_dyn_buf(pb, &c->pb_buffer); len = avio_close_dyn_buf(pb, &c->pb_buffer);
......
...@@ -1048,6 +1048,7 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd, ...@@ -1048,6 +1048,7 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
AV_OPT_FLAG_VIDEO_PARAM, config) < 0) AV_OPT_FLAG_VIDEO_PARAM, config) < 0)
goto nomem; goto nomem;
} else if (!av_strcasecmp(cmd, "BitExact")) { } else if (!av_strcasecmp(cmd, "BitExact")) {
config->bitexact = 1;
if (ffserver_save_avoption("flags", "+bitexact", AV_OPT_FLAG_VIDEO_PARAM, config) < 0) if (ffserver_save_avoption("flags", "+bitexact", AV_OPT_FLAG_VIDEO_PARAM, config) < 0)
goto nomem; goto nomem;
} else if (!av_strcasecmp(cmd, "DctFastint")) { } else if (!av_strcasecmp(cmd, "DctFastint")) {
......
...@@ -122,6 +122,7 @@ typedef struct FFServerConfig { ...@@ -122,6 +122,7 @@ typedef struct FFServerConfig {
unsigned int nb_max_connections; unsigned int nb_max_connections;
uint64_t max_bandwidth; uint64_t max_bandwidth;
int debug; int debug;
int bitexact;
char logfilename[1024]; char logfilename[1024];
struct sockaddr_in http_addr; struct sockaddr_in http_addr;
struct sockaddr_in rtsp_addr; struct sockaddr_in rtsp_addr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment