Showing the PS3Eye filter-settings page
Posted: 18 March 2016 01:13 AM   [ Ignore ]
New Member
Rank
Total Posts:  1
Joined  2016-03-14

Hello All,

I am using DirectShow to get video-data from the PS3Eye and it works fine.

Now I also want to add a button to my form, which displays the Camera (or Filter) settings dialog. You know, the one that is also shown when using the “Video Capture Filter” button of the PS3Eye Test software.

The code I use to show the dialog is “standard DirectX” and was adapted by Theo Watson in his videoInput library:

// ----------------------------------------------------------------------
// Show the property pages for a filter
// This is stolen from the DX9 SDK
// ----------------------------------------------------------------------

HRESULT videoInput::ShowFilterPropertyPages(IBaseFilter *pFilterHWND hWindow){

    ISpecifyPropertyPages 
*pProp;
    
HRESULT hr pFilter->QueryInterface(IID_ISpecifyPropertyPages, (void **)&pProp;);
    if (
SUCCEEDED(hr))
    
{
        
// Get the filter's name and IUnknown pointer.
        
FILTER_INFO FilterInfo;
        
hr pFilter->QueryFilterInfo(&FilterInfo;);
        if (!
SUCCEEDED(hr))
        
{
            
return hr;
        
}

        IUnknown 
*pFilterUnk;
        
hr pFilter->QueryInterface(IID_IUnknown, (void **)&pFilterUnk;);
        if (!
SUCCEEDED(hr))
        
{
            
return hr;
        
}

        
// Show the page.
        
CAUUID caGUID;
        
pProp->GetPages(&caGUID;);
        
pProp->Release();

        
hr OleCreatePropertyFrame(
            
hWindow,                // Parent window
            
00,                   // Reserved
            
FilterInfo.achName,     // Caption for the dialog box
            
1,                      // Number of objects (just the filter)
            
&pFilterUnk;,            // Array of object pointers.
            
caGUID.cElems,          // Number of property pages
            
caGUID.pElems,          // Array of property page CLSIDs
            
0,                      // Locale identifier
            
0NULL                 // Reserved
        
);

        
// Clean up.
        
if(pFilterUnk)pFilterUnk->Release();
        if(
FilterInfo.pGraph)FilterInfo.pGraph->Release();
        
CoTaskMemFree(caGUID.pElems);
    
}
    
return hr;

The dialog shows fine and is exactly the same as the one from PS3Eye Test. But: all controls on the dialog are disabled and seem disconnected from the camera.

Can anyone help me with this? The developers of the PS3Eye test-software can maybe check their source-code to see, what is different?

Thanks in advance!

Profile
 
 
 
 


RSS 2.0     Atom Feed