From fa8934d6d6a0bb290010bdf16265c40b331d56fb Mon Sep 17 00:00:00 2001 From: Bryan Huh Date: Tue, 9 Dec 2014 08:11:23 +0000 Subject: [PATCH] dashenc: log file output progress in verbose mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As the manifest/segments are flushed to disk, log to stderr the progress, when in verbose logging mode Signed-off-by: Martin Storsjö --- libavformat/dashenc.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index b3b1ac1d91..07dd67341c 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -634,6 +634,7 @@ static int dash_write_header(AVFormatContext *s) ffurl_close(os->out); os->out = NULL; } + av_log(s, AV_LOG_VERBOSE, "Representation %d init segment written to: %s\n", i, filename); s->streams[i]->time_base = st->time_base; // If the muxer wants to shift timestamps, request to have them shifted @@ -655,6 +656,8 @@ static int dash_write_header(AVFormatContext *s) ret = AVERROR(EINVAL); } ret = write_manifest(s, 0); + if (!ret) + av_log(s, AV_LOG_VERBOSE, "Manifest written to: %s\n", s->filename); fail: if (ret) @@ -702,16 +705,13 @@ static void write_styp(AVIOContext *pb) ffio_wfourcc(pb, "msix"); } -static void find_index_range(AVFormatContext *s, const char *dirname, - const char *filename, int64_t pos, - int *index_length) +static void find_index_range(AVFormatContext *s, const char *full_path, + int64_t pos, int *index_length) { - char full_path[1024]; uint8_t buf[8]; URLContext *fd; int ret; - snprintf(full_path, sizeof(full_path), "%s%s", dirname, filename); ret = ffurl_open(&fd, full_path, AVIO_FLAG_READ, &s->interrupt_callback, NULL); if (ret < 0) return; @@ -765,14 +765,17 @@ static int dash_flush(AVFormatContext *s, int final, int stream) if (ret < 0) break; write_styp(os->ctx->pb); + } else { + snprintf(full_path, sizeof(full_path), "%s%s", c->dirname, os->initfile); } + av_write_frame(os->ctx, NULL); avio_flush(os->ctx->pb); os->packets_written = 0; range_length = avio_tell(os->ctx->pb) - start_pos; if (c->single_file) { - find_index_range(s, c->dirname, os->initfile, start_pos, &index_length); + find_index_range(s, full_path, start_pos, &index_length); } else { ffurl_close(os->out); os->out = NULL; @@ -781,6 +784,7 @@ static int dash_flush(AVFormatContext *s, int final, int stream) break; } add_segment(os, filename, os->start_dts, os->end_dts - os->start_dts, start_pos, range_length, index_length); + av_log(s, AV_LOG_VERBOSE, "Representation %d media segment %d written to: %s\n", i, os->segment_index, full_path); } if (c->window_size || (final && c->remove_at_exit)) {