embedded camera driver; UVC descriptors: MMF producing error 0x80070491, DirectShow OK

Benh 1 Reputation point
2020-09-30T13:35:30.857+00:00

We are developing a camera. We have two resolution versions, low res 384 x 290 and medium res 640 x 481.
The low and medium versions work with DirectShow (either GraphEdt or VLC) on Win10.
The low res works with Windows Camera, but not the med res one, on playing it give the error 0x80070491 (which is error unknown)
I've built the Windows SDK SimpleCapture app to debug, but I just get a Windows event with the code 0x80070491 as before on start of playback.
I've run MFTrace on this app, but it's the same error with noting I can see as useful additional information.
The low res looks fine in SimpleCapture.
I've tried the Windows Classic Samples - CaptureEngine too.
This throws the same error at
OnCaptureEvent()
guidType == MF_CAPTURE_ENGINE_ERROR
Line 295 capture.cpp

I've also tried MFCaptureD3D and the error is the same.

The initialisation functions all work, extracting the video properties, but the play function fails immediately by causing the event with error 0x80070491 .

I've compared the advertise UVC properties from both low res and med res and they are identical apart from the width, height and framesize.
The video format is YUY2.
DirectShow handles both OK, and there is no difference in the resultant filter graph.
I've tried the cameras with Linux and both work OK with standard UVC driver.

Any clues as to how to debug further? Issues to look out for?
Are odd line numbers a issue for MF?

Does the min max bitrate UVC descriptor matter in uncompressed raw video?

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,502 questions
{count} votes