diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2016-12-15 18:59:41 +0100 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2017-01-13 08:42:11 +0100 |
commit | 44129e38047b6a27291e487c2084894958c6f399 (patch) | |
tree | ac7492ff9eab5a0310655c82510c01dd55db8439 | |
parent | f8f7ad758d0e1f36915467567f4d75541d98c12f (diff) | |
download | ffmpeg-44129e38047b6a27291e487c2084894958c6f399.tar.gz |
avconv: Do not pass NULL to avio_tell
The null demuxer does not have a backing AVIOContext.
-rw-r--r-- | avconv.c | 23 |
1 files changed, 12 insertions, 11 deletions
@@ -909,7 +909,7 @@ static void print_report(int is_last_report, int64_t timer_start) char buf[1024]; OutputStream *ost; AVFormatContext *oc; - int64_t total_size; + int64_t total_size = 0; AVCodecContext *enc; int frame_number, vid, i; double bitrate, ti1, pts; @@ -934,16 +934,17 @@ static void print_report(int is_last_report, int64_t timer_start) oc = output_files[0]->ctx; - - total_size = avio_size(oc->pb); - if (total_size <= 0) // FIXME improve avio_size() so it works with non seekable output too - total_size = avio_tell(oc->pb); - if (total_size < 0) { - char errbuf[128]; - av_strerror(total_size, errbuf, sizeof(errbuf)); - av_log(NULL, AV_LOG_VERBOSE, "Bitrate not available, " - "avio_tell() failed: %s\n", errbuf); - total_size = 0; + if (oc->pb) { + total_size = avio_size(oc->pb); + if (total_size <= 0) // FIXME improve avio_size() so it works with non seekable output too + total_size = avio_tell(oc->pb); + if (total_size < 0) { + char errbuf[128]; + av_strerror(total_size, errbuf, sizeof(errbuf)); + av_log(NULL, AV_LOG_VERBOSE, "Bitrate not available, " + "avio_tell() failed: %s\n", errbuf); + total_size = 0; + } } buf[0] = '\0'; |