Closed Bug 1221574 Opened 4 years ago Closed 3 years ago

Write a full-duplex Android OpenSL ES cubeb backend

Categories

(Core :: Audio/Video: cubeb, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla53
Tracking Status
firefox53 --- fixed

People

(Reporter: padenot, Assigned: achronop)

References

(Blocks 1 open bug)

Details

Attachments

(6 files)

No description provided.
Blocks: 1221571
Component: Audio/Video: MediaStreamGraph → Audio/Video: cubeb
Rank: 15
Priority: -- → P1
Rank: 15 → 17
Alex is going to take this; our goal is to get this landed before the London work week (in June).
Assignee: nobody → achronop
New try run with the assert issue loved and some logs activated:
Full duplex pref off:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=2f35bc1d4e72
Full duplex pref on:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=e036aba33867
Update the update.sh script
Attachment #8810930 - Flags: review?(padenot)
Fix build errors found with the new backend
Attachment #8810931 - Flags: review?(rjesup)
In case of Android there is not device enumeration available so it is set hardcoded to return the one mic.
Attachment #8810935 - Flags: review?(rjesup)
Due to lack of device enumeration the assert changes no to expect anything in case of Android.
Attachment #8810937 - Flags: review?(rjesup)
Update lifecylce logs in respect to android log macros.
Attachment #8810940 - Flags: review?(rjesup)
Disable one test that fails sporadically in android. No failure in autophone.
Attachment #8810944 - Flags: review?(rjesup)
Attachment #8810930 - Flags: review?(padenot) → review+
Attachment #8810931 - Flags: review?(rjesup) → review+
Attachment #8810935 - Flags: review?(rjesup) → review+
Comment on attachment 8810937 [details] [diff] [review]
004-gecko-crash-error

Review of attachment 8810937 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/media/webrtc/MediaEngineWebRTC.h
@@ +268,5 @@
>  
>    void StartRecording(SourceMediaStream *aStream, AudioDataListener *aListener)
>    {
> +#ifdef MOZ_WIDGET_ANDROID
> +    // OpenSL ES does not support enumerate devices.

"enumerating"
Attachment #8810937 - Flags: review?(rjesup) → review+
Attachment #8810940 - Flags: review?(rjesup) → review+
Attachment #8810944 - Flags: review?(rjesup) → review+
(In reply to Randell Jesup [:jesup] from comment #17)
> Comment on attachment 8810937 [details] [diff] [review]
> 004-gecko-crash-error
> 
> Review of attachment 8810937 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: dom/media/webrtc/MediaEngineWebRTC.h
> @@ +268,5 @@
> >  
> >    void StartRecording(SourceMediaStream *aStream, AudioDataListener *aListener)
> >    {
> > +#ifdef MOZ_WIDGET_ANDROID
> > +    // OpenSL ES does not support enumerate devices.
> 
> "enumerating"

Patch has been updated
Depends on: 1318619
Bug 1318619 update the cubeb upstream up to the patch before the OpenSL ES full duplex implementation.
https://hg.mozilla.org/integration/mozilla-inbound/rev/a40cac8610de8543bf21eecaa91dacf3ed1b73e7
Bug 1221574 - [08] Add new file cubeb_array_queue.h. r=bustage-fix on a CLOSED TREE
(In reply to Alex Chronopoulos [:achronop] from comment #21)
> https://hg.mozilla.org/integration/mozilla-inbound/rev/
> a40cac8610de8543bf21eecaa91dacf3ed1b73e7
> Bug 1221574 - [08] Add new file cubeb_array_queue.h. r=bustage-fix on a
> CLOSED TREE

update.sh needs to be updated to copy this across during import, too.
Flags: needinfo?(achronop)
(In reply to Matthew Gregan [:kinetik] from comment #22)
> update.sh needs to be updated to copy this across during import, too.
1st patch does that:
https://hg.mozilla.org/integration/mozilla-inbound/rev/3765376057ce889747ddf549bcc248eb3086b624
Bug 1221574 - [01] Add queue array in update.sh script. r=padenot
Flags: needinfo?(achronop)
QA Contact: oana.horvath
Hi,
I will take this feature as a QA. Here is the Test plan based on which the testing is made: https://wiki.mozilla.org/QA/Fennec/Full_Duplex_testing
See Also: → 1333438
You need to log in before you can comment on or make changes to this bug.