From patchwork Sun Feb 25 02:23:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?0JLQvtC00Y/QvdC90LjQutC+0LIg0JAu0JIu?= X-Patchwork-Id: 46514 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c51b:b0:19e:cdac:8cce with SMTP id gm27csp698345pzb; Sat, 24 Feb 2024 18:23:24 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWJZgH+vKtClLx5PhzSxk+BGR9NuF5CPDSelFliZ5FvNcgQexRWURfqt/5YIMZ41f3D9Wr2J6+UwPbvKjGqgf3m96SrFPojGy3c/w== X-Google-Smtp-Source: AGHT+IGJmX/jgMtbLGppihuXfLlNcCnS6czzbF5GEwX1OhBrKB7m6UWhgkqSkcpqn9Ji8LH3nfSf X-Received: by 2002:a50:9549:0:b0:560:1f51:80f6 with SMTP id v9-20020a509549000000b005601f5180f6mr2375933eda.4.1708827803981; Sat, 24 Feb 2024 18:23:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1708827803; cv=none; d=google.com; s=arc-20160816; b=CCA4zqETWtrHGlkIWHblhRw8W8sk5WtvYYvktWZocUh0zbzb5I8eWG/ziC53HN7Lu4 bUXqmh2z5pzhtN7SWTIocabAExr+OepACjQWjeM7n6NIgUxZ0VlyZPbJFPEJ+7WRHcYb g+5N6rAJNYUKLH6AoY3lnZHOYegUzZtSxDBBtjyOoA+CvYYWB88Avsd7qr2zYLy+/eo1 DNi3/qQDis3qnzSUxkXtIirdkoPr4VX89ImoKaMLKiOe+NVkNNiFNLtjh1rfaT/kG3zi f6/YGsikAsl6zktaCi7vtLWzOICxkfIITL3BKychCrworw8IscKNtXEYjjifsnvl7ilm sqCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:content-disposition:from:to:content-language :user-agent:mime-version:date:message-id:dkim-signature:delivered-to; bh=1K4BBLvBQ69blamyKaYC5TMGMQtVofl+9cpnW76hxjE=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=npyrQPTYvoEHFv5oLFWlxht+FfrAoks+vVFNLhOHITPs4pRUr9rRbl2nlZAV3HYPcQ 8pjLFfVgb1p96xnh/jEbE5u3S7qgpeBvtUPpvfSQo4SkPu5vlavggr3ssTuZNghWD8ke pUJRtHatcpdsOFgqTkPQR4zUggvIrw6xaQdZCsjOxqjGbgxi8Zc2bPdRaZy5XZKtDfMP hJjUhoRcbngjknQ2/k+0A3xMlhLM7WmlLtzOQ7KFYsPl7dS74w4U73xuG6F/aqxPsT9A BCRJ57ZkiMg9vtclcMKQwKwo5O64EOwsNuSKg6Quryfly0Rv/bmfPnK/u+iemtCnaIFo 59rg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@mail.ru header.s=mail4 header.b=K7XcJU9O; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 29-20020a50875d000000b00565bb48f44asi520278edv.480.2024.02.24.18.23.23; Sat, 24 Feb 2024 18:23:23 -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=@mail.ru header.s=mail4 header.b=K7XcJU9O; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 00D4768C27C; Sun, 25 Feb 2024 04:23:20 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from smtp40.i.mail.ru (smtp40.i.mail.ru [95.163.41.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0E53168C27C for ; Sun, 25 Feb 2024 04:23:14 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail4; h=Subject:From:To:MIME-Version:Date:Message-ID:Content-Type:From: Sender:Reply-To:To:Cc:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive:X-Cloud-Ids: Disposition-Notification-To; bh=xlRlK2FCSUIYrBu3xzQh/DQ4jmSn/YcMvGJ4VNTAA8k=; t=1708827794; x=1708917794; b=K7XcJU9O167Ti8Hk9Nzb/HIJ6wVN1OMcrVPegMi+MGxsnZI KToxZ8kH0t5TDyHsrFXU/TKURSDlpjP5h5PAD0JgPD+LOIe8WmsuGDeu0BF2y+uL6ue/NnxCfyd7d lAi6LLNI2Unxc2dqgR1sayMJCZqZQLFLK1FjcOyRwIPivtsZYs13GQOz2FL5kN69qlLkmQaNWOGcU tRnNycTLOIaXd8qaedIfU7oE22cBZdHmgh+y4bWwHX8yizRilf5pN8g9skUfzSRscDXaaTd+xyqZO GbOmDZ2HXBMl/ijRI4q/ZdhxG1XXiPYGQINUXSzSYPrprrmjAom62Ezb+URe571A==; Received: by smtp40.i.mail.ru with esmtpa (envelope-from ) id 1re4Aa-00000004H6p-2KnI for ffmpeg-devel@ffmpeg.org; Sun, 25 Feb 2024 05:23:13 +0300 Message-ID: Date: Sun, 25 Feb 2024 12:23:11 +1000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org From: =?utf-8?b?0JLQvtC00Y/QvdC90LjQutC+0LIg0JAu0JIu?= Authentication-Results: smtp40.i.mail.ru; auth=pass smtp.auth=Aleksoid1978@mail.ru smtp.mailfrom=Aleksoid1978@mail.ru X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD90B4B6FE9E606E496E2C2273A1A45656B6328BA412D62DA2700894C459B0CD1B94F0DDB2F7CE8B3154FD83A524114CB1F6A006169F700C162480BA8458A693661B854597C55E94BBE X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE79961E86438F5BDAEEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F790063745D431239A8C7DA08638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D88DE38D90A47E7351223A34D08DCF3FDB3A1E30524ACC9DFF20879F7C8C5043D14489FFFB0AA5F4BFA417C69337E82CC2CC7F00164DA146DAFE8445B8C89999728AA50765F7900637E603D20A273AEC4F389733CBF5DBD5E9C8A9BA7A39EFB766F5D81C698A659EA7CC7F00164DA146DA9985D098DBDEAEC8744B801E316CB65FF6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA73AA81AA40904B5D9A18204E546F3947C17119E5299B287EE2D242C3BD2E3F4C64AD6D5ED66289B523666184CF4C3C14F6136E347CC761E07725E5C173C3A84C32ECB75B566AFDDCCBA3038C0950A5D36B5C8C57E37DE458B330BD67F2E7D9AF16D1867E19FE14079C09775C1D3CA48CF17B107DEF921CE791DD303D21008E298D5E8D9A59859A8B6B372FE9A2E580EFC725E5C173C3A84C369456C5265B6C55C35872C767BF85DA2F004C90652538430E4A6367B16DE6309 X-C1DE0DAB: 0D63561A33F958A5321C92675F6172035002B1117B3ED69634647FE3D174BE36A13BD6A4B0E00B96823CB91A9FED034534781492E4B8EEAD27E9584FBD6BDD31C79554A2A72441328621D336A7BC284946AD531847A6065A17B107DEF921CE79BDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF3FED46C3ACD6F73ED3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CF1D424E44D4B458B454853A880AAD60600F9088BA6167739146A28F750A2D97672E7DF6377D6407AAA653534C7294CACC1F3129FC0D5401422EBDF4BDC041456C358A741BF6FBDB4F383C93C5AD2DA449913E6812662D5F2AC3039550F769F8798F143D39BEEEEE2FC3981EEBE9DB10F943082AE146A756F3 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojhcsd5OwWmohrnO4RiZ2kpA== X-Mailru-Sender: 58FA1740AF0C9621328149A0E746777203D1798638B5ED7587A35C9C7BBE74BE2E253D44FAB0A58EEA2B700F1110B6AD23B8B6364D89957A3DDE9B364B0DF289DD78749A30E7047613232A9A0118815C0D4ABDE8C577C2ED X-Mras: Ok Content-Disposition: attachment; filename="0002-mov-parse-track-based-udta-name-tags.patch" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH 2/2] mov: parse track-based udta name tags X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: vu1qDhL4gRl1 From 1833111ec9fe0350e9cf206bb33ca573b6b8c4b5 Mon Sep 17 00:00:00 2001 From: Aleksoid Date: Sun, 25 Feb 2024 11:59:03 +1000 Subject: [PATCH 2/2] mov: parse track-based udta name tags Signed-off-by: Aleksoid --- libavformat/mov.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 1a1b104615..c7b6919433 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -301,6 +301,16 @@ static int mov_metadata_hmmt(MOVContext *c, AVIOContext *pb, unsigned len) return 0; } + +static void mov_set_metadata(MOVContext *c, const char *key, const char *str) +{ + if (c->trak_index >= 0) { + AVStream *st = c->fc->streams[c->fc->nb_streams-1]; + av_dict_set(&st->metadata, key, str, 0); + } else + av_dict_set(&c->fc->metadata, key, str, 0); +} + static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) { char tmp_key[AV_FOURCC_MAX_STRING_SIZE] = {0}; @@ -403,6 +413,7 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) case MKTAG(0xa9,'w','r','n'): key = "warning"; break; case MKTAG(0xa9,'w','r','t'): key = "composer"; break; case MKTAG(0xa9,'x','y','z'): key = "location"; break; + case MKTAG( 'n','a','m','e'): key = "title"; break; } retry: if (c->itunes_metadata && atom.size > 8) { @@ -530,10 +541,10 @@ retry: str[str_size] = 0; } c->fc->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED; - av_dict_set(&c->fc->metadata, key, str, 0); + mov_set_metadata(c, key, str); if (*language && strcmp(language, "und")) { snprintf(key2, sizeof(key2), "%s-%s", key, language); - av_dict_set(&c->fc->metadata, key2, str, 0); + mov_set_metadata(c, key2, str); } if (!strcmp(key, "encoder")) { int major, minor, micro;