diff options
author | wm4 <wm4@nowhere> | 2018-04-29 19:42:18 +0200 |
---|---|---|
committer | Jan Ekström <jeebjp@gmail.com> | 2018-05-03 01:08:44 +0300 |
commit | 0ab3184526e7b9b95c06a3ec7a6674283a5922d0 (patch) | |
tree | 4c05b192e65b51c68f3024b4b7946dcb79caf404 /common/encode.h | |
parent | 958053ff56109a38e9f8e0a0aa8786a5f47adb7c (diff) | |
download | mpv-0ab3184526e7b9b95c06a3ec7a6674283a5922d0.tar.bz2 mpv-0ab3184526e7b9b95c06a3ec7a6674283a5922d0.tar.xz |
encode: get rid of the output packet queue
Until recently, ao_lavc and vo_lavc started encoding whenever the core
happened to send them data. Since audio and video are not initialized at
the same time, and the muxer was not necessarily opened when the first
encoder started to produce data, the resulting packets were put into a
queue. As soon as the muxer was opened, the queue was flushed.
Change this to make the core wait with sending data until all encoders
are initialized. This has the advantage that we don't need to queue up
the packets.
Diffstat (limited to 'common/encode.h')
-rw-r--r-- | common/encode.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/common/encode.h b/common/encode.h index 4a09fedaa2..62a8b094e9 100644 --- a/common/encode.h +++ b/common/encode.h @@ -56,6 +56,8 @@ bool encode_lavc_showhelp(struct mp_log *log, struct encode_opts *options); int encode_lavc_getstatus(struct encode_lavc_context *ctx, char *buf, int bufsize, float relative_position); void encode_lavc_expect_stream(struct encode_lavc_context *ctx, enum stream_type type); +void encode_lavc_stream_eof(struct encode_lavc_context *ctx, + enum stream_type type); void encode_lavc_set_metadata(struct encode_lavc_context *ctx, struct mp_tags *metadata); void encode_lavc_set_audio_pts(struct encode_lavc_context *ctx, double pts); |