diff --git a/demux/demux.c b/demux/demux.c index b63038b6c4..22540bbb8e 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -3436,8 +3436,12 @@ static struct demuxer *open_given_type(struct mpv_global *global, mp_dbg(log, "Trying demuxer: %s (force-level: %s)\n", desc->name, d_level(check)); - if (stream) - stream_seek(stream, 0); + if (stream && !stream_seek(stream, 0)) { + mp_err(log, "Failed to rewind stream to the start.\n"); + demuxer->stream = NULL; + demux_free(demuxer); + return NULL; + } in->d_thread->params = params; // temporary during open() int ret = demuxer->desc->open(in->d_thread, check);