[135601] trunk/dports/audio/pulseaudio

ionic at macports.org ionic at macports.org
Mon Apr 27 14:00:35 PDT 2015


Revision: 135601
          https://trac.macports.org/changeset/135601
Author:   ionic at macports.org
Date:     2015-04-27 14:00:35 -0700 (Mon, 27 Apr 2015)
Log Message:
-----------
pulseaudio: add record and playback module arguments for CoreAudio modules.

Modified Paths:
--------------
    trunk/dports/audio/pulseaudio/Portfile

Added Paths:
-----------
    trunk/dports/audio/pulseaudio/files/patch-src_modules_macosx_module_coreaudio_detect_device.c-add-record-playback-modarg.diff

Modified: trunk/dports/audio/pulseaudio/Portfile
===================================================================
--- trunk/dports/audio/pulseaudio/Portfile	2015-04-27 20:47:54 UTC (rev 135600)
+++ trunk/dports/audio/pulseaudio/Portfile	2015-04-27 21:00:35 UTC (rev 135601)
@@ -8,7 +8,7 @@
 
 name                pulseaudio
 version             6.0
-revision            3
+revision            4
 license             LGPL-2.1
 categories          audio
 maintainers         ionic openmaintainer
@@ -62,8 +62,8 @@
 }
 
 # DO NOT USE! Maintainer-only helper. DO NOT USE!
-#configure.cflags-append -g3 -ggdb3 -gdwarf-4 -O0
-#configure.cxxflags-append -g3 -ggdb3 -gdwarf-4 -O0
+configure.cflags-append -g3 -ggdb3 -gdwarf-4 -O0
+configure.cxxflags-append -g3 -ggdb3 -gdwarf-4 -O0
 
 # The last three patches make PulseAudio startup correctly.
 # Will hopefully be merged upstream soon.
@@ -78,7 +78,8 @@
                     patch-src_daemon_default.pa.in-skip-consolekit-and-systemdlogin.diff \
                     patch-src_modules_macosx_module_coreaudio_device.c-fix-device-names.diff \
                     patch-src_modules_macosx_module_coreaudio_device.c-fix-channels.diff \
-                    patch-src_modules_macosx_module_coreaudio_device.c-respect-PA_NAME_MAX.diff
+                    patch-src_modules_macosx_module_coreaudio_device.c-respect-PA_NAME_MAX.diff \
+                    patch-src_modules_macosx_module_coreaudio_detect_device.c-add-record-playback-modarg.diff
 
 # reconfigure using upstream autogen.sh for intltool 0.51 compatibility
 

