summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2023-05-30 15:18:48 +0200
committerAnton Khirnov <anton@khirnov.net>2023-08-30 11:51:42 +0200
commitb39b6b745669f0472768d57092fbd1b009fd6a33 (patch)
treead79fd04858ed963491ffabab220e67eca36292b
parent8f2e7e9dcf7396d8af4816bc7b629a329e02dfdb (diff)
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.c9
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;