We need to fire the needkey event from the main thread. Try to retrieve the DRM challenge from the GStreamer element and use this as initdata.