mirror of https://git.ffmpeg.org/ffmpeg.git
fftools/ffmpeg: add a helper function to access output file size
Stop accessing muxer internals from outside of ffmpeg_mux.
This commit is contained in:
parent
6a23be92d2
commit
9fe62a545f
|
@ -1516,8 +1516,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
|
|||
{
|
||||
AVBPrint buf, buf_script;
|
||||
OutputStream *ost;
|
||||
AVFormatContext *oc;
|
||||
int64_t total_size;
|
||||
int64_t total_size = of_filesize(output_files[0]);
|
||||
AVCodecContext *enc;
|
||||
int vid, i;
|
||||
double bitrate;
|
||||
|
@ -1546,13 +1545,6 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
|
|||
|
||||
t = (cur_time-timer_start) / 1000000.0;
|
||||
|
||||
|
||||
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);
|
||||
|
||||
vid = 0;
|
||||
av_bprint_init(&buf, 0, AV_BPRINT_SIZE_AUTOMATIC);
|
||||
av_bprint_init(&buf_script, 0, AV_BPRINT_SIZE_AUTOMATIC);
|
||||
|
|
|
@ -705,5 +705,6 @@ void of_close(OutputFile **pof);
|
|||
|
||||
void of_write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost,
|
||||
int unqueue);
|
||||
int64_t of_filesize(OutputFile *of);
|
||||
|
||||
#endif /* FFTOOLS_FFMPEG_H */
|
||||
|
|
|
@ -333,3 +333,17 @@ int of_muxer_init(OutputFile *of)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int64_t of_filesize(OutputFile *of)
|
||||
{
|
||||
AVIOContext *pb = of->ctx->pb;
|
||||
int64_t ret = -1;
|
||||
|
||||
if (pb) {
|
||||
ret = avio_size(pb);
|
||||
if (ret <= 0) // FIXME improve avio_size() so it works with non seekable output too
|
||||
ret = avio_tell(pb);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue