WM Encoder 9 SDK: controlling brightness, contrast, etc. RRS feed

  • Question

  • Is there a way to obtain a video source plugin (or any other means) from IWMEncVideoSource to control the video brightness etc.? IWMEncVdeoSource.GetSourcePlugin() returns a IUnknown*, which I presume needing to QueryInterface to "something else"

    The video capture card hardware has a DirectShow driver. However, currently I (still) need to use WMESDK9 to implement a video encoder. I had browsed through the WME9 document but there is no mention of any interface equivalent to the DirectShow's ProcAmp feature.

    Another problem is from that capture card and its driver. If I try to directly query (via DirectShow API) the IBaseFilter of the card's video capture device, I "believe" a separate instance of the same capture device is created, which means I cannot use such IBaseFilter to control the "video source" created via WME9. For some types of capture cards (e.g. Winnov), I can use this method (i.e. obtaining a separate IBaseFilter for the same capture device) and it works perfectly well.

    Is there any suggestion?


    Wednesday, December 8, 2010 2:48 PM

All replies

  • Have you tried querying the IUnknown* returned by WME9 for IBaseFilter?

    MVP :: DirectShow / MediaFoundation <>
    Thursday, December 9, 2010 5:21 PM
  • Yes, I did, and returned NULL.

    Matter of fact, I had opened a support case with Micorsoft regarding "retrieving IBaseFilter (or any DirectShow filter) from any WME9 component". The answer they gave me was that WME9 uses DMO and does not expose any interface compatible with DirectShow; in short, no direct talk between WME9 and DirectShow.

    I guess I have to give up doing it via programming level, and popup the video device's config window to do that, which I truly prefer not.

    Thanks for youre help anyway.


    Friday, December 10, 2010 1:00 PM