Sample pointer encryption between decryptor & decoder RRS feed

  • Question

  • Is sample pointer encryption mandated in PMP?

    Where does the decryptor or decoder get the certificate requried for handshake with media session?

    What exactly is encrypted? The IMFSample pointer or the buffer pointer within IMFSample? In other words, what does the pSample (IMFSample *) parameter contain when media session calls ProcessInput/Output on the decryptors or decoders?



    Wednesday, March 7, 2007 2:38 AM


  • Sample protection is not required all the time for everything.  It's required only when the content you're playing is protected (specifically, when some stream from the Media Source has the MF_SD_PROTECTED set on its IMFStreamDescriptor).  And only when the upstream node requests it for its output (via IMFSampleProtection::GetOutputProtectionVersion).  And only when the upstream node implements IMFSecureChannel.  This whole thing can be thought of as a contract between the upstream and downstream nodes.  If you own both the upstream and the downstream nodes, then you're free to not do it at all, and you're in charge of the handshake, too. 


    It's the IMFSample * that gets encrypted.

    Monday, June 4, 2007 6:38 PM