extra/chromium =>27.0.1453.93-3

This commit is contained in:
Jason Plum 2013-05-25 17:58:01 -04:00
parent 2db986d800
commit 1f84ace505
2 changed files with 103 additions and 1 deletions

View file

@ -17,7 +17,7 @@ highmem=1
pkgname=chromium pkgname=chromium
pkgver=27.0.1453.93 pkgver=27.0.1453.93
pkgrel=2 pkgrel=3
pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser" pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser"
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url="http://www.chromium.org/" url="http://www.chromium.org/"
@ -40,6 +40,7 @@ source=(http://commondatastorage.googleapis.com/chromium-browser-official/$pkgna
chromium.default chromium.default
chromium.sh chromium.sh
chromium-pnacl-r0.patch chromium-pnacl-r0.patch
chromium-27.0.1453.93-allow-sample-rate-pass-through-on-linux.patch
chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch
chromium-26.0.1410.43-speechd-0.8.patch chromium-26.0.1410.43-speechd-0.8.patch
die-sysroot-die.patch) die-sysroot-die.patch)
@ -49,6 +50,7 @@ sha256sums=('7af8f70745992afdee0196039b5beab1b86b6de7fa70ca4f4a04dc335f034b3f'
'4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9' '4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9'
'9875ffcc0e9ae9420876ac66b130b1b017d445a031d43cbe0119793e1fb3781c' '9875ffcc0e9ae9420876ac66b130b1b017d445a031d43cbe0119793e1fb3781c'
'23b04468881642ffdc8457016c8f91df395dfccb4af2ad6b758168180ae070f3' '23b04468881642ffdc8457016c8f91df395dfccb4af2ad6b758168180ae070f3'
'c57d760589af1566469fbba0d85624b53eb07a3077485599f599a226dbd4d2a8'
'd530f52cb485ff8da035b38ffebe171309a1d8e515040f5e6398ecb286336797' 'd530f52cb485ff8da035b38ffebe171309a1d8e515040f5e6398ecb286336797'
'66705264d9e679a58ed522b4475a06c8a5a4fe52a709c537b1a7d5aa43fb6c84') '66705264d9e679a58ed522b4475a06c8a5a4fe52a709c537b1a7d5aa43fb6c84')
@ -61,6 +63,10 @@ prepare() {
# Fix build without pnacl (patch from Gentoo) # Fix build without pnacl (patch from Gentoo)
patch -Np0 -i "$srcdir/chromium-pnacl-r0.patch" patch -Np0 -i "$srcdir/chromium-pnacl-r0.patch"
# Allow sample rate pass through on Linux
# https://code.google.com/p/chromium/issues/detail?id=229918
patch -Np1 -i "$srcdir/chromium-27.0.1453.93-allow-sample-rate-pass-through-on-linux.patch"
# Fix crash when quickly dragging a new tab # Fix crash when quickly dragging a new tab
# https://code.google.com/p/chromium/issues/detail?id=228918 # https://code.google.com/p/chromium/issues/detail?id=228918
patch -Np1 -i "$srcdir/chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch" patch -Np1 -i "$srcdir/chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch"

View file

@ -0,0 +1,96 @@
From ed5409740e3f6c13895a29b770d46d659973863e Mon Sep 17 00:00:00 2001
From: "dalecurtis@google.com"
<dalecurtis@google.com@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Fri, 24 May 2013 23:54:45 +0000
Subject: [PATCH] Allow sample rate pass through on Linux.
Requiring the native output sample rate to avoid glitching appears
to have just been an issue with a poor tlength choice. xians and
I resolved this prior to turning PulseAudio on by default, but left
the native sample rate requirement in at the time.
Since "native sample rate" can change on the fly with PulseAudio
our approach of specifying FIX_RATE was incorrect. Allowing Pulse
to handle resampling lets us remove the FIX_RATE flag. It also
improves CPU usage in cases where Pulse can configure the output
device to match the requested sample rate.
BUG=229918
TEST=extensive manual checks for glitching.
R=xians@chromium.org
Review URL: https://codereview.chromium.org/15957002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202233 0039d316-1c4b-4281-b951-d872f2087c98
---
content/renderer/media/audio_renderer_mixer_manager.cc | 6 +++---
media/audio/pulse/audio_manager_pulse.cc | 6 +++++-
media/audio/pulse/pulse_util.cc | 6 +++---
3 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/content/renderer/media/audio_renderer_mixer_manager.cc b/content/renderer/media/audio_renderer_mixer_manager.cc
index 7db67d1..0044d25 100644
--- a/content/renderer/media/audio_renderer_mixer_manager.cc
+++ b/content/renderer/media/audio_renderer_mixer_manager.cc
@@ -52,9 +52,9 @@ media::AudioRendererMixer* AudioRendererMixerManager::GetMixer(
return it->second.mixer;
}
- // On ChromeOS we can rely on the playback device to handle resampling, so
- // don't waste cycles on it here.
-#if defined(OS_CHROMEOS)
+ // On ChromeOS and Linux we can rely on the playback device to handle
+ // resampling, so don't waste cycles on it here.
+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
int sample_rate = params.sample_rate();
#else
int sample_rate = hardware_config_->GetOutputSampleRate();
diff --git a/media/audio/pulse/audio_manager_pulse.cc b/media/audio/pulse/audio_manager_pulse.cc
index c127d17..fed919a 100644
--- a/media/audio/pulse/audio_manager_pulse.cc
+++ b/media/audio/pulse/audio_manager_pulse.cc
@@ -141,11 +141,15 @@ AudioParameters AudioManagerPulse::GetPreferredOutputStreamParameters(
int buffer_size = kDefaultOutputBufferSize;
int bits_per_sample = 16;
int input_channels = 0;
+ int sample_rate;
if (input_params.IsValid()) {
bits_per_sample = input_params.bits_per_sample();
channel_layout = input_params.channel_layout();
input_channels = input_params.input_channels();
buffer_size = std::min(buffer_size, input_params.frames_per_buffer());
+ sample_rate = input_params.sample_rate();
+ } else {
+ sample_rate = GetNativeSampleRate();
}
int user_buffer_size = GetUserBufferSize();
@@ -154,7 +158,7 @@ AudioParameters AudioManagerPulse::GetPreferredOutputStreamParameters(
return AudioParameters(
AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, input_channels,
- GetNativeSampleRate(), bits_per_sample, buffer_size);
+ sample_rate, bits_per_sample, buffer_size);
}
AudioOutputStream* AudioManagerPulse::MakeOutputStream(
diff --git a/media/audio/pulse/pulse_util.cc b/media/audio/pulse/pulse_util.cc
index 0a4734b..6a4dad1 100644
--- a/media/audio/pulse/pulse_util.cc
+++ b/media/audio/pulse/pulse_util.cc
@@ -289,9 +289,9 @@ bool CreateOutputStream(pa_threaded_mainloop** mainloop,
pa_stream_connect_playback(
*stream, NULL, &pa_buffer_attributes,
static_cast<pa_stream_flags_t>(
- PA_STREAM_FIX_RATE | PA_STREAM_INTERPOLATE_TIMING |
- PA_STREAM_ADJUST_LATENCY | PA_STREAM_AUTO_TIMING_UPDATE |
- PA_STREAM_NOT_MONOTONIC | PA_STREAM_START_CORKED),
+ PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_ADJUST_LATENCY |
+ PA_STREAM_AUTO_TIMING_UPDATE | PA_STREAM_NOT_MONOTONIC |
+ PA_STREAM_START_CORKED),
NULL, NULL) == 0,
"pa_stream_connect_playback FAILED ");
--
1.8.2.2