How can I get information about objects and nodes in Protected Playback

Hello to everyone!

Main question is: Is it possible to get information about objects and nodes in

Protected Playback sample

Description:

I can get information about all tolopology, object and nodes in Basic Playback sample.

But it is impossible to me to get information about this in Protected Playback sample.

Maybe it is because there are some encrypted objects

I have special program to get topology, this is it's main code:

IMFMediaSession* p_pSession // it is "in" argument in that programm

IMFTopology* v_pTopology= NULL;

IMFTopologyNode* v_pTopologyNode= NULL;

v_hrResult= p_pSession->GetFullTopology(MFSESSION_GETFULLTOPOLOGY_CURRENT,0, &v_pTopology);

v_pTopology->GetNodeCount(&v_wNodeCount);

CComPtr<IUnknown> v_piUnknown;

CComQIPtr<IMFTransform> v_piTransform;

v_hrResult= v_pTopologyNode->GetObject(&v_piUnknown);
v_piTransform= v_piUnknown; //main part

DWORD v_dwInputStreams;
DWORD v_dwOutputStreams;
v_hrResult= v_piTransform->GetStreamCount(&v_dwInputStreams, &v_dwOutputStreams);
...

The problem is that in Protected Playback sample v_piUnknown and v_piTransform interfaces does not understand each other. v_piTransform is NULL, while v_piUnknown is not.



Answer this question

How can I get information about objects and nodes in Protected Playback

  • meddy

    When you're running the Protected Playback sample (or, generally, when the PMP Media Session is being used), this topology you get back will be a pointer to a topology that exists in a different process (mfpmp.exe). Which means that you'll naturally be limited in what kinds of calls you can make to its objects (which also exist in the remote process).

    The question is what you're trying to do with this information; for instance, there are ways you can have your code participate more actively in the topology resolution process, even if this is going on in a remote process.



  • How can I get information about objects and nodes in Protected Playback