m_pProcAmp->Set(VideoProcAmp_gain..) get Error code 0x80070079 (The semaphore timeout period has expired.)

Azkiel, Nir 1 Reputation point
2021-10-18T18:59:58.183+00:00

Hi,

I am communicating with a UVC device on Windows using Windows Media Foundation,

Sometimes when sending a lot of set gain commands I get HR=0x80070079 (The semaphore timeout period has expired.)

  1. What does this error mean at this context?
  2. Should I use some kind of event callback to set the gain and be notified when the command was preformed? (async control)

I tried looking on "Asynchronous Callback Methods" but failed to understand how they can be connected into a procamp->set method.

Thanks
Nir

Windows API - Win32
Windows API - Win32
A core set of Windows application programming interfaces (APIs) for desktop and server applications. Previously known as Win32 API.
2,420 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Xiaopo Yang - MSFT 11,336 Reputation points Microsoft Vendor
    2021-10-19T02:41:46.317+00:00

    Perhaps the device failed to process because of a lot of commands pending. But According to Configure the Video Quality, IAMVideoProcAmp works fine. It's needed to test whether this property is supported or not before setting video quality for a specified property.

    0 comments No comments

  2. Azkiel, Nir 1 Reputation point
    2021-10-19T06:19:10.833+00:00

    Regarding "It's needed to test whether this property is supported or not before setting video quality for a specified property."

    I am testing a loop of setting the gain,
    The control is supported cause I only get the error after lots of set/get.

    But as this control asynchronous, maybe it's needed to return from the set function only when the operation was finished.

    That is why I am searching for a way to register to a set event, currently without success.