Closed Bug 852401 Opened 11 years ago Closed 11 years ago

Remove libsydneyaudio from the tree

Categories

(Core :: Audio/Video, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla22

People

(Reporter: kinetik, Assigned: kinetik)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

We've got cubeb backends for all of our major platforms now, and it's enabled everywhere but B2G.  It'll be enabled in B2G shortly in bug 848581, and then we can remove sydneyaudio from the tree.
It looks like we'll lose the following sydneyaudio backends that aren't yet supported by cubeb:
AIX, OS/2, OSS, and SunAudio.  CCing anyone who contributed to those files to raise awareness.
Builds locally, let's see how it goes on other platforms: https://tbpl.mozilla.org/?tree=Try&rev=a567cde23e09

- Moves media/libsydneyaudio/src/gonk to dom/system/gonk/android_audio as AudioManager is the only remaining user
- Deletes media/libsydneyaudio
- Remove NativeAudioStream from AudioStream.cpp
- Remove GetMinWriteSize from AudioStream and remove the single use in MediaDecoderStateMachine
  (this was a sydneyaudio-specific hack)
- Remove all references to sydneyaudio from code/comments
- Remove MOZ_SYDNEYAUDIO from build
- Remove platform test from MOZ_CUBEB in configure.in
- Build AudioStream unconditionally (it used to depend on MOZ_SYDNEYAUDIO)
- Added a missing Preferences::UnregisterCallback for PREF_CUBEB_LATENCY

We could devirtualize AudioStream now, but I've left it as-is and made AudioStream::AllocateStream return null if MOZ_CUBEB isn't defined.
Blocks: 750596
I think the OSS sydneyaudio backend might still be used by freebsd/dragonfly and netbsd, but they can use the PA cubeb backend.

On the other side, i'm all for ditching sydneyaudio, that will allow me to remove a bunch of local patches!
sydneyaudio seems to be used in bug 846214 for LPA audio on Firefox OS.
libsydneyaudio OSS backend is buggy on FreeBSD:
- high cpu usage on pause [1]
- slow pause/seeking latency

Our www/firefox switched to use ALSA by default some time ago as
it has less dependencies than PulseAudio[2]. But both work fine.

[1] my workaround - http://svnweb.freebsd.org/ports/head/www/firefox/files/patch-media-libsydneyaudio-src-sydney_audio_oss.c
[2] buggy with libsydneyaudio, see bug 685258
Blocks: 685258
Try's greenish on all platforms, and it sounds like the BSDs are covered with cubeb backends, so let's get this checked in before we grow any more dependencies on it.

We'll deal with the LPA stuff over in bug bug 846214, hopefully that can be moved to a cubeb/BufferedAudioStream interface before landing.
Assignee: nobody → kinetik
Status: NEW → ASSIGNED
Attachment #726997 - Flags: review?(chris.double)
Attachment #726997 - Flags: review?(chris.double) → review+
Hi Matthew,

One question: Sydney is still used on B2G branch V1.X series, so once there is any issue needed to be fixed how can we commit the code to m-c first then b2g18 branches?

Thanks.
sydneyaudio-specific changes will have to be committed to b2g18 directly, skipping m-c.  Since we switched to cubeb on all platforms, retaining the ability to land sydneyaudio changes on m-c wouldn't help much as they would see no testing until they were migrated back to b2g18.
But isn't the commit rule to in-bound -> m-c -> branches?
I just want to make sure that direct to b2g18 is legal.
That's the general rule, yes.   It can't apply when code has been removed.  Even if we kept this code in m-c, the end result would be equivalent (untested until changes migrated to b2g18) since we're not running this code for any configurations on m-c now.
https://hg.mozilla.org/mozilla-central/rev/9043b5328fd9
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla22
Blocks: 875268
Depends on: 876327
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: