summaryrefslogtreecommitdiff
path: root/fftools/ffmpeg_mux.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2023-04-13 14:32:57 +0200
committerAnton Khirnov <anton@khirnov.net>2023-04-17 12:01:40 +0200
commit3f11582ca3d40fd98d00ad52b84348add4aa3b31 (patch)
treefe28dc1ea22c4d6fe2238ded5802f32d8bffcb99 /fftools/ffmpeg_mux.h
parent150c992490d723124f05c77425aa8689dbcbbebc (diff)
downloadffmpeg-3f11582ca3d40fd98d00ad52b84348add4aa3b31.tar.gz
fftools/ffmpeg_mux: stop using filter_in_rescale_delta_last for streamcopy
That field was added to store timestamp conversion state for audio decoding code. Later it started being used by streamcopy as well, but that use is wrong because, for a given input stream, both decoding and an arbitrary number of streamcopies may be performed simultaneously. They would then all overwrite the same state variable. Store this state in MuxStream instead. This is the last use of InputStream in of_streamcopy(), so the ist parameter can now be removed.
Diffstat (limited to 'fftools/ffmpeg_mux.h')
-rw-r--r--fftools/ffmpeg_mux.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fftools/ffmpeg_mux.h b/fftools/ffmpeg_mux.h
index 3fab74b2ed..e8c4ea4847 100644
--- a/fftools/ffmpeg_mux.h
+++ b/fftools/ffmpeg_mux.h
@@ -64,6 +64,9 @@ typedef struct MuxStream {
* used for making up missing dts values */
int64_t last_mux_dts;
+ // audio streamcopy - state for av_rescale_delta()
+ int64_t ts_rescale_delta_last;
+
// combined size of all the packets sent to the muxer
uint64_t data_size_mux;
} MuxStream;