Added: trunk/dports/audio/pulseaudio/files/patch-src_modules_macosx_module_coreaudio_detect_device.c-add-record-playback-modarg.diff
===================================================================
--- trunk/dports/audio/pulseaudio/files/patch-src_modules_macosx_module_coreaudio_detect_device.c-add-record-playback-modarg.diff	                        (rev 0)
+++ trunk/dports/audio/pulseaudio/files/patch-src_modules_macosx_module_coreaudio_detect_device.c-add-record-playback-modarg.diff	2015-04-27 21:00:35 UTC (rev 135601)
@@ -0,0 +1,123 @@
+--- src/modules/macosx/module-coreaudio-detect.c.old	2015-04-27 21:10:17.000000000 +0200
++++ src/modules/macosx/module-coreaudio-detect.c	2015-04-27 22:09:07.000000000 +0200
+@@ -39,10 +39,14 @@ PA_MODULE_AUTHOR("Daniel Mack");
+ PA_MODULE_DESCRIPTION("CoreAudio device detection");
+ PA_MODULE_VERSION(PACKAGE_VERSION);
+ PA_MODULE_LOAD_ONCE(true);
+-PA_MODULE_USAGE("ioproc_frames=<passed on to module-coreaudio-device> ");
++PA_MODULE_USAGE("ioproc_frames=<passed on to module-coreaudio-device> "
++                "record=<enable source?> "
++                "playback=<enable sink?> ");
+ 
+ static const char* const valid_modargs[] = {
+     "ioproc_frames",
++    "record",
++    "playback",
+     NULL
+ };
+ 
+@@ -58,6 +62,8 @@ struct userdata {
+     int detect_fds[2];
+     pa_io_event *detect_io;
+     unsigned int ioproc_frames;
++    bool record;
++    bool playback;
+     PA_LLIST_HEAD(ca_device, devices);
+ };
+ 
+@@ -87,9 +93,9 @@ static int ca_device_added(struct pa_mod
+         return 0;
+ 
+     if (u->ioproc_frames)
+-        args = pa_sprintf_malloc("object_id=%d ioproc_frames=%d", (int) id, u->ioproc_frames);
++        args = pa_sprintf_malloc("object_id=%d ioproc_frames=%d record=%d playback=%d", (int) id, u->ioproc_frames, (int) u->record, (int) u->playback);
+     else
+-        args = pa_sprintf_malloc("object_id=%d", (int) id);
++        args = pa_sprintf_malloc("object_id=%d record=%d playback=%d", (int) id, (int) u->record, (int) u->playback);
+ 
+     pa_log_debug("Loading %s with arguments '%s'", DEVICE_MODULE_NAME, args);
+     mod = pa_module_load(m->core, DEVICE_MODULE_NAME, args);
+@@ -212,6 +218,7 @@ int pa__init(pa_module *m) {
+     pa_modargs *ma;
+ 
+     pa_assert(m);
++    pa_assert(m->core);
+ 
+     m->userdata = u;
+ 
+@@ -220,6 +227,16 @@ int pa__init(pa_module *m) {
+         goto fail;
+     }
+ 
++    if (pa_modargs_get_value_boolean(ma, "record", &u->record) < 0 || pa_modargs_get_value_boolean(ma, "playback", &u->playback) < 0) {
++        pa_log("record= and playback= expect boolean argument.");
++        goto fail;
++    }
++
++    if (!u->playback && !u->record) {
++        pa_log("neither playback nor record enabled for device.");
++        goto fail;
++    }
++
+     pa_modargs_get_value_u32(ma, "ioproc_frames", &u->ioproc_frames);
+ 
+     property_address.mSelector = kAudioHardwarePropertyDevices;
+--- src/modules/macosx/module-coreaudio-device.c.old	2015-04-27 21:10:17.000000000 +0200
++++ src/modules/macosx/module-coreaudio-device.c	2015-04-27 22:04:21.000000000 +0200
+@@ -58,11 +58,15 @@ PA_MODULE_DESCRIPTION("CoreAudio device"
+ PA_MODULE_VERSION(PACKAGE_VERSION);
+ PA_MODULE_LOAD_ONCE(false);
+ PA_MODULE_USAGE("object_id=<the CoreAudio device id> "
+-                "ioproc_frames=<audio frames per IOProc call> ");
++                "ioproc_frames=<audio frames per IOProc call> "
++                "record=<enable source?> "
++                "playback=<enable sink?> ");
+ 
+ static const char* const valid_modargs[] = {
+     "object_id",
+     "ioproc_frames",
++    "record",
++    "playback",
+     NULL
+ };
+ 
+@@ -772,6 +776,7 @@ int pa__init(pa_module *m) {
+     UInt32 size, frames;
+     struct userdata *u = NULL;
+     pa_modargs *ma = NULL;
++    bool record = true, playback = true;
+     char tmp[64];
+     pa_card_new_data card_new_data;
+     pa_card_profile *p;
+@@ -786,6 +791,16 @@ int pa__init(pa_module *m) {
+         goto fail;
+     }
+ 
++    if (pa_modargs_get_value_boolean(ma, "record", &record) < 0 || pa_modargs_get_value_boolean(ma, "playback", &playback) < 0) {
++        pa_log("record= and playback= expect boolean argument.");
++        goto fail;
++    }
++
++    if (!playback && !record) {
++        pa_log("neither playback nor record enabled for device.");
++        goto fail;
++    }
++
+     u = pa_xnew0(struct userdata, 1);
+     u->module = m;
+     m->userdata = u;
+@@ -845,10 +860,12 @@ int pa__init(pa_module *m) {
+     PA_LLIST_HEAD_INIT(coreaudio_sink, u->sinks);
+ 
+     /* create sinks */
+-    ca_device_create_streams(m, false);
++    if (playback)
++        ca_device_create_streams(m, false);
+ 
+     /* create sources */
+-    ca_device_create_streams(m, true);
++    if (record)
++        ca_device_create_streams(m, true);
+ 
+     /* create the message thread */
+     if (!(u->thread = pa_thread_new(u->device_name, thread_func, u))) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150427/938d00e2/attachment-0001.html>


More information about the macports-changes mailing list