Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 May 2016 20:58:56 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org
Subject:   svn commit: r415577 - in branches/2016Q2/www/chromium: . files
Message-ID:  <201605202058.u4KKwuQV049443@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Fri May 20 20:58:55 2016
New Revision: 415577
URL: https://svnweb.freebsd.org/changeset/ports/415577

Log:
  MFH: r415570
  
  www/chromium: unbreak WebRTC microphone selection with PULSEAUDIO=off
  
  Similar to r414386. No kernel ALSA is available to enumerate soundcards,
  so assume sound(4) can always be used via ALSA plugins like "oss".
  This partially reverts https://codereview.chromium.org/7888011/
  
  PR:		206480
  Reported by:	Betso <betso.net@gmail.com>
  Reviewed by:	cem, cmt (briefly)
  Approved by:	maintainer timeout (2 weeks)
  Approved by:	ports-secteam (feld)

Added:
  branches/2016Q2/www/chromium/files/patch-media__audio__alsa__audio_manager_alsa.cc
     - copied unchanged from r415570, head/www/chromium/files/patch-media__audio__alsa__audio_manager_alsa.cc
Modified:
  branches/2016Q2/www/chromium/Makefile
Directory Properties:
  branches/2016Q2/   (props changed)

Modified: branches/2016Q2/www/chromium/Makefile
==============================================================================
--- branches/2016Q2/www/chromium/Makefile	Fri May 20 20:43:50 2016	(r415576)
+++ branches/2016Q2/www/chromium/Makefile	Fri May 20 20:58:55 2016	(r415577)
@@ -52,6 +52,7 @@ LIB_DEPENDS=	libcairo.so:graphics/cairo 
 		libwebp.so:graphics/webp
 
 RUN_DEPENDS=	${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \
+		alsa-lib>=1.1.1_1:audio/alsa-lib \
 		droid-fonts-ttf>0:x11-fonts/droid-fonts-ttf \
 		xdg-open:devel/xdg-utils
 

Copied: branches/2016Q2/www/chromium/files/patch-media__audio__alsa__audio_manager_alsa.cc (from r415570, head/www/chromium/files/patch-media__audio__alsa__audio_manager_alsa.cc)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2016Q2/www/chromium/files/patch-media__audio__alsa__audio_manager_alsa.cc	Fri May 20 20:58:55 2016	(r415577, copy of r415570, head/www/chromium/files/patch-media__audio__alsa__audio_manager_alsa.cc)
@@ -0,0 +1,54 @@
+--- media/audio/alsa/audio_manager_alsa.cc.orig	2016-04-07 19:01:10 UTC
++++ media/audio/alsa/audio_manager_alsa.cc
+@@ -128,7 +128,9 @@ void AudioManagerAlsa::GetAlsaAudioDevic
+   int card = -1;
+ 
+   // Loop through the sound cards to get ALSA device hints.
++#ifdef OS_LINUX
+   while (!wrapper_->CardNext(&card) && card >= 0) {
++#endif
+     void** hints = NULL;
+     int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints);
+     if (!error) {
+@@ -140,7 +142,9 @@ void AudioManagerAlsa::GetAlsaAudioDevic
+       DLOG(WARNING) << "GetAlsaAudioDevices: unable to get device hints: "
+                     << wrapper_->StrError(error);
+     }
++#ifdef OS_LINUX
+   }
++#endif
+ }
+ 
+ void AudioManagerAlsa::GetAlsaDevicesInfo(
+@@ -226,7 +230,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvail
+     // goes through software conversion if needed (e.g. incompatible
+     // sample rate).
+     // TODO(joi): Should we prefer "hw" instead?
++#ifdef OS_LINUX
+     static const char kDeviceTypeDesired[] = "plughw";
++#else
++    static const char kDeviceTypeDesired[] = "plug";
++#endif
+     return strncmp(kDeviceTypeDesired,
+                    device_name,
+                    arraysize(kDeviceTypeDesired) - 1) == 0;
+@@ -250,7 +258,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDe
+   // Loop through the sound cards.
+   // Don't use snd_device_name_hint(-1,..) since there is a access violation
+   // inside this ALSA API with libasound.so.2.0.0.
++#ifdef OS_LINUX
+   while (!wrapper_->CardNext(&card) && (card >= 0) && !has_device) {
++#endif
+     int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints);
+     if (!error) {
+       for (void** hint_iter = hints; *hint_iter != NULL; hint_iter++) {
+@@ -274,7 +284,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDe
+       DLOG(WARNING) << "HasAnyAudioDevice: unable to get device hints: "
+                     << wrapper_->StrError(error);
+     }
++#ifdef OS_LINUX
+   }
++#endif
+ 
+   return has_device;
+ }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201605202058.u4KKwuQV049443>