From 80b41340cd07a1dca0ad90058ec86f07213a70ef Mon Sep 17 00:00:00 2001 From: Allen Wittenauer Date: Wed, 7 Jul 2021 11:49:28 -0700 Subject: [PATCH] Treat m4v like m4a for metadata --- src/sources/soundsourcemediafoundation.cpp | 1 + src/test/coverartutils_test.cpp | 5 +++++ src/test/id3-test-data/cover-test.m4v | Bin 0 -> 4970 bytes src/track/taglib/trackmetadata_file.cpp | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 src/test/id3-test-data/cover-test.m4v diff --git a/src/sources/soundsourcemediafoundation.cpp b/src/sources/soundsourcemediafoundation.cpp index 5da31ba401a..e398767ca0d 100644 --- a/src/sources/soundsourcemediafoundation.cpp +++ b/src/sources/soundsourcemediafoundation.cpp @@ -52,6 +52,7 @@ const QString SoundSourceProviderMediaFoundation::kDisplayName = const QStringList SoundSourceProviderMediaFoundation::kSupportedFileExtensions = { QStringLiteral("aac"), QStringLiteral("m4a"), + QStringLiteral("m4v"), QStringLiteral("mp4"), }; diff --git a/src/test/coverartutils_test.cpp b/src/test/coverartutils_test.cpp index 59c8a9b2fc1..8bf8635dfea 100644 --- a/src/test/coverartutils_test.cpp +++ b/src/test/coverartutils_test.cpp @@ -59,6 +59,11 @@ TEST_F(CoverArtUtilTest, extractEmbeddedCover) { kTestDir.absoluteFilePath("cover-test-itunes-12.7.0-alac.m4a"), referencePNGImage); } + if (isSupportedFileExtension("m4v")) { + extractEmbeddedCover( + kTestDir.absoluteFilePath("cover-test.m4v"), referencePNGImage); + } + if (isSupportedFileExtension("mp3")) { // PNG extractEmbeddedCover( diff --git a/src/test/id3-test-data/cover-test.m4v b/src/test/id3-test-data/cover-test.m4v new file mode 100644 index 0000000000000000000000000000000000000000..6a59ff510c9fa40bd30f0eb46cefe52f2dd6555a GIT binary patch literal 4970 zcmeHJdpy+X8h>ZZAdF0|i8UcL?w7DxNt((a$9;=zh8dTd-^?&$6kTRULRZbHkZWrw zI!RZo)-|;`RK%*2OGGLZ$0gCOeShTh(VlrE}p%>m}OeRvAVWWP9j zSH{QhhYbV6-eRi>x>c#e|0Sp2)oIabsp_50!IgnNYhf?vyR;(YnyB%1M>FBRAgL#B2xKxH9RH=R$7L`nqiW7x>-tRv0&BH z{)zK0bjOzyJXRbk)nX)O*n zwy>)NEA@#fK4P)%{uAXU9B3G=W&B)QICEmZ~ zlZ!FYU_!m&)k%YByIP~zSKx!SfTBc7kv43W<>{Uxs{1hn+F75v$Xm*f=dPPDN)Q(c zHC7~B0xSnFRDQTs^S#*PeeIZ0>9)dHYmF1^t;IFtx>o>(TBaxVUj7dcg~r_CHs!-d zEvM6X514#)IDUN3Q{gz0 zxH$KJbu4@|8+lQ*eK53}w{Nbe)S|S7YKv#V%sCe#3(0@89T)ubQlCNRaiOZkU~+k1 zL+A-u7x#5$%pHUtL4!ULLjU`>|BC{#vGct@chV%B&W!q618~{VtOXsF-q5By(^zyS z1I@t%ArY)ls3>ufZ;I;E=lxprCF=u)QDm;(XU4PV`gXJuNF5rj05FDWKmbep=dgf27qE8!a(I5 ztzLXV@KU2_91dD>f$**o^RGa=kVQkFR~2q2^e|c&Fc1#!0F-MAd2Dn>?ZrX3z(U~y zv$dJqUjVq8K!QnH2!l5F4no+7DcX)<8sQVoVxU)`44a?;fWu4%D~uNoHI>CR&F$bS z1h~5)Y(9K4xZMdoTeO92~=l_7nF`D%cAHOMMQQ%v68oSC(oN5%8Q{z zF~DXzJD5SDBD64u7lTGW5c!B<534#-DVu%v|7R%R#MumUrTTWzj`;v$f?{6r;2#w) zk!lgT=HiCrI5L%2tND1!8KHcgbA{3B!vjN&?jKB@N@jCz%N zO7>umFsDXD@=G(kM>gI_^ZdB7DSafqwnMMkpm8v!NqRCn-=zL!>&c{T;xdX}FS+#( z2dUndX=O?`Z|>GH{E|0vc}i%mz^@1_dBH3?(moiSU^g{2b!8;>SLuPV^4fv1h_ORS zTANfH5>sM##)X`vC?;-6XY6{RULrGjbDS`$f8Qt~l`1~>Y3A2)!gJ-g*VFBizLA8EV>JW=~KfrwTjTSpEL&(ItAB1<2e`YlZ#C;rspkYuciE=;HNPHx`ez`uKGv)e!xL<%)fiE0RO#yO-jjhb zFo|0!eG<=hXd80 z<+e=n_i#ooq_u`{O)RF=3WJ#b!QD5>4Q|OTv&iU2dkvaoPuk-tf7`WhM1=cE+dFkiCqa)|n2dCVRSI>LYLiyU z6WU&TdEZj4tbi9^8id3o#j0zpAGbEQ-&slW@9Av*apo5{F5}JEv*}9x;;}E9A=xE_ zf^x&{FJ=x8U2^$NyHID@GY8sZ8H!D1jb3O?V{ywiAMg6Sq8w3r_iDvKvDKLIaGg?7 zrRF2r2hoxCf%1PYPdgr58++|YrNZaPBX|uk>G?6pr_Xf~E*wDJ>P{(k3K9XZj5+@w e9_n49B?OibSVCY4fh7c%5LiNB34#A70)GJy?QY}% literal 0 HcmV?d00001 diff --git a/src/track/taglib/trackmetadata_file.cpp b/src/track/taglib/trackmetadata_file.cpp index d2e92cc4983..53f88dd7cab 100644 --- a/src/track/taglib/trackmetadata_file.cpp +++ b/src/track/taglib/trackmetadata_file.cpp @@ -55,7 +55,7 @@ FileType getFileTypeFromFileName( if (QStringLiteral("mp3") == fileExt) { return FileType::MP3; } - if (QStringLiteral("m4a") == fileExt) { + if ((QStringLiteral("m4a") == fileExt) || (QStringLiteral("m4v") == fileExt)) { return FileType::MP4; } if (QStringLiteral("flac") == fileExt) {