[vlc-devel] Append metadata to block_t
Vladimir Davydov
davydov.vladimir at gmail.com
Sat Jul 14 00:28:55 CEST 2018
> Le 13/07/2018 à 14:25, Vladimir Davydov a écrit :
> >> You'll need to configure decryption on es using ES control (decryption
> >> modules will be handled before decoder), and provide per sample
> >> parameters.
> >
> > Do you mean separate module which decrypts samples and passes it to
> > decoder
> > module?
>
> You can't do decryption in every module since demuxers are not always
> connected directly to decoders. There can be many layers between
> (adaptive add layers).
Yes, you are right. But I don't understand how will it work in case of Android
MediaCodec/MediaDrm API.
Let me remind. In case of Android MediaCodec API, we have to pass sample data
to MediaCodec by using queueInputBuffer() as already implemented in
mediacodec_jni/ndk.c.
For encrypted samples, we just need to setup keys before and use
queueSecureInputBuffer() which takes sample buffer and metadata with IV
(different for each sample).
So, I don't see any special module to decrypt Widevine protected stream. Also,
we cannot get decrypted samples in case of Widevine (L1 and L2 security layers
forbid it).
> Also, in the adaptive case, most of the decryption parameters can be
> stored in manifest, unavailable to the demuxer.
Yes, that is another clue for me. How to pass decryption parameters from
adaptive demuxer to another module? Could you please show me any example in
the current code?
>
> See vlc_ancillary topics July/June
> https://mailman.videolan.org/pipermail/vlc-devel/
Thanks! I have read it all. I didn't find good solution for my case. Your
patch is nice for me and I don't see serious design problems with it.
Best regards,
Vladimir
More information about the vlc-devel
mailing list