Compilation error in gecko/dom/media/eme/CDMCaps.h

RESOLVED FIXED in Firefox 37

Status

defect
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: anshulj, Assigned: mwu)

Tracking

unspecified
2.2 S2 (19dec)
ARM
Gonk (Firefox OS)
Dependency tree / graph

Firefox Tracking Flags

(blocking-b2g:2.2+, firefox35 wontfix, firefox36 wontfix, firefox37 fixed, b2g-v2.2 fixed)

Details

Attachments

(1 attachment, 2 obsolete attachments)

(Reporter)

Description

4 years ago
On firefox OS I am seeing a compilation error. 

gecko/dom/media/eme/CDMCaps.h is not able to find SamplesWaitingForKey.h. This seems like an issue due to bug 1109861.
(Reporter)

Comment 1

4 years ago
make[6]: *** [Unified_cpp_layout_generic3.o] Error 1
make[5]: *** [layout/generic/target] Error 2
make[5]: *** Waiting for unfinished jobs....
libhost_breakpad_common_s.a
In file included from ../../../dist/include/mozilla/CDMProxy.h:16:0,
                 from ../../../dist/include/MediaDecoder.h:199,
                 from ../../../dist/include/MediaDecoderStateMachine.h:87,
                 from /local/mnt/workspace/anshulj/lf.bf.1.1/gecko/dom/media/webm/SoftwareWebMVideoDecoder.cpp:9,
                 from /local/mnt/workspace/anshulj/lf.bf.1.1/out/target/product/msm8610/obj/objdir-gecko/dom/media/webm/Unified_cpp_dom_media_webm0.cpp:2:
../../../dist/include/mozilla/CDMCaps.h:16:34: fatal error: SamplesWaitingForKey.h: No such file or directory
 #include "SamplesWaitingForKey.h"
Posted patch Potential fix? (obsolete) — Splinter Review
What compiler and version and host OS are you using? It's building on our build-infrastructure fine...

You could try a clobber, and if that doesn't work, try this patch to remove the (unnecessary) #include dependency...
Attachment #8536214 - Flags: feedback?(anshulj)
(Reporter)

Comment 3

4 years ago
I am using Ubuntu 12.04 with arm-linux-androideabi-g++ (GCC) 4.8. Please note that this error only happens with GCC version 4.8 for Android L based build. For Android KK based build that uses GCC 4.7 I don't see the issue.
(Reporter)

Comment 4

4 years ago
Chris, FYI your patch didn't fix the issue.
(Reporter)

Updated

4 years ago
Attachment #8536214 - Flags: feedback?(anshulj) → feedback-
Posted patch Patch: potential fix 2 (obsolete) — Splinter Review
You could try this.

