// After the capture properties dialog has been invoked, void GetNearestCaptureInputSelection(IltmmCapture *pCapture) { IltmmCaptureInputs *pInputs; long index, count; pCapture->get_VideoInputs(&pInputs); pInputs->get_Count(&count); if (count > 0) { pInputs->get_Selection(&index); if (index == -1) { if (MessageBox(NULL, TEXT("The video input has been altered without changing other related inputs. Would you like the other related inputs changed automatically?"), TEXT("Capture Inputs"), MB_YESNO) == IDYES) { // get the closest selection and use it; // this will fix the problem of unmatched audio/video inputs. pInputs->get_NearestSelection(&index); pInputs->put_Selection(index); } } } pInputs->Release(); }