Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0ee9ceff38f1
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 6ce362acb5ce
Choose a head ref
  • 5 commits
  • 3 files changed
  • 2 contributors

Commits on Apr 2, 2020

  1. chromium: fix webrtc interaction with pulseaudio

    The webrtc code suffered from a race condition when used
    with Pulseaudio. This lead to audio input breaking every
    couple of minutes during a webrtc session.
    
    (cherry picked from commit 81b18c3)
    peti authored and primeos committed Apr 2, 2020
    Copy the full SHA
    190fbfd View commit details
  2. chromium: I accidentally added the webrtc patch into the wrong section

    (cherry picked from commit b3c2908)
    peti authored and primeos committed Apr 2, 2020
    Copy the full SHA
    5ae092f View commit details
  3. Copy the full SHA
    96614c2 View commit details

Commits on Apr 3, 2020

  1. chromium: 80.0.3987.162 -> 80.0.3987.163

    https://chromereleases.googleblog.com/2020/04/stable-channel-update-for-desktop.html
    
    Note: This update contains only two fixes [0]. The fix that reverts a
    feature which caused a crash spike on 80.0.3987.162 [1] seems important
    for us (though the commit doesn't provide any data on the crash spike).
    
    [0]: https://chromium.googlesource.com/chromium/src/+log/80.0.3987.162..80.0.3987.163?pretty=fuller
    [1]: https://chromium.googlesource.com/chromium/src/+/fc11c43603c05a9ef77430a6b4081a01969d2bf4
    
    (cherry picked from commit cbd13f3)
    primeos committed Apr 3, 2020
    Copy the full SHA
    1ca8a06 View commit details
  2. Merge pull request #84107 from primeos/chromium-backport

    [19.09] chromium: 80.0.3987.149 -> 80.0.3987.163 (backport)
    primeos authored Apr 3, 2020
    Copy the full SHA
    6ce362a View commit details
2 changes: 2 additions & 0 deletions pkgs/applications/networking/browsers/chromium/common.nix
Original file line number Diff line number Diff line change
@@ -129,6 +129,8 @@ let
./patches/no-build-timestamps.patch
./patches/widevine-79.patch
./patches/dont-use-ANGLE-by-default.patch
# fix race condition in the interaction with pulseaudio
./patches/webrtc-pulse.patch
# Unfortunately, chromium regularly breaks on major updates and
# then needs various patches backported in order to be compiled with GCC.
# Good sources for such patches and other hints:
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
From 704dc99bd05a94eb61202e6127df94ddfd571e85 Mon Sep 17 00:00:00 2001
From: Dale Curtis <dalecurtis@chromium.org>
Date: Mon, 02 Mar 2020 22:12:22 +0000
Subject: [PATCH] Hold PulseAudio mainloop lock while querying input device info.

a22cc23955cb3d58b7525c5103314226b3ce0137 moved this section out of
UpdateNativeAudioHardwareInfo(), but forgot to bring the lock along.

R=guidou

Bug: 1043040
Change-Id: I5b17a2cf0ad55d61c0811db1dae7045af4a91370
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2083814
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#746115}
---

diff --git a/media/audio/pulse/audio_manager_pulse.cc b/media/audio/pulse/audio_manager_pulse.cc
index 90e9317..829846f 100644
--- a/media/audio/pulse/audio_manager_pulse.cc
+++ b/media/audio/pulse/audio_manager_pulse.cc
@@ -104,22 +104,27 @@

AudioParameters AudioManagerPulse::GetInputStreamParameters(
const std::string& device_id) {
- int user_buffer_size = GetUserBufferSize();
- int buffer_size =
- user_buffer_size ? user_buffer_size : kDefaultInputBufferSize;
-
UpdateNativeAudioHardwareInfo();
- auto* operation = pa_context_get_source_info_by_name(
- input_context_, default_source_name_.c_str(), DefaultSourceInfoCallback,
- this);
- WaitForOperationCompletion(input_mainloop_, operation, input_context_);
+
+ {
+ AutoPulseLock auto_lock(input_mainloop_);
+ auto* operation = pa_context_get_source_info_by_name(
+ input_context_, default_source_name_.c_str(), DefaultSourceInfoCallback,
+ this);
+ WaitForOperationCompletion(input_mainloop_, operation, input_context_);
+ }

// We don't want to accidentally open a monitor device, so return invalid
- // parameters for those.
+ // parameters for those. Note: The value of |default_source_is_monitor_|
+ // depends on the the call to pa_context_get_source_info_by_name() above.
if (device_id == AudioDeviceDescription::kDefaultDeviceId &&
default_source_is_monitor_) {
return AudioParameters();
}
+
+ const int user_buffer_size = GetUserBufferSize();
+ const int buffer_size =
+ user_buffer_size ? user_buffer_size : kDefaultInputBufferSize;
return AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
CHANNEL_LAYOUT_STEREO,
native_input_sample_rate_ ? native_input_sample_rate_
18 changes: 9 additions & 9 deletions pkgs/applications/networking/browsers/chromium/upstream-info.nix
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "177hv5jkgpcbi6khk7j883rf3rzzkjmi8cqqpzckaiw7pcwsvyvd";
sha256bin64 = "0sicz51d2l3gj70mfpyh5idwarjl19pba5lc6ahznxxqsrjfp80r";
version = "81.0.4044.69";
sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2";
sha256bin64 = "1y70kmfz9nv507b0zdda7zfk2ac9qh9m2gq00aphdmzd0al7skj8";
version = "81.0.4044.92";
};
dev = {
sha256 = "0s0072rmg287iijh6wwm9i5a5fsh96qm6nhd13xwbxrvj6pldb7n";
sha256bin64 = "0l5ljjz0s5x9727syq4gs5xshl9vs8apvw6xw8il0xy5qax32g85";
version = "82.0.4083.0";
sha256 = "1rydvjmv62zj95sf0fgsyipqz2hphbxm60y8q0813wq9ym35d4yy";
sha256bin64 = "1m6740lw7xjjp1lplwp9ii4d3l7dfa9jrv5bysm4ar5pb9kywrai";
version = "83.0.4100.3";
};
stable = {
sha256 = "07icl3hgg1wjkmz88lbpjf6ll4xyi64spki1nmsy6899jgkxvgjh";
sha256bin64 = "0qgp6hv4qj04v6pzfx9ggjvcl1vi6ljjc3cpi4hfr67p4jab40ji";
version = "80.0.3987.149";
sha256 = "0ikk4cgz3jgjhyncsvlqvlc03y7jywjpa6v34fwsjxs88flyzpdn";
sha256bin64 = "1ks0i6vdxbmixnfz2b128yf9hsk5pm9x2j17nm3xg3245k0z22xr";
version = "80.0.3987.163";
};
}