Would agree on putting in in the properties too, I will look into that. I am just finishing the MP4 reading part right now...<br><br><div class="gmail_quote">2011/3/29 Lukáš Lalinský <span dir="ltr">&lt;<a href="mailto:lalinsky@gmail.com">lalinsky@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On Tue, Mar 29, 2011 at 2:28 PM, Martijn van Rheenen &lt;<a href="mailto:rheenen@gmail.com">rheenen@gmail.com</a>&gt; wrote:<br>


&gt; MP4 DRM protection:<br>
&gt; Something with a &#39;drms&#39; atom should be detected, if it&#39;s present, the file<br>
&gt; is DRM protected. But I can not find proper documentation on the MP4<br>
&gt; fileformats to know where to find this atom (I know it should be in the<br>
&gt; &#39;moov&#39; atom, but then the info I found stops...)<br>
<br>
</div>It seems to be at moov.trak.mdia.minf.stbl.stsd.drms. Just checking<br>
for the presence of the atom should be probably enough. I&#39;ve tried it<br>
on a file that I found somewhere and it seems to work.<br>
<br>
<a href="https://github.com/lalinsky/taglib/commit/97cd58bc" target="_blank">https://github.com/lalinsky/taglib/commit/97cd58bc</a><br>
<div class="im"><br>
&gt; WMA DRM protection:<br>
&gt; In TagLib&#39;s asffile.cpp you could add to the list of ByteVector&#39;s at the<br>
&gt; near-top of the file:<br>
&gt; static ByteVector<br>
&gt; asfContentEncryptionGuid(&quot;\x22\x11\xB3\xFB\xBD\x23\x11\xD2\xB4\xB7\x00\xA0\xC9\x55\xFC\x6E&quot;);<br>
&gt; static<br>
&gt; ByteVector asfExtendedContentEncryptionGuid(&quot;\x29\x8A\xE6\x14\x26\x22\x4C\x17\xB9\x35\xDA\xE0\x7E\xE9\x28\x9C&quot;);<br>
&gt; Then in ASF::File::read():<br>
&gt; Change:<br>
&gt; else {<br>
&gt;   obj = new UnknownObject(guid);<br>
&gt; }<br>
&gt; To:<br>
&gt; else {<br>
&gt;   if (guid == contentEncryptionGuid || guid ==<br>
&gt; extendedContentEncryptionGuid) {<br>
&gt;     d-&gt;tag-&gt;setDRMProtected(true);<br>
&gt;   }<br>
&gt;   obj = new UnknownObject(guid);<br>
&gt; }<br>
<br>
</div>This part seems fine, but I think that the information should go into<br>
ASF::Properties, not ASF::Tag (especially not defining a new WM<br>
attribute). Any chance you have a file I can test this against?<br>
<div><div></div><div class="h5"><br>
Lukas<br>
_______________________________________________<br>
taglib-devel mailing list<br>
<a href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>
</div></div></blockquote></div><br>