I don't have access to the configuration that you're building with, so the fasted way to get this fixed will probably be for you to upload a patch...
Attachment #8536214 - Attachment is obsolete: true
Attachment #8536908 - Flags: feedback?(anshulj)
(In reply to Chris Pearce (:cpearce) from comment #5)
> Created attachment 8536908 [details] [diff] [review]
> Patch: potential fix 2
> 
> You could try this.
> 
> I don't have access to the configuration that you're building with, so the
> fasted way to get this fixed will probably be for you to upload a patch...

After applying this patch, I still have this issue:
...
message_pump_libevent.o
platform_file_posix.o
libbreakpad_common_s.a.desc
Unified_cpp_media_mediasource0.o
platform_thread_posix.o
In file included from ../../../dist/include/mozilla/CDMProxy.h:16:0,
                 from /B2G-L/gecko/dom/media/mediasource/SourceBufferDecoder.h:15,
                 from /B2G-L/gecko/dom/media/mediasource/MediaSourceReader.cpp:15,
                 from /B2G-L/objdir-gecko/dom/media/mediasource/Unified_cpp_media_mediasource0.cpp:29:
../../../dist/include/mozilla/CDMCaps.h:16:34: fatal error: SamplesWaitingForKey.h: No such file or directory
 #include "SamplesWaitingForKey.h"
                                  ^
compilation terminated

Thanks.
Blocks: gonk-L
Do you have a file dom/media/fmp4/eme/SamplesWaitingForKey.h in your gecko?
(Reporter)

Comment 8

4 years ago
Chris the problem is that CDMProxy.h file gets copied over to out/target/product/msm8610/obj/objdir-gecko/dist/include/mozilla but SamplesWaitingForKey.h that CDMProxy.h includes does not. I tried updating the moz.build file at dom/media/fmp4/eme to use EXPORTS.mozilla but that didn't help.
Flags: needinfo?(cpearce)
Why don't you have a SamplesWaitingForKey.h in your objectdir?

What profile did you configure with in B2G's ./config.sh script?
Flags: needinfo?(dwilson)
Flags: needinfo?(anshulj)
I don't have a lollipop device, so I can't build and thus reproduce and debug this issue myself. You might want to seek help from one of the build peers, their psychic powers may be stronger than mine.

You could try setting "ac_add_options --disable-eme" to your gecko's .mozconfig to prevent this code being built in the first place as a work around.
Flags: needinfo?(cpearce)
(In reply to Chris Pearce (:cpearce) from comment #9)
> What profile did you configure with in B2G's ./config.sh script?

We are working on the Android Lollipop integration effort [1]. I believe you can use the nexus-5 configuration for this.

> Why don't you have a SamplesWaitingForKey.h in your objectdir?

We were hoping you would help us answer this since you added the dependency.


[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1094121
Flags: needinfo?(dwilson)
(In reply to Chris Pearce (:cpearce) from comment #10)
> I don't have a lollipop device, so I can't build and thus reproduce and
> debug this issue myself. You might want to seek help from one of the build
> peers, their psychic powers may be stronger than mine.

Kai-Zhen or Askeing, looks like the media guys need help verifying changes on Android L (Nexus 5). I see you active on bug 1094121. Are you the right people to help here from Mozilla's side?
Flags: needinfo?(kli)
Flags: needinfo?(fyen)
(Assignee)

Comment 13

4 years ago
EME doesn't work without FMP4 support. Let's not bother with EME if the build doesn't have FMP4 enabled.
Assignee: nobody → mwu
Attachment #8536908 - Attachment is obsolete: true
Attachment #8536908 - Flags: feedback?(anshulj)
Attachment #8537562 - Flags: review?(mh+mozilla)
(In reply to Michael Wu [:mwu] from comment #13)
> Created attachment 8537562 [details] [diff] [review]
> Disable EME if FMP4 is disabled
> 
> EME doesn't work without FMP4 support. Let's not bother with EME if the
> build doesn't have FMP4 enabled.

Great! This patch works on my Android-L build.
(Reporter)

Comment 15

4 years ago
The patch works for me as well. Thank you.
Flags: needinfo?(anshulj)
Why is MOZ_FMP4 not defined for Android-L builds? We should probably be adding something to this configure block to ensure the MOZ_FMP4 is enabled:

http://mxr.mozilla.org/mozilla-central/source/configure.in#274

Otherwise we won't get Media Source Extensions and Encrypted Media Extensions on FirefoxOS, and I'm pretty sure people actually do want that on FirefoxOS...
(In reply to Chris Pearce (:cpearce) from comment #16)
> Why is MOZ_FMP4 not defined for Android-L builds? 

We're still in l bringup.  Eventually clearly this needs to be enabled, but not before OMX video is up.
Attachment #8537562 - Flags: review?(mh+mozilla) → review+
please provide the STR then we can help to verify.
Flags: needinfo?(fyen)
https://hg.mozilla.org/mozilla-central/rev/655536bc9ccd
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
The issue was solved.
Flags: needinfo?(kli)
blocking-b2g: 2.2? → 2.2+
Target Milestone: --- → 2.2 S2 (19dec)

Updated

4 years ago

Updated

4 years ago
No longer blocks: CAF-v3.0-FL-metabug
You need to log in before you can comment on or make changes to this bug.