Closed Bug 762201 Opened 12 years ago Closed 12 years ago

FTBFS without MOZ_MEDIA defined

Categories

(Core :: Audio/Video, defect)

x86_64
Linux
defect
Not set
normal

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).
Attached file sample build config with --enable-raw (deleted) —
I've only tested the two config on Linux x86_64, but I believe this is a cross platform failure.
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
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 :(
FWIW, this worked fine in Mozilla 10. I see the problem too with 17.0b3.
Depends on: 857022
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.

Attachment

General

Created:
Updated:
Size: