WebPlatformForEmbedded / WPEWebKit

WPE WebKit port (downstream)
213 stars 136 forks source link

Skip decryption in case of cbcs without subsamples #1396

Closed jacek-manko-red closed 3 weeks ago

jacek-manko-red commented 1 month ago

YT EME testcases: AC3AudioCbcs and EAC3AudioCbcs are failing because ocdm is trying to decrypt samples which are actually clear, unencrypted. Skip decryption for those cases

calvaris commented 1 month ago

I am taking over this, as I had some cbcs issues pending and I want to study this in depth.

calvaris commented 4 weeks ago

You need to elaborate more because I am running those tests on the RPi (after enabling the AV ac3 codec) and I am not getting the protection meta in the buffer, which means that the transformation function bails out very early at

    GstProtectionMeta* protectionMeta = reinterpret_cast<GstProtectionMeta*>(gst_buffer_get_protection_meta(buffer));
    if (!protectionMeta) {
        GST_TRACE_OBJECT(self, "Buffer %p does not contain protection meta, not decrypting", buffer);
        return GST_FLOW_OK;
    }
jacek-manko-red commented 4 weeks ago

Interesting - I am getting GstProtectionMeta in the buffers. Must be a difference in qtdemux then. Which version of gstreamer are you using on RPi?

jacek-manko-red commented 4 weeks ago

It's probably because we're missing this: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/5114fb41700b236d645838922d3e166791be464c

calvaris commented 3 weeks ago

It's probably because we're missing this: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/5114fb41700b236d645838922d3e166791be464c

Yes, it is most likely that. I'm closing this. Please reply if the problem persists.