[pulseaudio-commits] [SCM] PulseAudio Sound Server branch, master, updated. v0.9.16-test1-21-g00c392d

Colin Guthrie gitmailer-noreply at 0pointer.de
Mon Jun 29 14:53:05 PDT 2009


This is an automated email from the git hooks/post-receive script. It was
generated because of a push to the "PulseAudio Sound Server" repository.

The master branch has been updated
      from  1ca76031092ab07682843fd70607696f6af7216f (commit)

- Log -----------------------------------------------------------------
00c392d bootstrap: Ship git-version-gen with the tarball.
59376b0 introspect: Fix a bug in sink/source info protocol handling related to ports.
a007d47 combine: Do not set (and update) description if the user passed one in during load.
7ee1b47 udev: Don't install the udev rules if we're not compiling udev support
-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                  |    2 +-
 bootstrap.sh                 |    5 ++
 src/Makefile.am              |    2 +
 src/modules/module-combine.c |   13 ++++-
 src/pulse/introspect.c       |  124 ++++++++++++++++++++++--------------------
 5 files changed, 84 insertions(+), 62 deletions(-)

-----------------------------------------------------------------------

commit 7ee1b471d96020305fa833819ab7a5a8f8a203ec
Author: Colin Guthrie <cguthrie at mandriva.org>
Date:   Sat Jun 27 12:29:40 2009 +0100

    udev: Don't install the udev rules if we're not compiling udev support

diff --git a/src/Makefile.am b/src/Makefile.am
index c221982..0d5bd85 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1051,8 +1051,10 @@ alsaprofilesets_DATA = \
 		modules/alsa/mixer/profile-sets/native-instruments-audio4dj.conf \
 		modules/alsa/mixer/profile-sets/native-instruments-audio8dj.conf
 
+if HAVE_UDEV
 udevrules_DATA = \
 		modules/alsa/mixer/profile-sets/90-pulseaudio.rules
+endif
 
 alsapaths_DATA = \
 		modules/alsa/mixer/paths/analog-input-aux.conf \

commit a007d4740f2afe2eef04acb7c1b6d8371e3417b4
Author: Colin Guthrie <cguthrie at mandriva.org>
Date:   Sat Jun 27 19:51:31 2009 +0100

    combine: Do not set (and update) description if the user passed one in during load.
    
    Note that this will not turn off auto-description setting if the user were to
    update the proplist later, so such a change could be short lived.

