Closed
Bug 762201
Opened 12 years ago
Closed 12 years ago
FTBFS without MOZ_MEDIA defined
Categories
(Core :: Audio/Video, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: vicamo, Unassigned)
References
Details
Attachments
(2 files)
Changes committed in js/xpconnect/src/nsDOMQS.h in bug 748266 indirectly include nsMediaDecoder.h that may not be exported and cause build failure as below:
In file included from ../../../dist/include/nsHTMLVideoElement.h:10:0,
from /home/vicamo/WorkSpace/mozilla/b2g/x86_64-unknown-linux-gnu/js/xpconnect/src/nsDOMQS.h:13,
from /home/vicamo/WorkSpace/mozilla/b2g/x86_64-unknown-linux-gnu/obj-x86_64-unknown-linux-gnu/js/xpconnect/src/dom_quickstubs.cpp:151:
../../../dist/include/nsHTMLMediaElement.h:11:28: fatal error: nsMediaDecoder.h: No such file or directory
compilation terminated.
make[6]: *** [dom_quickstubs.o] Error 1
The nsMediaDecoder.h file resides in content/media, which is only processed when MOZ_MEDIA is defined (see content/Makefile.in). If you just happen to create some minimum build config that disables all media support, your build will fail as shown above.
Besides, it also fails when you add --enable-raw only:
In file included from ../../../dist/include/nsMediaDecoder.h:12:0,
from ../../../dist/include/nsHTMLMediaElement.h:11,
from ../../../dist/include/nsHTMLVideoElement.h:10,
from /home/vicamo/WorkSpace/mozilla/b2g/x86_64-unknown-linux-gnu/js/xpconnect/src/nsDOMQS.h:13,
from /home/vicamo/WorkSpace/mozilla/b2g/x86_64-unknown-linux-gnu/obj-x86_64-unknown-linux-gnu/js/xpconnect/src/dom_quickstubs.cpp:151:
../../../dist/include/MediaStreamGraph.h:10:27: fatal error: nsAudioStream.h: No such file or directory
compilation terminated.
make[6]: *** [dom_quickstubs.o] Error 1
content/media/nsAudioStream.h is only exported when MOZ_SYDNEYAUDIO is defined, but it is always included by content/media/MediaStreamGraph.h (see content/media/Makefile.in).
Reporter | ||
Comment 1•12 years ago
|
||
Reporter | ||
Comment 2•12 years ago
|
||
Reporter | ||
Comment 3•12 years ago
|
||
I've only tested the two config on Linux x86_64, but I believe this is a cross platform failure.
Comment 4•12 years ago
|
||
See also 760968.
But is sounds like in this case the real issue is that the media headers are slightly confused around all the (superfluous, imo) ifdefs we have there.
Component: DOM → Video/Audio
QA Contact: general → video.audio
Reporter | ||
Comment 5•12 years ago
|
||
It seems not just header ifdefs to be blamed, but also the whole implementation is related. For example, class MediaStream has a member named mAudioOutput of type nsRefPtr<nsAudioStream>. You still have to reference AudioStream somewhere unless this member can be totally removed/disable under that minimum build config. However, I don't think that's possible after having a quick review in MediaStream.cpp :(
Comment 6•12 years ago
|
||
FWIW, this worked fine in Mozilla 10. I see the problem too with 17.0b3.
Comment 7•12 years ago
|
||
Resolving. We took the BOFH solution and removed the MOZ_MEDIA switch.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•