diff options
author | Anton Khirnov <anton@khirnov.net> | 2023-05-30 15:18:48 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2023-08-30 11:51:42 +0200 |
commit | b39b6b745669f0472768d57092fbd1b009fd6a33 (patch) | |
tree | ad79fd04858ed963491ffabab220e67eca36292b | |
parent | 8f2e7e9dcf7396d8af4816bc7b629a329e02dfdb (diff) | |
download | ffmpeg-b39b6b745669f0472768d57092fbd1b009fd6a33.tar.gz |
fftools/ffmpeg: simplify handling input -t for streamcopy
Output stream will be closed implicitly after a NULL packet is sent to
it, there is no need to explicitly call close_output_stream().
-rw-r--r-- | fftools/ffmpeg.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index c7822f8045..8b0f31aac6 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -814,7 +814,6 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eo int64_t dts_est = AV_NOPTS_VALUE; int ret = 0; int eof_reached = 0; - int duration_exceeded; if (ist->decoding_needed) { ret = dec_packet(ist, pkt, no_eof); @@ -829,7 +828,6 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eo dts_est = pd->dts_est; } - duration_exceeded = 0; if (f->recording_time != INT64_MAX) { int64_t start_time = 0; if (copy_ts) { @@ -837,7 +835,7 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eo start_time += start_at_zero ? 0 : f->start_time_effective; } if (dts_est >= f->recording_time + start_time) - duration_exceeded = 1; + pkt = NULL; } for (int oidx = 0; oidx < ist->nb_outputs; oidx++) { @@ -845,11 +843,6 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eo if (ost->enc || (!pkt && no_eof)) continue; - if (duration_exceeded) { - close_output_stream(ost); - continue; - } - ret = of_streamcopy(ost, pkt, dts_est); if (ret < 0) return ret; |