[SVN-Commit] r814 - in branches/experimental/www/firefox-nightly: . files

svn-freebsd-gecko at chruetertee.ch svn-freebsd-gecko at chruetertee.ch
Thu Jun 28 19:28:30 UTC 2012


Author: jbeich
Date: Thu Jun 28 19:28:17 2012
New Revision: 814

Log:
[debug] add alsa/pulse audio backend options

Note, libcubeb can be disabled with media.use_cubeb in about:config

Added:
   branches/experimental/www/firefox-nightly/files/patch-alsapulse
   branches/experimental/www/firefox-nightly/files/patch-bug685258
Modified:
   branches/experimental/www/firefox-nightly/Makefile

Modified: branches/experimental/www/firefox-nightly/Makefile
==============================================================================
--- branches/experimental/www/firefox-nightly/Makefile	Tue Jun 26 16:20:11 2012	(r813)
+++ branches/experimental/www/firefox-nightly/Makefile	Thu Jun 28 19:28:17 2012	(r814)
@@ -55,7 +55,11 @@
 		--disable-updater \
 		--disable-necko-wifi
 
-OPTIONS_DEFAULT=DBUS GSTREAMER
+OPTIONS_DEFAULT=DBUS GSTREAMER OSS
+
+OPTIONS_SINGLE+=	AUDIO
+OPTIONS_SINGLE_AUDIO=	ALSA OSS PULSEAUDIO
+
 OPTIONS_DEFINE=	PGO
 PGO_DESC=	Enable Profile-Guided Optimization
 
@@ -89,6 +93,17 @@
 MOZ_OPTIONS+=	--disable-gnomeui
 .endif
 
