Ticket #1331 (closed defect: fixed)
error: unknown type name 'VIDEO_STREAM_CONFIG_CAPS'
| Reported by: | KSHawkEye | Owned by: | |
|---|---|---|---|
| Priority: | important | Component: | avdevice |
| Version: | git-master | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | yes |
Description
Hi,
I'm getting this error when trying to compile FFmpeg with the latest MinGW-w64:
/home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.h:35:1: error: unknown type name 'VIDEO_STREAM_CONFIG_CAPS' /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.h:36:1: error: unknown type name 'AUDIO_STREAM_CONFIG_CAPS' /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c: In function 'dshow_cycle_formats': /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:355:13: error: unknown type name 'VIDEO_STREAM_CONFIG_CAPS' /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:374:29: error: request for member 'MinOutputSize' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:374:54: error: request for member 'MinOutputSize' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:375:35: error: request for member 'MaxFrameInterval' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:376:29: error: request for member 'MaxOutputSize' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:376:54: error: request for member 'MaxOutputSize' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:377:35: error: request for member 'MinFrameInterval' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:383:38: error: request for member 'MaxFrameInterval' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:384:38: error: request for member 'MinFrameInterval' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:389:50: error: request for member 'MaxOutputSize' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:390:50: error: request for member 'MinOutputSize' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:391:50: error: request for member 'MaxOutputSize' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:392:50: error: request for member 'MinOutputSize' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:398:13: error: unknown type name 'AUDIO_STREAM_CONFIG_CAPS' /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:410:29: error: request for member 'MinimumChannels' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:410:53: error: request for member 'MinimumBitsPerSample' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:410:82: error: request for member 'MinimumSampleFrequency' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:411:29: error: request for member 'MaximumChannels' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:411:53: error: request for member 'MaximumBitsPerSample' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:411:82: error: request for member 'MaximumSampleFrequency' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:415:45: error: request for member 'MaximumSampleFrequency' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:416:45: error: request for member 'MinimumSampleFrequency' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:421:45: error: request for member 'MaximumBitsPerSample' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:422:45: error: request for member 'MinimumBitsPerSample' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:427:42: error: request for member 'MaximumChannels' in something not a structure or union /home/kyle/software/ffmpeg/source/ffmpeg-git/libavdevice/dshow.c:428:42: error: request for member 'MinimumChannels' in something not a structure or union make: *** [libavdevice/dshow.o] Error 1
I posted on the MinGW-w64 mailing list and was told this:
That's because your libavdevice/dshow.h is misfortunately named
"dshow.h". It is attempting to include system's dshow.h by an
#include directive, which is wrong: you should use #include_next
instead (or rename the header). If system's dshow.h is included,
it includes strmif.h by itself and the missing data type will be
there.
I'm using the latest FFmpeg git source.
I can provide any further information needed, a quick fix for this would be much appreciated.
Best regards,
Kyle Schwarz
Change History
comment:2 in reply to: ↑ 1 Changed 12 months ago by KSHawkEye
Replying to cehoyos:
Is this a regression or did compilation never succeed on MinGW64?
I used to have no issues compiling FFmpeg before I updated my MinGW-w64 tool chain.
comment:3 Changed 12 months ago by michael
- Analyzed by developer set
- Status changed from new to open
I suspect the problem occurs due to the libavcodec source directory with the private dshow.h header ending somehow in the systems headers search path.
A workaround would be to rename libavcodec/dshow.h.
I think we should rename the header to make it more robust. Can you submit a patch for that ? (i cant easily test dshow so its better you make this change and test it instead of me blindly doing it)
thanks



Is this a regression or did compilation never succeed on MinGW64?