From patchwork Sun Feb 25 01:59:37 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: 46510 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c51b:b0:19e:cdac:8cce with SMTP id gm27csp692165pzb; Sat, 24 Feb 2024 17:59:52 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXW3ExlmfbqcovhrCJ5XPWsrBFN1+3LZAI6A75QJF1umOt5TI+cIhKNa7QwDyq7OHCl13o+2JbYIGJxsYYxXcDrLeIxlIPIzUrY0w== X-Google-Smtp-Source: AGHT+IHaHUaJKspJo3awhUzVRHVBREnNh8qj/y29CmbqaVzYXPwrsbYcdFcMwZ+1uMDPie9z51Gu X-Received: by 2002:a17:906:7114:b0:a41:2f5e:f9b4 with SMTP id x20-20020a170906711400b00a412f5ef9b4mr2044478ejj.59.1708826392293; Sat, 24 Feb 2024 17:59:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1708826392; cv=none; d=google.com; s=arc-20160816; b=sWb8U3EYhxEInS0M7F6B24k0kq6+nSNsgMpU/KVPBQgyDpcObKdu9Hp48ATcI+uBM1 nX/cD3IW6ZBovyX1qDCmUo1eSY4MZc6Sa+7x8STE0D5mI8w3tqSyBMGx5GALqX11x7Sp tlCS18/x2B6hKWAGi2LRfnaYwXE7rBCcfPglmqGCfzTweLpT3GUPM0aduozBMAHwj8PO L61ymoMGFG7yQCOYLZsHfrPv6fyDTJkDHq3QrlgqpO9JlSSzReMz5Rtw/x2WbogFMLbp SPhYIUdWDU8j3lMF8eZQ5z/65vQDwojBQSdyclco2YfjwSEJJ7mPBsc1WW/t1+I1AT3c JMkA== 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:from :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:content-language:to:user-agent :mime-version:date:message-id:delivered-to; bh=okzSkK3nL4U6AQWtvlP07p2HLYLmgVc/Ojyd8uUFjnU=; fh=uK6ovvt9taSrCCgCDpaJX28Nrscar2l8bqWwwKTo/3k=; b=YpNXbb25gKiW54TM+X0cU0BtTJeOYsNdL6uTU1MNTvcff0iypIR9alY+aU70UFR6qH 9JFOgYgVa6A+IBLtIoRK6bXIqAMlrFrQgUFf3a8wxzFuPMTLw1e+dVIz5R3AOFB4sYxq RzEJLUXmoMUXQeKZbGuQfvEgcelRur/5bXNzAhAxyDI3k3P+H0CyrSf950AqrHml3Rid qnyeTz3W2W0Io+7i8Vf5sg42203IBmomJQ9Saj+foIundV6D0dJS2JOb+gJhY7mrctJJ SjJ4LAMQYsoG1OvGfFQ4bjuO5DVQilCTfWXC1PnS8FTjG/GbhmLYmzZzbcP5l7wwA/R9 uuOQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 u13-20020a170906124d00b00a42e655ca37si951279eja.618.2024.02.24.17.59.52; Sat, 24 Feb 2024 17:59:52 -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; 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 2EA0A68C678; Sun, 25 Feb 2024 03:59:49 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from smtp35.i.mail.ru (smtp35.i.mail.ru [95.163.41.76]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5C1D868C3D2 for ; Sun, 25 Feb 2024 03:59:42 +0200 (EET) Received: by smtp35.i.mail.ru with esmtpa (envelope-from ) id 1re3no-00000003MaJ-34yI for ffmpeg-devel@ffmpeg.org; Sun, 25 Feb 2024 04:59:41 +0300 Message-ID: <0ddf4c39-e6fe-4b5f-aecf-529b10a7f06c@mail.ru> Date: Sun, 25 Feb 2024 11:59:37 +1000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org Content-Language: en-US X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD90B4B6FE9E606E49610CC26003E1EEE77FF7BB197BFD5889000894C459B0CD1B9D05BBF960A8E1755F0E2B32A78B13C0273B9D797149F4C70B8C4C2D75246CB934A43D3E7D3A7B3F6 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7FEAC828D2BF6EC3CEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F790063767500BC4578134A08638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D800D1C850397BAF49140169CA4F5E4DCD2A80CD9EE37483C820879F7C8C5043D14489FFFB0AA5F4BFA417C69337E82CC2CC7F00164DA146DAFE8445B8C89999728AA50765F7900637712AAB6D9D366D8A389733CBF5DBD5E9C8A9BA7A39EFB766F5D81C698A659EA7CC7F00164DA146DA9985D098DBDEAEC8D23BF7408B3F9022F6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA73AA81AA40904B5D9A18204E546F3947C17119E5299B287EE2D242C3BD2E3F4C64AD6D5ED66289B523666184CF4C3C14F6136E347CC761E07725E5C173C3A84C32ECB75B566AFDDCCBA3038C0950A5D36B5C8C57E37DE458B330BD67F2E7D9AF16D1867E19FE14079C09775C1D3CA48CF17B107DEF921CE791DD303D21008E298D5E8D9A59859A8B6B372FE9A2E580EFC725E5C173C3A84C36174550A02D153F535872C767BF85DA2F004C90652538430E4A6367B16DE6309 X-C1DE0DAB: 0D63561A33F958A5BE3B6CCC79314E155002B1117B3ED69601325202D9171E45A13BD6A4B0E00B96823CB91A9FED034534781492E4B8EEADB30A456A8F293845C79554A2A72441328621D336A7BC284946AD531847A6065A535571D14F44ED41 X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF3FED46C3ACD6F73ED3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CF6D945FB94986157D85C7A0363798F9E2C31F37F8AAF4321E5E7152BFFF3F40DF110A92F5D16EB67FA653534C7294CACC998FBC1EEEF01BDBD5500BE42C79185EA3A96ED53B5832BC383C93C5AD2DA449913E6812662D5F2AC3039550F769F8798F143D39BEEEEE2FC3981EEBE9DB10F943082AE146A756F3 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojhcsd5OwWmohwPHWF7wq4Rg== X-Mailru-Sender: 58FA1740AF0C9621328149A0E746777205E7189780B733F68BD48BD36611AD34C16CEABA53E660A4A0CDFA330AEAD29523B8B6364D89957A3DDE9B364B0DF289DD78749A30E7047613232A9A0118815C0D4ABDE8C577C2ED X-Mras: Ok Subject: [FFmpeg-devel] [PATCH] 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: , X-Patchwork-Original-From: =?utf-8?b?0JLQvtC00Y/QvdC90LjQutC+0LIg0JAu0JIuIHZpYSBmZm1wZWctZGV2ZWw=?= From: =?utf-8?b?0JLQvtC00Y/QvdC90LjQutC+0LIg0JAu0JIu?= Reply-To: FFmpeg development discussions and patches Cc: =?utf-8?b?0JLQvtC00Y/QvdC90LjQutC+0LIg0JAu0JIu?= Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Q4lWzZjRl6YP Signed-off-by: Aleksoid --- libavformat/mov.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) { 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; 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)