From patchwork Sun Apr 11 00:43:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 26855 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 8B6E144A69C for ; Sun, 11 Apr 2021 03:43:23 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 74608687F64; Sun, 11 Apr 2021 03:43:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073055.outbound.protection.outlook.com [40.92.73.55]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 46CF66806BC for ; Sun, 11 Apr 2021 03:43:17 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qa5G2hnsBSH/0zEvL3CNmcukqCorsuNcmueC6QIOH4StZlqMS1g8n/29OZ11rm+HZes9WwzviluVWl8zAlhMIkdCU0jm1SxCCxoLSED5FbHEWkRWSBZxs8BBfBaeFlMuZW15oHkdRfWJCDk50R3qsbeUMa2xRlow1rKN+3I9/2XXETyaAn/1yQ4ILny2qJrPG/Axh/t0Zvl9a8cR4BOJkHnFwtj1zgQ4aodIeZDX65oDyo5b8oUoy0cCHwhDVCjrcyuOBLOr8ktBbsmISvHzzBPss4vkHRv1F19Plt0jiVNWq9LR++uPnRpznBGHqRRz/Qtmiex4+P+B5BxshKzzxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G8bj621DlFlcQEgejkjf6wYes/7lqbpQ9gu8TwU7SA4=; b=kzw4zaOJ7DBo0NCteuHUSe60eXqIFP6sRnrLwit98Qd8hAZbR2MF/CCWX1EoypfE+cQK367rW2fqFw0BNWmsxzyq1egPMq9JYpWebba/9mST6JaARNs7lDO+to4arpIMvFm9Sk+nIwwkD95JYph8emLEIgBYrCt/MPr2Rgm4h2e+bIJ9lWDhj3DXlDkurUgU16bXgya1B+lrFXBGDo/OHRkJIxn3Sw56bMW8pCLgzudXYYkzxo73+7Ak9pVDVDXsYRTpDrj/aMW/+HgBB0fHA4Zy3NW2I4CdMUxJar07omqBgtGHf2nZTJYCED0bIfhpMFBOr/YMjIPkzIcBtshL2A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G8bj621DlFlcQEgejkjf6wYes/7lqbpQ9gu8TwU7SA4=; b=RQj4/P/8Oc3R3nZIT67ZyDKbPcrjh6n72rukl4cCr6cNY0Mywavfb1GAH6Wmc248WXn9FvOanxmLqa4A132qvKi4zYV/2zsUEPKZLOf3w35QuXmhn0Gzv5Uy+9sundHeJ8M6YsFGCraXLRwtnWy4Ftmjwu8hkJ1XqVeo4/PBc1w0uiyxZfj1KdfBgmlQV9PPtxBeH+qUZfW9gs3BVGLrVdSy39UOuQQwQHpOlkyUJWdC2Kbf7MYEaNAo11b8MCnOYOBCsPup6nUP4cZecct9xDz4QYKR5f+LLuaPpoAZ+8G7/QQWx+EZA1eutwsFFiaw285dZ1/RGC8T45agS4hhcA== Received: from HE1EUR04FT003.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0d::52) by HE1EUR04HT223.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0d::133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17; Sun, 11 Apr 2021 00:43:16 +0000 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com (2a01:111:e400:7e0d::4f) by HE1EUR04FT003.mail.protection.outlook.com (2a01:111:e400:7e0d::273) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17 via Frontend Transport; Sun, 11 Apr 2021 00:43:16 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:44B1524947A27FA663B02DD58AB30B037765E91171584504ED75D2A692CF20E6; UpperCasedChecksum:4265CB7CFF750759214E79B569FE105EF143D04870113BB9043FF6CE8400C194; SizeAsReceived:7565; Count:48 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::8128:5de5:4e94:9a21]) by HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::8128:5de5:4e94:9a21%3]) with mapi id 15.20.4020.022; Sun, 11 Apr 2021 00:43:16 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 11 Apr 2021 02:43:02 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [cday667DNprIyk4kQ9n6IY7LZXIogdNM] X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To HE1PR0301MB2154.eurprd03.prod.outlook.com (2603:10a6:3:2a::22) X-Microsoft-Original-Message-ID: <20210411004302.219786-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.137.96) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Sun, 11 Apr 2021 00:43:15 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 48 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: ab52e61d-0f4c-4256-5e87-08d8fc82cb48 X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/UI1RSyJFTWTBofyzhLauo4kGfKH7Rhw2ZzcmLNRz0Na+fAEpq+Iw0231ORsDSKuv+J0+G4Xa1RX1C7lh01BEOLKuNDIzw4TDXSHkYWU1dn9FgFMvDPAHy26zlqxRam2KvlAHuwg/ho9LX6+SUDJo7jxlR86fYD+m/cKd38jA8t65dOiWDroTnrJrv2TITEpsql5BJVX3vtsujSDXEIerHnt3sFNoqttSKQWzCWffO6CKeALJmYpmPFyhz80Exe5GFKaJnb49pehgoU202QTpxFqz2/j2qF7BWqXUYOAggVTeoh6kaPG9IWL1g0urN6RIcDDzX2/2elevbKFMuVLkAw5gBKrS+vRPGAwTj2wshL+YY84pZuKPvTSQfCnYJXYWv8gqV03FaVzDeUCNIleftrdMm2F108FRbuvRoapfeU+UMuZBCslPnzqzSx/wylMhUquUCQnTA1Xu4XhUQxRmeeZDOrlqJnKsN4BWVkqsjd/2XRGgJSBZ2Go0+PX+Q1A2Z4/HI5gz4EzFcnbXJpZM/KyxFFT9P4XuGu6MS5I3nFesWkVpln7w+IwgRU6aPWWRYCdXoJ//aHuYZ/FQbVDyE2Cs7fA2qIx28rNbzNl2dHccwhpB+DwO831G8uE0JAVC0eycOgzEYD2nuAeJoBLC4e2S8tgjTT+DI1gm9n28i+K5dk/mv4qPs4aIsa7snQv3eXnzKV4zUFWrg== X-MS-TrafficTypeDiagnostic: HE1EUR04HT223: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j2Z6KiOIqkNllxGO3sNyXyymSuRj3ufqcMJCffBX4OSG3Y/5W8IqTKHkiXLc3+x0Fss6eTgl/dXdcwDZUyG2zpVoNy0VKlyCmANsAv2Y3qgtvUqNHQjbIZnQWUHpiEzjZLuqTNKvGhiiHljQqDZYVGhczgpikenyWQKLUWNypfeFKO3QqAZYR6hwlCpS7b/hEWYYV2sqsYUelscYYzniV117dIWaUcOIBZ2UqFeywcTm9OvaRi7L/KZBCNwmvJuqElSfjlj670suC1OLVRjxFrad9Gov2j72oD0nxqbm4nLdriWmaCxyBiimKH9ZtC+2XKeD3q+rn7CwmMTjurqtKe/+FZKYE3U/MYsVfX18zYSugjff1En6ryQsS/0ur6OrznIdcfOY8CEObJSke30aRg== X-MS-Exchange-AntiSpam-MessageData: /F2KXKxMp6BpYygid+m/ODozXlfAtW+l0iUpyz4DHwK0lG3Zit5QXEjArzA1C2vdy/5IzIGT+0o01h/Y8Nt8fotkZOGhelZ4m/i2tdjQHp9AnjJ1Ov8hxSaWLR2/yUBMKn67aXcerIWXS2ULCOUHuw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ab52e61d-0f4c-4256-5e87-08d8fc82cb48 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2021 00:43:16.0950 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: HE1EUR04FT003.eop-eur04.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR04HT223 Subject: [FFmpeg-devel] [PATCH 3/3] avformat/webpenc: Check seeks 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" When writing the trailer, the WebP muxer unconditionally seeks back to the front to update some elements. Yet this doesn't work if the seek failed, so check for this. (This has been mentioned in ticket #9179.) Signed-off-by: Andreas Rheinhardt --- libavformat/webpenc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavformat/webpenc.c b/libavformat/webpenc.c index 3962986c32..a24920d181 100644 --- a/libavformat/webpenc.c +++ b/libavformat/webpenc.c @@ -174,8 +174,8 @@ static int webp_write_trailer(AVFormatContext *s) if (w->using_webp_anim_encoder) { if ((w->frame_count > 1) && w->loop) { // Write loop count. - avio_seek(s->pb, 42, SEEK_SET); - avio_wl16(s->pb, w->loop); + if (avio_seek(s->pb, 42, SEEK_SET) == 42) + avio_wl16(s->pb, w->loop); } } else { int ret; @@ -183,8 +183,8 @@ static int webp_write_trailer(AVFormatContext *s) return ret; filesize = avio_tell(s->pb); - avio_seek(s->pb, 4, SEEK_SET); - avio_wl32(s->pb, filesize - 8); + if (avio_seek(s->pb, 4, SEEK_SET) == 4) + avio_wl32(s->pb, filesize - 8); // Note: without the following, avio only writes 8 bytes to the file. avio_seek(s->pb, filesize, SEEK_SET); }