+.if ${PORT_OPTIONS:MALSA}
+LIB_DEPENDS+=	asound.2:${PORTSDIR}/audio/alsa-lib
+RUN_DEPENDS+=	${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:${PORTSDIR}/audio/alsa-plugins
+MOZ_OPTIONS+=	--enable-alsa
+.endif
+
+.if ${PORT_OPTIONS:MPULSEAUDIO}
+LIB_DEPENDS+=	pulse.0:${PORTSDIR}/audio/pulseaudio
+MOZ_OPTIONS+=	--enable-pulseaudio
+.endif
+
 .if ${PORT_OPTIONS:MPGO}
 USE_DISPLAY=		yes
 .include "${PORTSDIR}/Mk/bsd.python.mk"

Added: branches/experimental/www/firefox-nightly/files/patch-alsapulse
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/experimental/www/firefox-nightly/files/patch-alsapulse	Thu Jun 28 19:28:17 2012	(r814)
@@ -0,0 +1,180 @@
+diff --git config/autoconf.mk.in config/autoconf.mk.in
+index 44c0b06..748511b 100644
+--- config/autoconf.mk.in
++++ config/autoconf.mk.in
+@@ -536,9 +536,14 @@ MOZ_LIBNOTIFY_CFLAGS	= @MOZ_LIBNOTIFY_CFLAGS@
+ MOZ_LIBNOTIFY_LIBS	= @MOZ_LIBNOTIFY_LIBS@
+ MOZ_ENABLE_LIBNOTIFY	= @MOZ_ENABLE_LIBNOTIFY@
+ 
++MOZ_ALSA                = @MOZ_ALSA@
+ MOZ_ALSA_LIBS           = @MOZ_ALSA_LIBS@
+ MOZ_ALSA_CFLAGS         = @MOZ_ALSA_CFLAGS@
+ 
++MOZ_PULSEAUDIO          = @MOZ_PULSEAUDIO@
++MOZ_PULSEAUDIO_LIBS     = @MOZ_PULSEAUDIO_LIBS@
++MOZ_PULSEAUDIO_CFLAGS   = @MOZ_PULSEAUDIO_CFLAGS@
++
+ GLIB_CFLAGS	= @GLIB_CFLAGS@
+ GLIB_LIBS	= @GLIB_LIBS@
+ GLIB_GMODULE_LIBS	= @GLIB_GMODULE_LIBS@
+diff --git config/system-headers config/system-headers
+index 84b03b4..5f49f7a 100644
+--- config/system-headers
++++ config/system-headers
+@@ -595,6 +595,7 @@ psap.h
+ Pt.h
+ pthread.h
+ pthread_np.h
++pulse/pulseaudio.h
+ pwd.h
+ Python.h
+ QDOffscreen.h
+diff --git configure.in configure.in
+index 5980b76..11f5f77 100644
+--- configure.in
++++ configure.in
+@@ -5632,13 +5632,45 @@ dnl ========================================================
+ dnl = Check alsa availability on Linux if using sydneyaudio
+ dnl ========================================================
+ 
++MOZ_ARG_ENABLE_BOOL(alsa,
++[  --enable-alsa          Enable Alsa support],
++MOZ_ALSA=1,
++MOZ_ALSA=)
++
+ dnl If using sydneyaudio with Linux, ensure that the alsa library is available
+ if test -n "$MOZ_SYDNEYAUDIO" -a "$OS_TARGET" = "Linux"; then
++    MOZ_ALSA=1
++fi
++
++if test -n "$MOZ_ALSA"; then
+     PKG_CHECK_MODULES(MOZ_ALSA, alsa, ,
+          [echo "$MOZ_ALSA_PKG_ERRORS"
+           AC_MSG_ERROR([Need alsa for Ogg, Wave or WebM decoding on Linux.  Disable with --disable-ogg --disable-wave --disable-webm.  (On Ubuntu, you might try installing the package libasound2-dev.)])])
++    AC_DEFINE(MOZ_CUBEB)
+ fi
+ 
++AC_SUBST(MOZ_ALSA)
++
++dnl ========================================================
++dnl = Enable PulseAudio
++dnl ========================================================
++
++MOZ_ARG_ENABLE_BOOL(pulseaudio,
++[  --enable-pulseaudio          Enable PulseAudio support],
++MOZ_PULSEAUDIO=1,
++MOZ_PULSEAUDIO=)
++
++if test -n "$MOZ_PULSEAUDIO"; then
++    PKG_CHECK_MODULES(MOZ_PULSEAUDIO, libpulse, ,
++         [echo "$MOZ_PULSEAUDIO_PKG_ERRORS"
++          AC_MSG_ERROR([pulseaudio audio backend requires libpulse package])])
++    AC_DEFINE(MOZ_CUBEB)
++fi
++
++AC_SUBST(MOZ_PULSEAUDIO_CFLAGS)
++AC_SUBST(MOZ_PULSEAUDIO_LIBS)
++AC_SUBST(MOZ_PULSEAUDIO)
++
+ dnl ========================================================
+ dnl = Enable GStreamer
+ dnl ========================================================
+diff --git media/libcubeb/src/Makefile.in media/libcubeb/src/Makefile.in
+index 5ab4dd8..c8df26f 100644
+--- media/libcubeb/src/Makefile.in
++++ media/libcubeb/src/Makefile.in
+@@ -24,10 +24,6 @@ endif
+ 
+ ifeq ($(OS_TARGET),Android)
+ # No Android implementation of libcubeb yet.
+-else ifeq ($(OS_TARGET),Linux)
+-CSRCS         = \
+-              cubeb_alsa.c \
+-              $(NULL)
+ endif
+ 
+ ifeq ($(OS_TARGET),Darwin)
+@@ -42,4 +38,16 @@ CSRCS           = \
+                 $(NULL)
+ endif
+ 
++ifdef MOZ_ALSA
++CSRCS         = \
++              cubeb_alsa.c \
++              $(NULL)
++endif
++
++ifdef MOZ_PULSEAUDIO
++CSRCS		= \
++		cubeb_pulse.c \
++		$(NULL)
++endif
++
+ include $(topsrcdir)/config/rules.mk
+diff --git media/libcubeb/src/cubeb_alsa.c media/libcubeb/src/cubeb_alsa.c
+index 599aea2..41fd5af 100644
+--- media/libcubeb/src/cubeb_alsa.c
++++ media/libcubeb/src/cubeb_alsa.c
+@@ -6,7 +6,9 @@
+  */
+ #undef NDEBUG
+ #define _BSD_SOURCE
++#ifndef __FreeBSD__
+ #define _POSIX_SOURCE
++#endif
+ #include <pthread.h>
+ #include <sys/time.h>
+ #include <assert.h>
+diff --git media/libsydneyaudio/src/Makefile.in media/libsydneyaudio/src/Makefile.in
+index 8dda8ce..b19641d 100644
+--- media/libsydneyaudio/src/Makefile.in
++++ media/libsydneyaudio/src/Makefile.in
+@@ -30,10 +30,6 @@ else ifeq ($(MOZ_WIDGET_TOOLKIT),android)
+ CSRCS		= \
+ 		sydney_audio_android.c \
+ 		$(NULL)
+-else ifeq ($(OS_ARCH),Linux)
+-CSRCS		= \
+-		sydney_audio_alsa.c \
+-		$(NULL)
+ endif
+ 
+ ifeq ($(OS_ARCH),WINNT)
+@@ -68,6 +64,18 @@ CSRCS		= \
+ 		$(NULL)
+ endif
+ 
++ifdef MOZ_ALSA
++CSRCS		= \
++		sydney_audio_alsa.c \
++		$(NULL)
++endif
++
++ifdef MOZ_PULSEAUDIO
++CSRCS		= \
++		sydney_audio_pulseaudio.c \
++		$(NULL)
++endif
++
+ ifeq ($(OS_ARCH),WINNT)
+ OS_LIBS += winmm.lib
+ endif
+diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in
+index 43384e9..e46a6e3 100644
+--- toolkit/library/Makefile.in
++++ toolkit/library/Makefile.in
+@@ -375,10 +375,12 @@ endif
+ 
+ EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib) 
+ 
+-ifdef MOZ_SYDNEYAUDIO
+-ifeq ($(OS_ARCH),Linux)
++ifdef MOZ_ALSA
+ EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS)
+ endif
++
++ifdef MOZ_PULSEAUDIO
++EXTRA_DSO_LDOPTS += $(MOZ_PULSEAUDIO_LIBS)
+ endif
+ 
+ ifdef HAVE_CLOCK_MONOTONIC

Added: branches/experimental/www/firefox-nightly/files/patch-bug685258
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/experimental/www/firefox-nightly/files/patch-bug685258	Thu Jun 28 19:28:17 2012	(r814)
@@ -0,0 +1,17 @@
+# HG changeset patch
+# User Oleg Romashin <romaxa at gmail.com>
+# Parent a2291c212856ad27622416e83c8311b6a33b52f1
+Bug 685258 - Pulse audio backend does not check provided playback and crashes r=derf
+
+diff --git a/content/media/nsAudioStream.cpp b/content/media/nsAudioStream.cpp
+--- content/media/nsAudioStream.cpp
++++ content/media/nsAudioStream.cpp
+@@ -429,7 +429,7 @@ nsresult nsNativeAudioStream::Init(PRInt32 aNumChannels, PRInt32 aRate, SampleFo
+   mFormat = aFormat;
+ 
+   if (sa_stream_create_pcm(reinterpret_cast<sa_stream_t**>(&mAudioHandle),
+-                           NULL,
++                           "Mozilla",
+                            SA_MODE_WRONLY,
+                            SA_PCM_FORMAT_S16_NE,
+                            aRate,


More information about the freebsd-gecko mailing list