[FFmpeg-devel] [PATCH 1/3] lavf/matroskadec: resync if cluster parsing fails while seeking
Nicolas George
george at nsup.org
Sun Dec 10 16:08:54 EET 2017
Rodger Combs (2017-12-08):
> ---
> libavformat/matroskadec.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
> index 496499b553..b51f67af00 100644
> --- a/libavformat/matroskadec.c
> +++ b/libavformat/matroskadec.c
> @@ -3528,9 +3528,13 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
> SEEK_SET);
> matroska->current_id = 0;
> while ((index = av_index_search_timestamp(st, timestamp, flags)) < 0 || index == st->nb_index_entries - 1) {
> + int ret;
> + int64_t pos = avio_tell(matroska->ctx->pb);
> matroska_clear_queue(matroska);
> - if (matroska_parse_cluster(matroska) < 0)
> - break;
> + if ((ret = matroska_parse_cluster(matroska)) < 0) {
> + if ((ret == AVERROR_EOF) || matroska_resync(matroska, pos) < 0)
This is discarding the actual error code from matroska_resync().
> + break;
> + }
> }
> }
>
Regards,
--
Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20171210/fe80986e/attachment.sig>
More information about the ffmpeg-devel
mailing list