%s ",
sfilename, stream->filename);
- avio_printf(pb, " | %d | ",
+ avio_printf(pb, " | %d | ",
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) {
case STREAM_TYPE_LIVE: {
@@ -1989,7 +2030,7 @@ static void compute_status(HTTPContext *c)
const char *video_codec_name_extra = "";
for(i=0;inb_streams;i++) {
- AVStream *st = stream->streams[i];
+ LayeredAVStream *st = stream->streams[i];
AVCodec *codec = avcodec_find_encoder(st->codecpar->codec_id);
switch(st->codecpar->codec_type) {
@@ -2017,8 +2058,7 @@ static void compute_status(HTTPContext *c)
}
}
- avio_printf(pb, " %s | %d "
- " | %d | %s %s | "
+ avio_printf(pb, " | %s | %d | %d | %s %s | "
"%d | %s %s",
stream->fmt->name, stream->bandwidth,
video_bit_rate / 1000, video_codec_name,
@@ -2033,8 +2073,8 @@ static void compute_status(HTTPContext *c)
}
break;
default:
- avio_printf(pb, " | - | - "
- " | - | | - | \n");
+ avio_printf(pb, " | - | - "
+ " | - | | - | \n");
break;
}
stream = stream->next;
@@ -2095,7 +2135,7 @@ static void compute_status(HTTPContext *c)
current_bandwidth, config.max_bandwidth);
avio_printf(pb, "\n");
- avio_printf(pb, "# | File | IP | Proto | State | Target "
+ avio_printf(pb, " |
---|
# | File | IP | URL | Proto | State | Target "
"bit/s | Actual bit/s | Bytes transferred\n");
c1 = first_http_ctx;
i = 0;
@@ -2115,25 +2155,30 @@ static void compute_status(HTTPContext *c)
i++;
p = inet_ntoa(c1->from_addr.sin_addr);
- avio_printf(pb, " |
---|
%d | %s%s | %s | %s | %s"
- " | ",
+ clean_html(c1->clean_url, sizeof(c1->clean_url), c1->url);
+ avio_printf(pb, " | %d | %s%s | %s | %s | %s | %s"
+ " | ",
i, c1->stream ? c1->stream->filename : "",
- c1->state == HTTPSTATE_RECEIVE_DATA ? "(input)" : "", p,
+ c1->state == HTTPSTATE_RECEIVE_DATA ? "(input)" : "",
+ p,
+ c1->clean_url,
c1->protocol, http_state[c1->state]);
fmt_bytecount(pb, bitrate);
- avio_printf(pb, " | ");
+ avio_printf(pb, " | ");
fmt_bytecount(pb, compute_datarate(&c1->datarate, c1->data_count) * 8);
- avio_printf(pb, " | ");
+ avio_printf(pb, " | ");
fmt_bytecount(pb, c1->data_count);
avio_printf(pb, "\n");
c1 = c1->next;
}
avio_printf(pb, " | \n");
- /* date */
- ti = time(NULL);
- p = ctime(&ti);
- avio_printf(pb, " Generated at %s", p);
+ if (!config.bitexact) {
+ /* date */
+ ti = time(NULL);
+ p = ctime(&ti);
+ avio_printf(pb, " Generated at %s", p);
+ }
avio_printf(pb, " | |