diff options
author | Bryan Huh <bryan@box.com> | 2014-12-09 08:11:23 +0000 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2014-12-10 00:03:16 +0200 |
commit | fa8934d6d6a0bb290010bdf16265c40b331d56fb (patch) | |
tree | 930a03658363619f52e69b3eac84ee4a3ce7f478 | |
parent | 95d880fa6436f3b557a9c060428a04b9e4d552df (diff) | |
download | ffmpeg-fa8934d6d6a0bb290010bdf16265c40b331d56fb.tar.gz |
dashenc: log file output progress in verbose mode
As the manifest/segments are flushed to disk, log to stderr the
progress, when in verbose logging mode
Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r-- | libavformat/dashenc.c | 16 |
1 files 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)) { |