diff --git a/src/modules/module-combine.c b/src/modules/module-combine.c
index d50e59a..16de689 100644
--- a/src/modules/module-combine.c
+++ b/src/modules/module-combine.c
@@ -119,6 +119,7 @@ struct userdata {
     uint32_t adjust_time;
 
     pa_bool_t automatic;
+    pa_bool_t auto_desc;
 
     pa_hook_slot *sink_put_slot, *sink_unlink_slot, *sink_state_changed_slot;
 
@@ -756,6 +757,9 @@ static void update_description(struct userdata *u) {
 
     pa_assert(u);
 
+    if (!u->auto_desc)
+        return;
+
     if (pa_idxset_isempty(u->outputs)) {
         pa_sink_set_description(u->sink, "Simultaneous output");
         return;
@@ -1073,7 +1077,6 @@ int pa__init(pa_module*m) {
     pa_sink_new_data_set_name(&data, pa_modargs_get_value(ma, "sink_name", DEFAULT_SINK_NAME));
     pa_sink_new_data_set_sample_spec(&data, &ss);
     pa_sink_new_data_set_channel_map(&data, &map);
-    pa_proplist_sets(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "Simultaneous Output");
     pa_proplist_sets(data.proplist, PA_PROP_DEVICE_CLASS, "filter");
 
     if (slaves)
@@ -1085,6 +1088,14 @@ int pa__init(pa_module*m) {
         goto fail;
     }
 
+    /* Check proplist for a description & fill in a default value if not */
+    u->auto_desc = FALSE;
+    if (NULL == pa_proplist_gets(data.proplist, PA_PROP_DEVICE_DESCRIPTION)) {
+        u->auto_desc = TRUE;
+        pa_proplist_sets(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "Simultaneous Output");
+    }
+
+
     u->sink = pa_sink_new(m->core, &data, PA_SINK_LATENCY);
     pa_sink_new_data_done(&data);
 

commit 59376b039e10b1ceec5f4955361df2ba001abff3
Author: Colin Guthrie <cguthrie at mandriva.org>
Date:   Sun Jun 28 11:56:36 2009 +0100

    introspect: Fix a bug in sink/source info protocol handling related to ports.
    
    Previously the active_profile was extracted from the tagstruct regardless of
    the protocol version which caused errors while speaking to older version
    servers.

diff --git a/src/pulse/introspect.c b/src/pulse/introspect.c
index ab67f59..3414f7d 100644
--- a/src/pulse/introspect.c
+++ b/src/pulse/introspect.c
@@ -201,42 +201,44 @@ static void context_get_sink_info_callback(pa_pdispatch *pd, uint32_t command, u
                 goto finish;
             }
 
-            if (i.n_ports > 0) {
-                i.ports = pa_xnew(pa_sink_port_info*, i.n_ports+1);
-                i.ports[0] = pa_xnew(pa_sink_port_info, i.n_ports);
-
-                for (j = 0; j < i.n_ports; j++) {
-                    if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 ||
-                        pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 ||
-                        pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) {
-
-                        pa_context_fail(o->context, PA_ERR_PROTOCOL);
-                        pa_xfree(i.ports);
-                        pa_xfree(i.ports[0]);
-                        pa_proplist_free(i.proplist);
-                        goto finish;
+            if (o->context->version >= 16) {
+                if (i.n_ports > 0) {
+                    i.ports = pa_xnew(pa_sink_port_info*, i.n_ports+1);
+                    i.ports[0] = pa_xnew(pa_sink_port_info, i.n_ports);
+
+                    for (j = 0; j < i.n_ports; j++) {
+                        if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 ||
+                            pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 ||
+                            pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) {
+
+                            pa_context_fail(o->context, PA_ERR_PROTOCOL);
+                            pa_xfree(i.ports);
+                            pa_xfree(i.ports[0]);
+                            pa_proplist_free(i.proplist);
+                            goto finish;
+                        }
+
+                        i.ports[j] = &i.ports[0][j];
                     }
 
-                    i.ports[j] = &i.ports[0][j];
+                    i.ports[j] = NULL;
                 }
 
-                i.ports[j] = NULL;
-            }
-
-            if (pa_tagstruct_gets(t, &ap) < 0) {
-                pa_context_fail(o->context, PA_ERR_PROTOCOL);
-                pa_xfree(i.ports[0]);
-                pa_xfree(i.ports);
-                pa_proplist_free(i.proplist);
-                goto finish;
-            }
+                if (pa_tagstruct_gets(t, &ap) < 0) {
+                    pa_context_fail(o->context, PA_ERR_PROTOCOL);
+                    pa_xfree(i.ports[0]);
+                    pa_xfree(i.ports);
+                    pa_proplist_free(i.proplist);
+                    goto finish;
+                }
 
-            if (ap) {
-                for (j = 0; j < i.n_ports; j++)
-                    if (pa_streq(i.ports[j]->name, ap)) {
-                        i.active_port = i.ports[j];
-                        break;
-                    }
+                if (ap) {
+                    for (j = 0; j < i.n_ports; j++)
+                        if (pa_streq(i.ports[j]->name, ap)) {
+                            i.active_port = i.ports[j];
+                            break;
+                        }
+                }
             }
 
             i.mute = (int) mute;
@@ -428,42 +430,44 @@ static void context_get_source_info_callback(pa_pdispatch *pd, uint32_t command,
                 goto finish;
             }
 
-            if (i.n_ports > 0) {
-                i.ports = pa_xnew(pa_source_port_info*, i.n_ports+1);
-                i.ports[0] = pa_xnew(pa_source_port_info, i.n_ports);
+            if (o->context->version >= 16) {
+                if (i.n_ports > 0) {
+                    i.ports = pa_xnew(pa_source_port_info*, i.n_ports+1);
+                    i.ports[0] = pa_xnew(pa_source_port_info, i.n_ports);
 
-                for (j = 0; j < i.n_ports; j++) {
-                    if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 ||
-                        pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 ||
-                        pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) {
+                    for (j = 0; j < i.n_ports; j++) {
+                        if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 ||
+                            pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 ||
+                            pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) {
 
-                        pa_context_fail(o->context, PA_ERR_PROTOCOL);
-                        pa_xfree(i.ports[0]);
-                        pa_xfree(i.ports);
-                        pa_proplist_free(i.proplist);
-                        goto finish;
+                            pa_context_fail(o->context, PA_ERR_PROTOCOL);
+                            pa_xfree(i.ports[0]);
+                            pa_xfree(i.ports);
+                            pa_proplist_free(i.proplist);
+                            goto finish;
+                        }
+
+                        i.ports[j] = &i.ports[0][j];
                     }
 
-                    i.ports[j] = &i.ports[0][j];
+                    i.ports[j] = NULL;
                 }
 
-                i.ports[j] = NULL;
-            }
-
-            if (pa_tagstruct_gets(t, &ap) < 0) {
-                pa_context_fail(o->context, PA_ERR_PROTOCOL);
-                pa_xfree(i.ports[0]);
-                pa_xfree(i.ports);
-                pa_proplist_free(i.proplist);
-                goto finish;
-            }
+                if (pa_tagstruct_gets(t, &ap) < 0) {
+                    pa_context_fail(o->context, PA_ERR_PROTOCOL);
+                    pa_xfree(i.ports[0]);
+                    pa_xfree(i.ports);
+                    pa_proplist_free(i.proplist);
+                    goto finish;
+                }
 
-            if (ap) {
-                for (j = 0; j < i.n_ports; j++)
-                    if (pa_streq(i.ports[j]->name, ap)) {
-                        i.active_port = i.ports[j];
-                        break;
-                    }
+                if (ap) {
+                    for (j = 0; j < i.n_ports; j++)
+                        if (pa_streq(i.ports[j]->name, ap)) {
+                            i.active_port = i.ports[j];
+                            break;
+                        }
+                }
             }
 
             i.mute = (int) mute;

commit 00c392d72c63398145b1c95e46ea0bb44535dd9b
Author: Colin Guthrie <cguthrie at mandriva.org>
Date:   Sun Jun 28 12:56:57 2009 +0100

    bootstrap: Ship git-version-gen with the tarball.
    
    bootstrap.sh is already shipped and when rebootstrapping, it will call git-version-gen
    internally when processing configure.ac.
    
    In order to know when someone has rebootstrapped, we modify the tarball version to mark it
    as rebootstrapped. Not 100% sure this later stage is desired or if we should remove
    the .tarball-version file instead.

diff --git a/Makefile.am b/Makefile.am
index 4d45a07..5967f2c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,7 +17,7 @@
 
 ACLOCAL_AMFLAGS = -I m4
 
-EXTRA_DIST = bootstrap.sh LICENSE GPL LGPL doxygen/Makefile.am doxygen/Makefile.in doxygen/doxygen.conf.in README todo
+EXTRA_DIST = bootstrap.sh git-version-gen LICENSE GPL LGPL doxygen/Makefile.am doxygen/Makefile.in doxygen/doxygen.conf.in README todo
 SUBDIRS = src doxygen man po
 
 MAINTAINERCLEANFILES =
diff --git a/bootstrap.sh b/bootstrap.sh
index d5025db..aa9755f 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -46,6 +46,11 @@ if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then
     chmod -c +x  .git/hooks/pre-commit
 fi
 
+if [ -f .tarball-version ]; then
+    echo "Marking tarball version as modified."
+    echo -n `cat .tarball-version | sed 's/-rebootstrapped$//'`-rebootstrapped >.tarball-version
+fi
+
 # We check for this here, because if pkg-config is not found in the
 # system, it's likely that the pkg.m4 macro file is also not present,
 # which will make PKG_PROG_PKG_CONFIG be undefined and the generated

-- 
hooks/post-receive
PulseAudio Sound Server



More information about the pulseaudio-commits mailing list