Opened 12 years ago

Closed 12 years ago

#1331 closed defect (fixed)

error: unknown type name 'VIDEO_STREAM_CONFIG_CAPS'

Reported by: Kyle 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 (5)

comment:1 by Carl Eugen Hoyos, 12 years ago

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

in reply to:  1 comment:2 by Kyle, 12 years ago

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 by Michael Niedermayer, 12 years ago

Analyzed by developer: set
Status: newopen

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

comment:4 by Michael Niedermayer, 12 years ago

Priority: criticalimportant

comment:5 by Michael Niedermayer, 12 years ago

Resolution: fixed
Status: openclosed

Patch applied (without the configure change which looked wrong)

please test!

Note: See TracTickets for help on using tickets.