Closed
Bug 1137515
Opened 10 years ago
Closed 10 years ago
Enable WebRTC on Lollipop Gonk
Categories
(Core :: WebRTC, defect)
Tracking
()
People
(Reporter: diego, Assigned: sotaro)
References
Details
(Keywords: verifyme, Whiteboard: [caf priority: p1][CR 801198])
Attachments
(3 files, 4 obsolete files)
(deleted),
patch
|
mwu
:
review+
bajaj
:
approval-mozilla-b2g37+
|
Details | Diff | Splinter Review |
(deleted),
text/plain
|
Details | |
(deleted),
patch
|
sotaro
:
review+
|
Details | Diff | Splinter Review |
MOZ_WEBRTC was disabled during Lollipop bring up [1]. It's time to bring it back!
I get several WebrtcOMXH264VideoCodec.cpp compilation errors when I try building it [2].
[1] https://mxr.mozilla.org/mozilla-central/source/configure.in#5112
[2] https://pastebin.mozilla.org/8823524
Reporter | ||
Comment 1•10 years ago
|
||
Hey Randell,
Do you know who can take a look at this?
blocking-b2g: --- → 2.2?
Flags: needinfo?(rjesup)
Hardware: x86 → ARM
Reporter | ||
Updated•10 years ago
|
Blocks: CAF-v2.2-metabug
Updated•10 years ago
|
Whiteboard: [CR 801198]
Updated•10 years ago
|
Whiteboard: [CR 801198] → [caf priority: p2][CR 801198]
Comment 2•10 years ago
|
||
I'll try to look at it, thanks (or have someone do so).
Flags: needinfo?(rjesup)
Comment 3•10 years ago
|
||
Hi Randell,
Thanks for taking this on. How's this progressing? We track these CAF issues weekly and haven't seen an update here in 5 days.
Thanks,
Mike
Flags: needinfo?(rjesup)
Updated•10 years ago
|
blocking-b2g: 2.2? → 2.2+
Assignee | ||
Comment 4•10 years ago
|
||
I confirmed the build failure on nexus-5-l build. I take a look.
Assignee: nobody → sotaro.ikeda.g
Assignee | ||
Comment 5•10 years ago
|
||
Assignee | ||
Comment 6•10 years ago
|
||
Attachment #8573283 -
Attachment is obsolete: true
Assignee | ||
Comment 7•10 years ago
|
||
Comment 8•10 years ago
|
||
sotaro: what can I do to help? Do these patches cover the entire thing?
Flags: needinfo?(rjesup) → needinfo?(sotaro.ikeda.g)
Assignee | ||
Comment 9•10 years ago
|
||
(In reply to Randell Jesup [:jesup] from comment #8)
> sotaro: what can I do to help? Do these patches cover the entire thing?
Thanks for your offer! If I faced the problem that realted to general WebRTC things, I am going to ask your help.
The patches fixed the build failure, but getUserMedia still do not work. It seems related to gonk dependent problem. I am going to investigate about it.
Flags: needinfo?(sotaro.ikeda.g)
Assignee | ||
Comment 10•10 years ago
|
||
Disable InitDirectMediaBuffer() on lollipop. This is a hack added by bug 938034 for camera recording capability via gUM. It uses GonkCameraSource for recording high resolution and correct time stamp video farmes. GonkCameraSource request video data as non-metadata mode, but some hardware like neuxu-5 seems to support only by metadata mode.
By the patch, I conformed that the following sample works.
http://webrtc.github.io/samples/src/content/getusermedia/gum/
Attachment #8573354 -
Attachment is obsolete: true
Assignee | ||
Comment 11•10 years ago
|
||
But with applying the patches, trying WebRTC caused a crash under nss_InitModules(). I test it by using the following sample.
http://webrtc.github.io/samples/src/content/peerconnection/pc1/
Assignee | ||
Comment 12•10 years ago
|
||
crash stack of comment 11
Assignee | ||
Comment 13•10 years ago
|
||
GDB actually showed the following when the crash happen. The symptom seems similar to bug 974227.
> Program received signal SIGSYS, Bad system call.
> readlinkat () at bionic/libc/arch-arm/syscalls/readlinkat.S:9
Assignee | ||
Updated•10 years ago
|
Assignee | ||
Comment 14•10 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #13)
> GDB actually showed the following when the crash happen. The symptom seems
> similar to bug 974227.
>
> > Program received signal SIGSYS, Bad system call.
> > readlinkat () at bionic/libc/arch-arm/syscalls/readlinkat.S:9
When I disabled the sandbox, I did not see the crash and confirmed WebRTC video call without enabling H.264.
https://apprtc.appspot.com/
Assignee | ||
Updated•10 years ago
|
Assignee | ||
Comment 15•10 years ago
|
||
I enabled H.264 by adding the following. It caused the crash.
> pref("media.peerconnection.video.h264_enabled", true);
Updated•10 years ago
|
Whiteboard: [caf priority: p2][CR 801198] → [caf priority: p1][CR 801198]
Assignee | ||
Comment 16•10 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #15)
> I enabled H.264 by adding the following. It caused the crash.
>
> > pref("media.peerconnection.video.h264_enabled", true);
This is a regression of Bug 1109248. EncOutputDrain::SendEncodedDataToCallback() need to add handling of RTPFragmentationHeader. This is not a gonk L specific problem. It seems better to create a new bug for it.
Assignee | ||
Updated•10 years ago
|
Comment 17•10 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #16)
> (In reply to Sotaro Ikeda [:sotaro] from comment #15)
> > I enabled H.264 by adding the following. It caused the crash.
> >
> > > pref("media.peerconnection.video.h264_enabled", true);
>
> This is a regression of Bug 1109248.
> EncOutputDrain::SendEncodedDataToCallback() need to add handling of
> RTPFragmentationHeader. This is not a gonk L specific problem. It seems
> better to create a new bug for it.
This second issue wouldn't affect 2.2/b2g37, note, since it was caused by the update that landed in 38.
Assignee | ||
Comment 18•10 years ago
|
||
Yeah, I notice it after I created Bug 1140677.
Assignee | ||
Updated•10 years ago
|
Attachment #8573353 -
Flags: review?(mwu)
Assignee | ||
Updated•10 years ago
|
Updated•10 years ago
|
Attachment #8573353 -
Flags: review?(mwu) → review+
Assignee | ||
Comment 19•10 years ago
|
||
Attachment #8573440 -
Attachment is obsolete: true
Assignee | ||
Updated•10 years ago
|
Attachment #8575401 -
Flags: review?(rjesup)
Comment 20•10 years ago
|
||
Comment on attachment 8575401 [details] [diff] [review]
patch part 2 - Change to media
Review of attachment 8575401 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/media/webrtc/MediaEngineGonkVideoSource.cpp
@@ +245,5 @@
> }
> }
>
> + // XXX some devices support recording camera frame only in metadata mode.
> + // But GonkCameraSource requests non-metadata recording mode.
trailing space
Attachment #8575401 -
Flags: review?(rjesup) → review+
Assignee | ||
Updated•10 years ago
|
status-b2g-v2.2:
--- → affected
Assignee | ||
Comment 21•10 years ago
|
||
Comment 22•10 years ago
|
||
Assignee | ||
Comment 23•10 years ago
|
||
Hmm, lollipop build option seems to be changed more strict. It seems like -Werror was enabled.
Assignee | ||
Comment 24•10 years ago
|
||
Fix build failure. Carry "r=jesup".
Attachment #8575401 -
Attachment is obsolete: true
Attachment #8576171 -
Flags: review+
Assignee | ||
Comment 25•10 years ago
|
||
Blocks: CAF-v3.0-FL-metabug
No longer blocks: CAF-v3.0-FL-metabug
Comment 26•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/ebcfd00277da
https://hg.mozilla.org/mozilla-central/rev/6058c65ec299
Status: NEW → RESOLVED
Closed: 10 years ago
status-firefox39:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
Assignee | ||
Comment 27•10 years ago
|
||
Comment on attachment 8573353 [details] [diff] [review]
patch part 1 - Change to configure.in
NOTE: Please see https://wiki.mozilla.org/Release_Management/B2G_Landing to better understand the B2G approval process and landings.
[Approval Request Comment]
Bug caused by (feature/regressing bug #): none
User impact if declined: WebRTC can not be used on lollipop gonk device.
Testing completed: locally tested
Risk to taking this patch (and alternatives if risky): low
String or UUID changes made by this patch: none
Attachment #8573353 -
Flags: approval-mozilla-b2g37?
Updated•10 years ago
|
Attachment #8573353 -
Flags: approval-mozilla-b2g37? → approval-mozilla-b2g37+
Comment 28•10 years ago
|
||
https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/c38c916714ce
https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/669ab2ec10f8
Reporter | ||
Comment 29•10 years ago
|
||
So with the patches landed on v2.2 I can now establish a WebRTC session. Progress!
Loopback works fine [1].
In an actual apprtc [2] session the outgoing video of the L-gonk phone looks garbled on the remote KK phone side [3]. The incoming video looks fine on the L-gonk phone[4]. I tried this with L-phone to KK-gonk phone and L-gonk phone to Desktop. I got the same result.
Did you get a chance to try a phone to phone session on v2.2 Lollipop?
[1] http://mozilla.github.io/webrtc-landing/pc_test.html
[2] https://apprtc.appspot.com/
[3] https://www.dropbox.com/s/u9uum0yk0gy73zw/2015-03-13%2014.29.27.jpg?dl=0
[4] https://www.dropbox.com/s/umi9zo4kvw7gd8n/2015-03-13%2014.29.32.jpg?dl=0
Flags: needinfo?(sotaro.ikeda.g)
Assignee | ||
Comment 30•10 years ago
|
||
(In reply to Diego Wilson [:diego] from comment #29)
> So with the patches landed on v2.2 I can now establish a WebRTC session.
> Progress!
>
> Loopback works fine [1].
>
> In an actual apprtc [2] session the outgoing video of the L-gonk phone looks
> garbled on the remote KK phone side [3]. The incoming video looks fine on
> the L-gonk phone[4]. I tried this with L-phone to KK-gonk phone and L-gonk
> phone to Desktop. I got the same result.
>
> Did you get a chance to try a phone to phone session on v2.2 Lollipop?
I did h.264 WebRTC session with [2] between v2.2 nexus-5-l and v2.2 flame-kk, but I did not saw such problem.
Flags: needinfo?(sotaro.ikeda.g)
Reporter | ||
Comment 32•10 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #31)
> diego, can you create a but for it?
Done
Flags: needinfo?(dwilson)
You need to log in
before you can comment on or make changes to this bug.
Description
•