summaryrefslogtreecommitdiff
path: root/media-video/pipewire
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-10-18 21:57:33 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-10-18 21:57:33 +0100
commit99c41a033e7745ed8aa9ffbf0f9e1e414e80da4a (patch)
treed7dd421828aea0525f9e8fad6380cdf6daf1ec04 /media-video/pipewire
parente903f5ad5c87da9f55a9c9fa0d0e5c531d25af3f (diff)
gentoo auto-resync : 18:10:2023 - 21:57:33
Diffstat (limited to 'media-video/pipewire')
-rw-r--r--media-video/pipewire/Manifest5
-rw-r--r--media-video/pipewire/files/0.3.82/0001-alsa-Ignore-PCM-devices-with-udev-env-ACP_IGNORE.patch69
-rw-r--r--media-video/pipewire/files/0.3.82/0002-alsa-don-t-try-to-link-when-prepare-fails.patch27
-rw-r--r--media-video/pipewire/files/0.3.82/0003-context-relax-quantum-change-conditions.patch37
-rw-r--r--media-video/pipewire/pipewire-0.3.82-r1.ebuild (renamed from media-video/pipewire/pipewire-0.3.82.ebuild)0
5 files changed, 137 insertions, 1 deletions
diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 91aeb0859d13..56481ae324a4 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -4,6 +4,9 @@ AUX 0.3.75/0003-missing-include-version.h.patch 725 BLAKE2B f56835e1b355b6284e15
AUX 0.3.77/0001-gst-prevent-crash-stopping-device-provider.patch 1310 BLAKE2B 57dc7f0567eeab06c5d8fba123223896c46b8c15916b6e4a7403c85dd8a1100c0a81c1f52e40f124235c91ea860700636be390e529faf5bbda3a56c28fb42ef0 SHA512 c6df492c15306851bab93b3ff045f1d5cf2229774b8866681fbe66b32f9f24ca1fd5cddf56614f12dc0f04073147deabb29775099a4f9590b49009dad0824938
AUX 0.3.77/0002-pulse-prevent-duplicates.patch 846 BLAKE2B ea2994854be1e235685e26cda9747c7866b394a154593e2c5108daaeea19512e98d52a8acd89d1113b6048843c93626402d375e72315c3eb09c8f2d1967164ab SHA512 d85485d3f94536d6446687cd4d0b3592b0f4411b0ee91cc2b4719beeb99272e26f611b24a70b251d58a1e3c6c163d2204ae54db328b342d6c9ee9486650b06d9
AUX 0.3.80/0001-aes-support-both-webrtc-versions.patch 9037 BLAKE2B 9222a1b9004cf410a06bfb29f17b749f2c940b9ce91973d7d58785ba47899bc0cd22b010818aaebb68af729972b8fe5f99c04926ea51af92960bf9567e87ac79 SHA512 34f005a38a99d8d06c1adf8d71a28142f8d4450ae72ffd8d19001485555f681a3ebcdfc094fea558e3c9610b7c5c6bbecad9acea73d0de3c5e9de905d6080044
+AUX 0.3.82/0001-alsa-Ignore-PCM-devices-with-udev-env-ACP_IGNORE.patch 2373 BLAKE2B 3e983c5d194d17b6d2e3c6759b766185959154e0b499e363e63c1b5d0c84922dc61acf5e66ac10c7a2a542f193fc95c5a356a049f52d83da13094e3a95257f2b SHA512 cadf4ac80dd719f9776e91e4927cd6c7cdfacaded4583814006c826e8cf0e5933094a0295bc6d44f571ff971a2cd17058f5e1d024d33d74b0df59df6dc646a11
+AUX 0.3.82/0002-alsa-don-t-try-to-link-when-prepare-fails.patch 935 BLAKE2B ed947ed93ed0b750c6fc5d8ebc34b0fca0d8bcd72e303ac13575a061056cbbeb2b85b5f7666ac6513948648162ea88ebde2542697b4619a845826d4fdedf4b5b SHA512 38961a2fff5a2e68fb6102abf56b0325bd9f962771bb1c5749f435faa76983a710e6fc87ba316d9acde8cf253789c26fb6912944f44028f2cf81a383966c437f
+AUX 0.3.82/0003-context-relax-quantum-change-conditions.patch 1277 BLAKE2B b60f924b2b113cdbbec6c715615726e1957cf2c0204da088e3f4cbce77885c12f9b8f3951749a051c5337e1410d9acd2fdd227ec4564dd16a1629783d2ae0993 SHA512 a8afa701b568e1ecf8872633d8c568da6c5037cc99f2e9d08420ec36e049982d391e5d261031849c14a2547f580e99964dd4a444c3f7b2632e93bd67f4abd631
AUX 99-pipewire-default-hook.conf 540 BLAKE2B cec76e78db9db290054bf766774c284d7a7a1374c453802eb1bdc19db9289856ec7b8643acbab916a39ca859d543deca111e3b0f110d1904343221c1573ffc17 SHA512 ef891e38c6f40fce2904e240307147a58c48d780e8470dac8e28044cfb86ddeb163885a2362687791779379ad814f58ad5649b75ac4e82931c5bdd3f37a6ed01
AUX gentoo-pipewire-launcher.1 1633 BLAKE2B 36c8888693bd0389dc9b1e49d0501d2679956d88f6b7ac42f0347c3fe2259775dd7082cb0bbdeb54a232fcc8902faa8086203e0fe2437c0eea5f1927ba2d0de4 SHA512 8085c9a989f21ee7f2528d56d5b104c0d14024df06f5cb6cd2aa8168b58469c71b91c788706b11021d9dbddb647a2203175603f4f8aa7b33a63a7b7cf8b59d1f
AUX gentoo-pipewire-launcher.in-r2 2630 BLAKE2B e1a176c2b8558c56e250970cf99b78425384cafbc7086856ad389af47041d9b5203f201ebe53510e2e0d663b95447d482d219b0c3476eba7caf26c270b334ae7 SHA512 f5200fc99071aa8b7f4dde4cb9518909db3a79ebeb98d6c25bb216bf794028c4cb9573761a1a8ea6441d3a9478ab8cca7c31239f1f497cb2e9e8231f069d00bc
@@ -19,6 +22,6 @@ EBUILD pipewire-0.3.75-r3.ebuild 18118 BLAKE2B 08963fa4917ac0413ddc5eccd5415a218
EBUILD pipewire-0.3.77-r2.ebuild 18118 BLAKE2B 08963fa4917ac0413ddc5eccd5415a218d130d749fa87c7d3041750cf4967ce48ed6f978b2060de753cad813382f38d9d88cdc568ee2c0e1c2b4b9f3f1aa9921 SHA512 450b2a6ee200f8f02a52443cad33b66526f92ec7fc7bee11efefb960d98667036e7999fa76e60d6b61e8c48a8a027005c75dc2f1533a79750e3d2a692e7ba09f
EBUILD pipewire-0.3.80.ebuild 18190 BLAKE2B aaccdf9f7abd161932653f3183e939d3d8f2c0e1ae1221b389fd35d4d598cbd8bfedf7594fe0becfff063754c5712582265b453ec70ca5a368ca8826ef60439e SHA512 c0a71db2f574718f4576bfac5b682ce064ab051699c511def6ca8e3dee76cc6980ee0a977ced35e1b7e0ae400e441d05ceb863f29012b72016fe5b8aaa75e177
EBUILD pipewire-0.3.81.ebuild 18195 BLAKE2B 7b0a755c6ba881e8aad07683c3662e2891624ab7aa0c9567c9b3a33083892e3b753d387b3d718e26dc5b320720e364fae0253a5fa50614410aaf7b73287636c4 SHA512 750adb3020413ec3bffdc321090d699fb2e1cc14de8d1b25aebf408afd0866f83211914519a0062ea8698d87a4e44f0e0a0e8179e39ad68630b4bcfb62372e98
-EBUILD pipewire-0.3.82.ebuild 18264 BLAKE2B 7c36c5a221589805779e60ee412fc8e99ab370b41b1a8fc0345cb6fe918560e0429a035ffe9a7b0f2e31af450e2cd26ca3152481b6ff1adef3a1332dd8f8fbeb SHA512 a50a99514a1ab330926dedc76c6f18788a2b44a71d61896d5e0944b9320f8dd3d559e4205720abb1c9d26af4dd003e76c8e94255aea3b5a2a6168baceec62bed
+EBUILD pipewire-0.3.82-r1.ebuild 18264 BLAKE2B 7c36c5a221589805779e60ee412fc8e99ab370b41b1a8fc0345cb6fe918560e0429a035ffe9a7b0f2e31af450e2cd26ca3152481b6ff1adef3a1332dd8f8fbeb SHA512 a50a99514a1ab330926dedc76c6f18788a2b44a71d61896d5e0944b9320f8dd3d559e4205720abb1c9d26af4dd003e76c8e94255aea3b5a2a6168baceec62bed
EBUILD pipewire-9999.ebuild 18264 BLAKE2B 7c36c5a221589805779e60ee412fc8e99ab370b41b1a8fc0345cb6fe918560e0429a035ffe9a7b0f2e31af450e2cd26ca3152481b6ff1adef3a1332dd8f8fbeb SHA512 a50a99514a1ab330926dedc76c6f18788a2b44a71d61896d5e0944b9320f8dd3d559e4205720abb1c9d26af4dd003e76c8e94255aea3b5a2a6168baceec62bed
MISC metadata.xml 2156 BLAKE2B 974459115e0f3cf4e4c3ac15159740b42e01a093da37d8a27f80e122c9ab2a3fe9194443eaf08f9b66d613db90a14465abbe1b76816bce90e11a46c8409c7513 SHA512 cfe0fdb86c993f167507e22635878d6d7d5dcd48f4c23323231263551ceff986fc454700428ecb7d2ee2abe82093c35d8e7bd491020fd6dd3f3889c09e9020bb
diff --git a/media-video/pipewire/files/0.3.82/0001-alsa-Ignore-PCM-devices-with-udev-env-ACP_IGNORE.patch b/media-video/pipewire/files/0.3.82/0001-alsa-Ignore-PCM-devices-with-udev-env-ACP_IGNORE.patch
new file mode 100644
index 000000000000..12192fc8678a
--- /dev/null
+++ b/media-video/pipewire/files/0.3.82/0001-alsa-Ignore-PCM-devices-with-udev-env-ACP_IGNORE.patch
@@ -0,0 +1,69 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/fd969dab2878836fd8e9ac7d8fb92d1ede594f37
+
+From fd969dab2878836fd8e9ac7d8fb92d1ede594f37 Mon Sep 17 00:00:00 2001
+From: Hector Martin <marcan@marcan.st>
+Date: Sat, 14 Oct 2023 14:11:15 +0900
+Subject: [PATCH] alsa: Ignore PCM devices with udev env ACP_IGNORE
+
+When checking that a card has all of its PCM devices available, ignore
+any specific device with the ACP_IGNORE udev environment variable. This
+mirrors how we ignore whole cards, but specifically allows non-PipeWire
+software to own specific PCM devices.
+
+Note that this does not actually stop PipeWire from using those
+subdevices right now, we assume UCM configs take care of that. This
+should probably be implemented later to ensure PipeWire always stays
+away from them, but for now this fixes the issue where it refuses to
+probe the entire card.
+
+Fixes: #3570
+
+Signed-off-by: Hector Martin <marcan@marcan.st>
+---
+ spa/plugins/alsa/alsa-udev.c | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+diff --git a/spa/plugins/alsa/alsa-udev.c b/spa/plugins/alsa/alsa-udev.c
+index 3048d7363..58ff5032d 100644
+--- a/spa/plugins/alsa/alsa-udev.c
++++ b/spa/plugins/alsa/alsa-udev.c
+@@ -329,6 +329,27 @@ static int get_num_compress_offload_devices(unsigned int card_nr)
+ return errno != 0 ? -errno : num_dev;
+ }
+
++static int check_udev_environment(struct udev *udev, const char *devname)
++{
++ char path[PATH_MAX];
++ struct udev_device *dev;
++ int ret = 0;
++
++ /* Check for ACP_IGNORE on a specific PCM device (not the whole card) */
++ spa_scnprintf(path, sizeof(path), "/sys/class/sound/%s", devname);
++
++ dev = udev_device_new_from_syspath(udev, path);
++ if (dev == NULL)
++ return 0;
++
++ if (udev_device_get_property_value(dev, "ACP_IGNORE"))
++ ret = -ENXIO;
++
++ udev_device_unref(dev);
++
++ return ret;
++}
++
+ static int check_pcm_device_availability(struct impl *this, struct card *card,
+ int *num_pcm_devices)
+ {
+@@ -376,6 +397,9 @@ static int check_pcm_device_availability(struct impl *this, struct card *card,
+ card->card_nr, entry->d_name+3);
+ if (check_device_pcm_class(path) < 0)
+ continue;
++ /* Check udev environment */
++ if (check_udev_environment(this->udev, path) < 0)
++ continue;
+
+ /* Check busy status */
+ spa_scnprintf(path, sizeof(path), "/proc/asound/card%u/%s",
+--
+GitLab
diff --git a/media-video/pipewire/files/0.3.82/0002-alsa-don-t-try-to-link-when-prepare-fails.patch b/media-video/pipewire/files/0.3.82/0002-alsa-don-t-try-to-link-when-prepare-fails.patch
new file mode 100644
index 000000000000..c24b63036315
--- /dev/null
+++ b/media-video/pipewire/files/0.3.82/0002-alsa-don-t-try-to-link-when-prepare-fails.patch
@@ -0,0 +1,27 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/840a9487a404916b18bf945662720e8a6d5b3716
+
+From 840a9487a404916b18bf945662720e8a6d5b3716 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Mon, 16 Oct 2023 10:32:51 +0200
+Subject: [PATCH] alsa: don't try to link when prepare fails
+
+---
+ spa/plugins/alsa/alsa-pcm.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c
+index fbd67cf86..df40ea9e5 100644
+--- a/spa/plugins/alsa/alsa-pcm.c
++++ b/spa/plugins/alsa/alsa-pcm.c
+@@ -3042,7 +3042,8 @@ int spa_alsa_prepare(struct state *state)
+
+ spa_list_for_each(follower, &state->followers, driver_link) {
+ if (follower != state && !follower->matching) {
+- spa_alsa_prepare(follower);
++ if (spa_alsa_prepare(follower) < 0)
++ continue;
+ if (!follower->linked && state->auto_link)
+ do_link(state, follower);
+ }
+--
+GitLab
diff --git a/media-video/pipewire/files/0.3.82/0003-context-relax-quantum-change-conditions.patch b/media-video/pipewire/files/0.3.82/0003-context-relax-quantum-change-conditions.patch
new file mode 100644
index 000000000000..5827c25c9afc
--- /dev/null
+++ b/media-video/pipewire/files/0.3.82/0003-context-relax-quantum-change-conditions.patch
@@ -0,0 +1,37 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/19b02003b051878e46e93584a0eb60420a38abe1
+
+From 19b02003b051878e46e93584a0eb60420a38abe1 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Mon, 16 Oct 2023 16:18:18 +0200
+Subject: [PATCH] context: relax quantum change conditions
+
+We can change the quantum of a node while it is running just fine so
+relax the check.
+
+This was copied from the rate change logic, which is avoided while the
+node is running.
+
+This fixes a regression in dynamic quantum switching.
+
+Fixes #3574
+---
+ src/pipewire/context.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/src/pipewire/context.c b/src/pipewire/context.c
+index 1f5eaf296..e5ac4076a 100644
+--- a/src/pipewire/context.c
++++ b/src/pipewire/context.c
+@@ -1473,9 +1473,7 @@ again:
+ }
+
+ current_quantum = n->target_quantum;
+- if (!restore_quantum &&
+- (lock_quantum || need_resume || !running ||
+- (!force_quantum && (n->info.state > PW_NODE_STATE_IDLE)))) {
++ if (!restore_quantum && (lock_quantum || need_resume || !running)) {
+ pw_log_debug("%p: keep quantum:%u restore:%u lock:%u resume:%u "
+ "running:%u force:%u state:%s", context,
+ current_quantum, restore_quantum, lock_quantum, need_resume,
+--
+GitLab
diff --git a/media-video/pipewire/pipewire-0.3.82.ebuild b/media-video/pipewire/pipewire-0.3.82-r1.ebuild
index 96ac98602cae..96ac98602cae 100644
--- a/media-video/pipewire/pipewire-0.3.82.ebuild
+++ b/media-video/pipewire/pipewire-0.3.82-r1.ebuild