From patchwork Wed Jan 1 00:58:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 17088 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a05:6214:1865:0:0:0:0 with SMTP id eh5csp217077qvb; Tue, 31 Dec 2019 16:59:47 -0800 (PST) X-Google-Smtp-Source: APXvYqxWlpxVn+7HK6SS/VPwu/PrdQfciWFrAGPoVYhq5ye2ikW9HkeC9XkskB/fs82sdA8Ed4tt X-Received: by 2002:a17:906:1392:: with SMTP id f18mr80117095ejc.280.1577840387513; Tue, 31 Dec 2019 16:59:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577840387; cv=none; d=google.com; s=arc-20160816; b=Cj7xFjQroa5P2AZPaPDZl4qsyISCuUB3Tk6ycNeLy4Rm07JOOpwQvvIzjvaXfmDTH9 AFtyWL7pYz+AXzu+L+x28DF18oTD4HAQmabo7UOKtzVmTJCmjuP07AxVNeIDJe8bavvG ePlzHgLc97Q7QNde/NamCIoOAb9Q37xN16t/4NJuhCA0Fc+v+M5jbFGe4IigaMLjvI3T 1cUhgSbTTR6TfZcVnnjJVge1Lu40CGsZSDRpeYowYmTqUz+dpK8q134mGx1//a8cXYTw IcGzoEa+yttiM92xcS51iMyncKSFyoEcoh2MOz74CgdJzxI1gcBQKZrM6pBtUWtkEoJC KjJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=ohxKJBzeGCExvIKzvPl4R2v/qHnyTibzueQ82IZ01WI=; b=Tts9rQdnfiEK3KNZSWjQq3w5iTII6WJxQ0QWwMa/HzH/FH1HyQGZLMRhXxexhndL18 86/l95bjgaqwmIt/kCjVkYLmj97dkMFCk+wIs6edpVNwGMD0+77lySl71aWs3CvUn3Kp CL/OHmsse4EmPZHpl/cvH9XAAE0iwq/rpu/GmD2ytOnm55SNZ5ZCJ/PcH0pnDg8RLg4G t7nVyZpcktEmZdS86COAVQxCFESish9HmbjazvPKr8X+HZWIqLrQ8c1Et/NrZF0tFsMy lULygQI9nhb7sgtkT+cUqvmCVwj6P0CPTG0M/4klK8cK9WwmwDeL95HqxaUS8jt5OSfg BOKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=UAmXTx+M; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f21si32956616edx.391.2019.12.31.16.59.47; Tue, 31 Dec 2019 16:59:47 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=UAmXTx+M; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 449B468AD24; Wed, 1 Jan 2020 02:59:14 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7656868ACD5 for ; Wed, 1 Jan 2020 02:59:05 +0200 (EET) Received: by mail-wr1-f67.google.com with SMTP id t2so36224744wrr.1 for ; Tue, 31 Dec 2019 16:59:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AT/N14wH6dtZZ/8dgFRCi/gc9e/suERPgROSJbTmxxs=; b=UAmXTx+M0E2oxDyAoYDZe2axCvuJPA5MZ1yXkkv4lJDShG0rSaf4MgFc9gzPc/uxGY NEdjiYvxKKVgvQb9IlRtJl8+1YpzGCmfZF1CDTSO9eFab5Cli3dIjvluEJdhv4z6Fk5/ zAVoERiWnwAEZoz+bBAsJTBB3Dg2S2+aoZl9cNiD90qIDytIgVXa4Gz94RIudCgL5eZP xvuxKQbCeasWvnFr3avtoqhDtvHUh35yljDsD1g1aF5CXF1aNkmAWJ96eSPC/8piijDp GmWLzaxIa2ACZ1Z28ToxogHYIXjqOe6/fninOe8QCupsHz0mBUm5YHQct4sR2wS0nwhk 4Ugw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AT/N14wH6dtZZ/8dgFRCi/gc9e/suERPgROSJbTmxxs=; b=jI3A0FiWUxqXg87DfcKX/zyZwZucOX9apD5oNwHqP6y5GTrqWIKSXwiDH+HMq3Ut42 4ldxONyHQ0HzQSPopKfzPDnbCjP+yZGt/jrQDDdjcnzTuW3ekJ7L1iD3NwVUCEYlGh+/ wS+tPP/1gl9q5PDqHPE/0f4hOJVrS71b0Bk1SgCxyUP0RUmPUijPi52Zij97a/R/B6jI 0JJogYvVE0oNvk6H9NEnwZPsdpQrFlsrPnLNSrCS8NsmZM3Z5jBI5xb6qixh5xQb5otv o0ISUUnoimQn9dgWq80URsRoIOx3Hw31+auom66P/zL91PUSocT8hhly49UX/6tikAjW JRXg== X-Gm-Message-State: APjAAAVeyWNFlxEnxvaiyXVsAwRlQeNyG8m4Tg0nVzzl6vacZuQgRKwa rUM0IXlWFxMpbLnU+WhuKkkmx4hF X-Received: by 2002:a5d:5487:: with SMTP id h7mr71917261wrv.18.1577840344816; Tue, 31 Dec 2019 16:59:04 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc08bbf.dynamic.kabel-deutschland.de. [188.192.139.191]) by smtp.gmail.com with ESMTPSA id w17sm52431655wrt.89.2019.12.31.16.59.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Dec 2019 16:59:04 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 01:58:22 +0100 Message-Id: <20200101005837.11356-6-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200101005837.11356-1-andreas.rheinhardt@gmail.com> References: <20200101005837.11356-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 05/20] avformat/matroskaenc: Check return value of ff_isom_write_hvcc() 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: OjfPgHMthspQ Content-Length: 2408 The Matroska muxer currently does not check the return value of ff_isom_write_hvcc(), the function used to write mp4-style HEVC-extradata as Matroska also uses it. This was intentionally done in 7a5356c72 to allow remuxing from mpeg-ts. But if ff_isom_write_hvcc() fails, it has not output anything and the file ends up without CodecPrivate and, if the input was Annex B, with Annex B data, which is against the spec. So check the return value again. The underlying issue of not having extradata seems to have been fixed by the introduction of the extract_extradata bitstream filter. Signed-off-by: Andreas Rheinhardt --- libavformat/matroskaenc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 76c38b8d09..8cea829b31 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -748,9 +748,8 @@ static int mkv_write_native_codecprivate(AVFormatContext *s, AVIOContext *pb, return ff_isom_write_avcc(dyn_cp, par->extradata, par->extradata_size); case AV_CODEC_ID_HEVC: - ff_isom_write_hvcc(dyn_cp, par->extradata, - par->extradata_size, 0); - return 0; + return ff_isom_write_hvcc(dyn_cp, par->extradata, + par->extradata_size, 0); case AV_CODEC_ID_AV1: if (par->extradata_size) return ff_isom_write_av1c(dyn_cp, par->extradata,