Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (9ff75ee3bc8fac51cf1cc9de327a6afa4f7ca2b7)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Pavel Vinogradov <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (9ff75ee3bc8fac51cf1cc9de327a6afa4f7ca2b7)
  • Date: Thu, 17 Feb 2022 20:56:27 +0000

GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemaage.org>:

video/pipewire/DETAILS | 4
video/pipewire/HISTORY | 4
video/pipewire/PRE_BUILD | 4
video/pipewire/patches/alsa-udev.patch | 161
---------------------------------
4 files changed, 6 insertions(+), 167 deletions(-)

New commits:
commit 9ff75ee3bc8fac51cf1cc9de327a6afa4f7ca2b7
Author: Pavel Vinogradov <public AT sourcemaage.org>
Commit: Pavel Vinogradov <public AT sourcemaage.org>

video/pipewire: version 0.3.46

diff --git a/video/pipewire/DETAILS b/video/pipewire/DETAILS
index 6595da2..e1a6e9f 100755
--- a/video/pipewire/DETAILS
+++ b/video/pipewire/DETAILS
@@ -1,7 +1,7 @@
source $GRIMOIRE/MESON_FUNCTIONS
SPELL=pipewire
- VERSION=0.3.45
-
SOURCE_HASH=sha512:d1ec402e31ec5d6622b6daea1c77b47fd80e06b0dec5171769f72aa600d10a3be264691e2041e695d743fc61dae7b4da4f80a760ca81d8623c3c77f5be0dd2dc
+ VERSION=0.3.46
+
SOURCE_HASH=sha512:15da8eef5dd2d89e4de64294bac2f065909d89ae3a834781bf5ac6fe5aee9a2884f8089868b6f0b24d20da419d4ef4813cbee1686633c14b8578134478156819
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
WEB_SITE=https://pipewire.org
diff --git a/video/pipewire/HISTORY b/video/pipewire/HISTORY
index b56e9ff..7d4d30f 100644
--- a/video/pipewire/HISTORY
+++ b/video/pipewire/HISTORY
@@ -1,3 +1,7 @@
+2022-02-17 Pavel Vinogradov <public AT sourcemage.org>
+ * DETAILS: version 0.3.46
+ * PRE_BUILD, patches/alsa-udev.patch: dropped
+
2022-02-04 Pavel Vinogradov <public AT sourcemage.org>
* PRE_BUILD, patches/alsa-udev.patch: added upstream patch to better
detect
alsa devices
diff --git a/video/pipewire/PRE_BUILD b/video/pipewire/PRE_BUILD
deleted file mode 100755
index 005bf6d..0000000
--- a/video/pipewire/PRE_BUILD
+++ /dev/null
@@ -1,4 +0,0 @@
-default_pre_build &&
-cd "${SOURCE_DIRECTORY}" &&
-
-apply_patch_dir patches
diff --git a/video/pipewire/patches/alsa-udev.patch
b/video/pipewire/patches/alsa-udev.patch
deleted file mode 100644
index b6d7288..0000000
--- a/video/pipewire/patches/alsa-udev.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-From 97a5fe80c1d0fb0d8173a61a87051053cff7a5c2 Mon Sep 17 00:00:00 2001
-From: Pauli Virtanen <pav AT iki.fi>
-Date: Thu, 3 Feb 2022 19:23:23 +0200
-Subject: [PATCH] spa/alsa-udev: fix /proc/asound handling without
- CONFIG_SND_VERBOSE_PROCFS
-
-For kernels compiled with CONFIG_SND_VERBOSE_PROCFS=n, the pcmXX
-/proc/asound entries do not exist. In that case, the "device busy"
-check cannot be done, but we should still check existence of PCM devices
-correctly.
-
-Count the number of PCM devices from /dev/snd, which should work also
-without /proc/asound or /sysfs/class/sound.
----
- spa/plugins/alsa/alsa-udev.c | 88 ++++++++++++++++++++++++++++++------
- 1 file changed, 73 insertions(+), 15 deletions(-)
-
-diff --git a/spa/plugins/alsa/alsa-udev.c b/spa/plugins/alsa/alsa-udev.c
-index 572bb8a32..08373239d 100644
---- a/spa/plugins/alsa/alsa-udev.c
-+++ b/spa/plugins/alsa/alsa-udev.c
-@@ -246,6 +246,60 @@ static void unescape(const char *src, char *dst)
- *d = 0;
- }
-
-+static int check_device_pcm_class(const char *devname)
-+{
-+ FILE *f;
-+ char path[PATH_MAX];
-+ char buf[16];
-+ size_t sz;
-+
-+ /* Check device class */
-+ spa_scnprintf(path, sizeof(path), "/sys/class/sound/%s/pcm_class",
-+ devname);
-+ f = fopen(path, "r");
-+ if (f == NULL)
-+ return -errno;
-+ sz = fread(buf, 1, sizeof(buf) - 1, f);
-+ buf[sz] = '\0';
-+ fclose(f);
-+ return spa_strstartswith(buf, "modem") ? -ENXIO : 0;
-+}
-+
-+static int get_num_pcm_devices(unsigned int card_id)
-+{
-+ char prefix[32];
-+ DIR *snd = NULL;
-+ struct dirent *entry;
-+ int num_dev = 0;
-+ int res;
-+
-+ /* Check if card has PCM devices, without opening them */
-+
-+ spa_scnprintf(prefix, sizeof(prefix), "pcmC%uD", card_id);
-+
-+ if ((snd = opendir("/dev/snd")) == NULL)
-+ return -errno;
-+
-+ while ((errno = 0, entry = readdir(snd)) != NULL) {
-+ if (!(entry->d_type == DT_CHR &&
-+ spa_strstartswith(entry->d_name, prefix)))
-+ continue;
-+
-+ res = check_device_pcm_class(entry->d_name);
-+ if (res == 0 || res == -ENOENT) {
-+ /* count device also if sysfs status file not there */
-+ ++num_dev;
-+ }
-+ }
-+ if (errno != 0)
-+ res = -errno;
-+ else
-+ res = num_dev;
-+
-+ closedir(snd);
-+ return res;
-+}
-+
- static int check_device_available(struct impl *this, struct device *device,
int *num_pcm)
- {
- char path[PATH_MAX];
-@@ -256,14 +310,26 @@ static int check_device_available(struct impl *this,
struct device *device, int
- struct dirent *entry, *entry_pcm;
- int res;
-
-+ res = get_num_pcm_devices(device->id);
-+ if (res < 0) {
-+ spa_log_error(this->log, "Error finding PCM devices for ALSA
card %u: %s",
-+ (unsigned int)device->id, spa_strerror(res));
-+ return res;
-+ }
-+ *num_pcm = res;
-+
-+ spa_log_debug(this->log, "card %u has %d pcm device(s)", (unsigned
int)device->id, *num_pcm);
-+
- /*
- * Check if some pcm devices of the card are busy. Check it via
/proc, as we
- * don't want to actually open any devices using alsa-lib (generates
uncontrolled
- * number of inotify events), or replicate its subdevice logic.
-+ *
-+ * The pcmXX directories do not exist if kernel is compiled with
-+ * CONFIG_SND_VERBOSE_PROCFS=n. In that case, the busy check always
-+ * succeeds.
- */
-
-- *num_pcm = 0;
--
- spa_scnprintf(path, sizeof(path), "/proc/asound/card%u", (unsigned
int)device->id);
-
- if ((card = opendir(path)) == NULL)
-@@ -274,16 +340,9 @@ static int check_device_available(struct impl *this,
struct device *device, int
- spa_strstartswith(entry->d_name, "pcm")))
- continue;
-
-- /* Check device class */
-- spa_scnprintf(path, sizeof(path),
"/sys/class/sound/pcmC%uD%s/pcm_class",
-+ spa_scnprintf(path, sizeof(path), "pcmC%uD%s",
- (unsigned int)device->id, entry->d_name+3);
-- f = fopen(path, "r");
-- if (f == NULL)
-- goto done;
-- sz = fread(buf, 1, sizeof(buf) - 1, f);
-- buf[sz] = '\0';
-- fclose(f);
-- if (spa_strstartswith(buf, "modem"))
-+ if (check_device_pcm_class(path) < 0)
- continue;
-
- /* Check busy status */
-@@ -319,8 +378,6 @@ static int check_device_available(struct impl *this,
struct device *device, int
- if (errno != 0)
- goto done;
-
-- ++*num_pcm;
--
- closedir(pcm);
- pcm = NULL;
- }
-@@ -352,15 +409,16 @@ static int emit_object_info(struct impl *this, struct
device *device)
- * device->emitted to true. alsalib functions can be used after that.
- */
-
-+ snprintf(path, sizeof(path), "hw:%u", id);
-+
- if ((res = check_device_available(this, device, &pcm)) < 0)
- return res;
- if (pcm == 0) {
- spa_log_debug(this->log, "no pcm devices for %s", path);
- device->ignored = true;
-- return 0;
-+ return -ENODEV;
- }
-
-- snprintf(path, sizeof(path), "hw:%u", id);
- spa_log_debug(this->log, "emitting card %s", path);
- device->emitted = true;
-
---
-GitLab
-



  • [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (9ff75ee3bc8fac51cf1cc9de327a6afa4f7ca2b7), Pavel Vinogradov, 02/17/2022

Archive powered by MHonArc 2.6.24.

Top of Page