From patchwork Sun Jan 13 22:14:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carl Eugen Hoyos X-Patchwork-Id: 11731 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 40DAD44EE55 for ; Mon, 14 Jan 2019 00:15:00 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6210A689EFE; Mon, 14 Jan 2019 00:14:48 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-it1-f179.google.com (mail-it1-f179.google.com [209.85.166.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8E1FC689A2A for ; Mon, 14 Jan 2019 00:14:41 +0200 (EET) Received: by mail-it1-f179.google.com with SMTP id g85so10496127ita.3 for ; Sun, 13 Jan 2019 14:14:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=72METwtjNeXJlnm28+NOWNy60aUxEkpI9C+Z8M2w6nk=; b=jTLHVlDj5+1oED82oKpSY2WC18NRPbQcSL9OWsrO9bqXuiJm1VmoczuX7afnJT8KQh UqcxjKiR9sFmCO9rz/aLkPkDYSaOIiOn0zx0KN5ObMARbwSMNfttQ2YQP3AOAbsALmBn NSszj9NGPTxasS/1E7ts4p2aaX0pA6b9WSqG2jRPA/2rjydz+IBZNLkvpcft5Fi7w3/b XEg8OW7Z1GiNzOpd6hD3EjdhrJfebQNrNZIBiLqgEm+JDUN2UZ01ShtZ9YFpu4X7FgKL xp7dFSZL/H8Bv1O6TVRghwI1kqNsb5FiAiVINUd+emL9rhtdf5FaGdqOhmRgtRZr5DOF iVDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=72METwtjNeXJlnm28+NOWNy60aUxEkpI9C+Z8M2w6nk=; b=iwOh3QfXW6IheNeauGkrNII+DPhOAVC0165mxIiWYCB8JHZOS4RwF4JlJf1pqBxEUi RgxBvScpgxvQ5CMz3uKzgTziNZKS6j59ZtjvVwrz90l6j1hsYPv5vPXb/Q+yOmyn+Ao+ 6BHLQgtoCbJcgZma2ZzEP3v1CcqiiKTFgKBXGEY+zhLue3CM3eKT6IY4BZrToA9NbwhP vPtLeLHufy70jBerIHU46PlMsqqsoHDq4XYzMgXpOHKJQ8t5I8e5FUJfH48WKpm87umX G5yC4mx+xdH0XEpjqGA37NUOBXWVlMw7bozNYiXqbNFJ+GuTJ6sfEpot7iExbWXXIBzq qRLg== X-Gm-Message-State: AJcUukeCVVzh2UXxrke0j1szYXygSogqqw9ClS+aguTUpHdM19IN4W4F hkfkymwKOrs15krByLpRzRdKaN1hjBhqnWZxpOgqdQ== X-Google-Smtp-Source: ALg8bN5925/rGvxFMRsI8pStlMf2ugGfnyf8xFYqY1PZzXRHGXXgOwjhsBBIQ2P5x0kzMdHi7EPLjDWEk/YMvOl7gbw= X-Received: by 2002:a24:3752:: with SMTP id r79mr5472109itr.121.1547417693375; Sun, 13 Jan 2019 14:14:53 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a02:5f11:0:0:0:0:0 with HTTP; Sun, 13 Jan 2019 14:14:52 -0800 (PST) From: Carl Eugen Hoyos Date: Sun, 13 Jan 2019 23:14:52 +0100 Message-ID: To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH]lavf/mov: Do not fail hard for more mov atoms X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Hi! Attached patch fixes ticket #7679. Please comment, Carl Eugen From ea6afa36d5ceb6e027176f051e7886f0648e3ac2 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Sun, 13 Jan 2019 23:07:06 +0100 Subject: [PATCH] lavf/mov: Do not fail hard for more invalid atoms. This is what several other players do and what FFmpeg already does for the sidx atom. Fixes ticket #7679. --- libavformat/mov.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 970cd87..50507cf 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -4558,8 +4558,8 @@ static int mov_read_tfhd(MOVContext *c, AVIOContext *pb, MOVAtom atom) break; } if (!trex) { - av_log(c->fc, AV_LOG_ERROR, "could not find corresponding trex\n"); - return AVERROR_INVALIDDATA; + av_log(c->fc, AV_LOG_WARNING, "could not find corresponding trex id %u\n", frag->track_id); + return 0; } frag->base_data_offset = flags & MOV_TFHD_BASE_DATA_OFFSET ? @@ -4639,8 +4639,8 @@ static int mov_read_tfdt(MOVContext *c, AVIOContext *pb, MOVAtom atom) } } if (!st) { - av_log(c->fc, AV_LOG_ERROR, "could not find corresponding track id %u\n", frag->track_id); - return AVERROR_INVALIDDATA; + av_log(c->fc, AV_LOG_WARNING, "could not find corresponding track id %u\n", frag->track_id); + return 0; } sc = st->priv_data; if (sc->pseudo_stream_id + 1 != frag->stsd_id && sc->pseudo_stream_id != -1) @@ -4686,8 +4686,8 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom) } } if (!st) { - av_log(c->fc, AV_LOG_ERROR, "could not find corresponding track id %u\n", frag->track_id); - return AVERROR_INVALIDDATA; + av_log(c->fc, AV_LOG_WARNING, "could not find corresponding track id %u\n", frag->track_id); + return 0; } sc = st->priv_data; if (sc->pseudo_stream_id+1 != frag->stsd_id && sc->pseudo_stream_id != -1) -- 1.7.10.4