[FFmpeg-devel] [PATCH] libavformat/matroskaenc.c: Check if we can seek before writing the end of the ebml of the segment.
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Wed Mar 11 18:44:14 EET 2020
Thierry Foucu:
> ---
> libavformat/matroskaenc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
> index 42f21eae8b..cf436f9e3e 100644
> --- a/libavformat/matroskaenc.c
> +++ b/libavformat/matroskaenc.c
> @@ -2630,7 +2630,7 @@ static int mkv_write_trailer(AVFormatContext *s)
> avio_seek(pb, currentpos, SEEK_SET);
> }
>
> - if (!mkv->is_live) {
> + if ((pb->seekable & AVIO_SEEKABLE_NORMAL) && !mkv->is_live) {
> end_ebml_master(pb, mkv->segment);
> }
>
>
Why? Even if the output is unseekable, the seek to the beginning might
succeed if it happens in the output buffer (unlikely but possible). Or
do you have a specific usecase in mind where the segment should be
unknown-length?
- Andreas
More information about the ffmpeg-devel
mailing list