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.

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.