MediaArea / MediaConch

MediaConch (funded by PREFORMA)
29 stars 11 forks source link

!= operator failures in v23.03 #235

Closed digitensions closed 9 months ago

digitensions commented 9 months ago

Hi Jérôme and team,

Not sure if this is a bug or a fault in the way I'm using MediaConch CLI. We've had a couple of rules we use against DPX that check the ColorSpace is RGB or Y. And later some rules that check ColorSpace is NOT RGBA, RGB / A etc. For these alpha checks I was using the '!=' operator and this has been discovered today to be failing whole DPX policy checks where the colour space is actually 'RGB' - and so the does not equal should return a pass and not a fail.

I've changed the operator now to 'must not exist' and things are running okay, but wanted to raise it in case it's a bug, or just an operator change between versions that might be helpful for others to be aware of.

Many thanks, Joanna

g-maxime commented 9 months ago

Hi, Maybe already fixed by MediaArea/MediaConch_SourceCode#765

Can you try 23.10 version or a recent snapshot?

digitensions commented 9 months ago

Will do, thank you!

digitensions commented 9 months ago

https://mediaarea.net/download/binary/mediaconch/23.10/mediaconch_23.10-1_amd64.xUbuntu_20.04.deb Attempted to install this version to ubuntu 20.04 LTS and just getting 23.07 version installing. Could you point me to the snapshots so I can test one of those? Sorry I can't find them temporarily.

JeromeMartinez commented 9 months ago

just getting 23.07 version installing

Weird, something wrong somewhere, but I can't get why.

In the meantime, you may install dev snapshots.

retokromer commented 9 months ago

@JeromeMartinez FYI: Same on macOS.

digitensions commented 9 months ago

Same again with binary, it installed 23.07: https://mediaarea.net/download/snapshots/binary/mediaconch/20231111/mediaconch_23.10.20231111-1_amd64.xUbuntu_20.04.deb

To confirm, I am installing with dpkg, and running dpkg --remove mediaconch before reinstalling again. Could it be something in one of my libraries holding the installation back?

And sorry to hit you with this today, everyone is tired! :)

JeromeMartinez commented 9 months ago

seeing https://github.com/MediaArea/MediaConch_SourceCode/pull/771/files, it seems that it is only a display issue, so it should be fine about the fix, @digitensions please test the != thing.

g-maxime commented 9 months ago

For the "23.07", the header was not updated in the latest release.

Tried to reproduce the != bug with a simple policy but the result is as expected. Can you share your policy?

Also, use the -f flag to ensure the report is regenerated with the latest version.

My test policy (for an .ogg file): <?xml version="1.0"?>

<policy type="and" name="Invert Match">
  <rule name="Should Pass" value="Format" tracktype="General" occurrence="*" operator="!=">ANYTHINGELSE</rule>
  <rule name="Should Fail" value="Format" tracktype="General" occurrence="*" operator="!=">Ogg</rule>
</policy>

Result:

<MediaConch xmlns="https://mediaarea.net/mediaconch" xmlns:mmt="https://mediaarea.net/micromediatrace" xmlns:mi="https://mediaarea.net/mediainfo" version="0.3">
  <creatingApplication version="23.07" url="https://mediaarea.net/MediaConch">MediaConch</creatingApplication>
  <creatingLibrary version="23.10" url="https://mediaarea.net/MediaInfo">MediaInfoLib</creatingLibrary>
  <media ref="Example.ogg">
    <policy name="Invert Match" type="and" rules_run="2" pass_count="1" info_count="0" warn_count="0" fail_count="1" outcome="fail">
      <rule name="Should Pass" value="Format" tracktype="General" occurrence="*" operator="!=" xpath="mi:MediaInfo/mi:track[@type='General'][*]/mi:Format" requested="ANYTHINGELSE" actual="Ogg" outcome="pass"/>
      <rule name="Should Fail" value="Format" tracktype="General" occurrence="*" operator="!=" xpath="mi:MediaInfo/mi:track[@type='General'][*]/mi:Format" requested="Ogg" actual="Ogg" outcome="fail"/>
    </policy>
  </media>
</MediaConch>
digitensions commented 9 months ago

Sure, the policy is our public policy for checking DPX metadata but I update it to the 'must not exist': https://github.com/bfidatadigipres/dpx_encoding/blob/main/rawcooked_dpx_policy.xml I'll run a test now and confirm success. Thank you very much for confirming installation versions.

digitensions commented 9 months ago

My two failing DPX samples yesterday have passed today with the new snapshot installation metioned above. Many thanks for the information! I'll revert my policies to use '!=', unless the 'must not exist' doesn't conflict a similarly named item in the same field. Unsure of their operational differences.

Thanks so much, and AWESOME conference Media Area! :)