<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel">
    <title>gmane.comp.java.openjdk.distro-packaging.devel</title>
    <link>http://blog.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3469"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3468"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3467"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3466"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3465"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3464"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3463"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3462"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3461"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3460"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3459"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3458"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3457"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3456"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3455"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3454"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3453"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3452"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3451"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3450"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3469">
    <title>changeset in /hg/icedtea6: 2008-10-12  Matthias Klose  &lt;doko&lt; at &gt;ubu...</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3469</link>
    <description>changeset 9032c6fda5c2 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9032c6fda5c2
description:
2008-10-12  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

        * Makefile.am (stamps/pulse-java.stamp): Add -I$(ICEDTEA_BOOT_DIR)/include
        to build the source files.

diffstat:

2 files changed, 6 insertions(+), 6 deletions(-)
ChangeLog   |    2 +-
Makefile.am |   10 +++++-----

diffs (32 lines):

diff -r df8d2a8c69c8 -r 9032c6fda5c2 ChangeLog
--- a/ChangeLogSun Oct 12 15:45:59 2008 +0200
+++ b/ChangeLogSun Oct 12 16:31:50 2008 +0200
&lt; at &gt;&lt; at &gt; -1,7 +1,7 &lt; at &gt;&lt; at &gt; 2008-10-12  Matthias Klose  &lt;doko&lt; at &gt;ubuntu
 2008-10-12  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
 * Makefile.am (stamps/pulse-java.stamp): Add -I$(ICEDTEA_BOOT_DIR)/include
-to build jni-common.c.
+to build the source files.
 
 2008-10-11  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
diff -r df8d2a8c69c8 -r 9032c6fda5c2 Makefile.am
--- a/Makefile.amSun Oct 12 15:45:59 2008 +0200
+++ b/Makefile.amSun Oct 12 16:31:50 2008 +0200
&lt; at &gt;&lt; at &gt; -1422,11 +1422,11 &lt; at &gt;&lt; at &gt; stamps/pulse-java.stamp: stamps/pulse-ja
 stamps/pulse-java.stamp: stamps/pulse-java-jar.stamp stamps/pulse-java-headers.stamp
 if ENABLE_PULSE_JAVA
 $(CC) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c
-$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c
-$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c
-$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c
-$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c 
-$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c 
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c
 $(CC) $(LDFLAGS) -shared $(LIBPULSE_LIBS) -o libpulse-java.so org_*pulseaudio*.o jni-common.o
 mv org_classpath_icedtea_pulseaudio_*.o $(PULSE_JAVA_CLASS_DIR)
 endif

</description>
    <dc:creator>doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-12T14:32:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3468">
    <title>escape bootclasspath single quotes</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3468</link>
    <description>Hi!

The following patch seems to fix my problems with undefined SNMP stuff,
like:

incorrect classpath: /export/home/twisti/projects/openjdk/icedtea6/build-hotspot/../rt/com/sun/jmx/snmp/SnmpDataTypeEnums.java
----------
1. ERROR in /export/home/twisti/projects/openjdk/icedtea6/build-hotspot/../rt/com/sun/jmx/snmp/SnmpOid.java (at line 40)
public class SnmpOid extends SnmpValue {
             ^^^^^^^
The hierarchy of the type SnmpOid is inconsistent
----------

I think it's related to this "incorrect classpath" thing.  Are there any
reasons to not commit this patch?

- Christian


--- icedtea6.64f23360289f/Makefile.am2008-10-12 15:54:24.158071013 +0200
+++ /export/home/twisti/projects/openjdk/icedtea6/Makefile.am2008-10-12 15:50:15.095452724 +0200
&lt; at &gt;&lt; at &gt; -1235,14 +1235,14 &lt; at &gt;&lt; at &gt; stamps/hotspot-tools-class-files.stamp: 
             -source 1.5 \
             -sourcepath \
       'hotspot-tools:$(OPENJDK_SOURCEPATH_DIRS):$(ABS_SOURCE_DIRS)' \
-            -bootclasspath '' &lt; at &gt;$&lt; ; \
+            -bootclasspath \'\' &lt; at &gt;$&lt; ; \
 else \
   $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g \
     -d lib/hotspot-tools \
     -source 1.5 \
     -sourcepath \
       'hotspot-tools:$(OPENJDK_SOURCEPATH_DIRS):$(ABS_SOURCE_DIRS)' \
-    -bootclasspath '' &lt; at &gt;$&lt; ; \
+    -bootclasspath \'\' &lt; at &gt;$&lt; ; \
 fi
 mkdir -p stamps
 touch stamps/hotspot-tools-class-files.stamp
&lt; at &gt;&lt; at &gt; -1287,13 +1287,13 &lt; at &gt;&lt; at &gt; stamps/rt-class-files.stamp: rt-source-f
     -source 1.5 \
     -sourcepath \
       '$(OPENJDK_SOURCEPATH_DIRS):$(abs_top_builddir)/generated' \
-    -bootclasspath '' &lt; at &gt;$&lt; ; \
+    -bootclasspath \'\' &lt; at &gt;$&lt; ; \
 else \
   $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d lib/rt \
             -source 1.5 \
             -sourcepath \
       '$(OPENJDK_SOURCEPATH_DIRS):$(abs_top_builddir)/generated' \
-            -bootclasspath '' &lt; at &gt;$&lt; ; \
+            -bootclasspath \'\' &lt; at &gt;$&lt; ; \
 fi
 cp -r $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources \
   lib/rt/net/sourceforge/jnlp/
&lt; at &gt;&lt; at &gt; -1334,12 +1334,12 &lt; at &gt;&lt; at &gt; stamps/extra-class-files.stamp: extra-so
   $(JAVAC) $(MEMORY_LIMIT) -g -d extra-lib \
     -source 1.5 \
     -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \
-    -bootclasspath '' &lt; at &gt;extra-source-files.txt ; \
+    -bootclasspath \'\' &lt; at &gt;extra-source-files.txt ; \
 else \
   $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d extra-lib \
             -source 1.5 \
             -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \
-            -bootclasspath '' &lt; at &gt;extra-source-files.txt ; \
+            -bootclasspath \'\' &lt; at &gt;extra-source-files.txt ; \
 fi
 cp -r $(abs_top_srcdir)/extra/net/sourceforge/jnlp/about/resources \
   extra-lib/net/sourceforge/jnlp/about



</description>
    <dc:creator>Christian Thalinger</dc:creator>
    <dc:date>2008-10-12T13:58:34</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3467">
    <title>changeset in /hg/icedtea6: 2008-10-12  Matthias Klose  &lt;doko&lt; at &gt;ubu...</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3467</link>
    <description>changeset df8d2a8c69c8 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=df8d2a8c69c8
description:
2008-10-12  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

        * Makefile.am (stamps/pulse-java.stamp): Add -I$(ICEDTEA_BOOT_DIR)/include
        to build jni-common.c.

diffstat:

2 files changed, 6 insertions(+), 1 deletion(-)
ChangeLog   |    5 +++++
Makefile.am |    2 +-

diffs (24 lines):

diff -r 64f23360289f -r df8d2a8c69c8 ChangeLog
--- a/ChangeLogSat Oct 11 18:34:47 2008 +0200
+++ b/ChangeLogSun Oct 12 15:45:59 2008 +0200
&lt; at &gt;&lt; at &gt; -1,3 +1,8 &lt; at &gt;&lt; at &gt; 2008-10-11  Matthias Klose  &lt;doko&lt; at &gt;ubuntu
+2008-10-12  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+
+* Makefile.am (stamps/pulse-java.stamp): Add -I$(ICEDTEA_BOOT_DIR)/include
+to build jni-common.c.
+
 2008-10-11  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
 * Makefile.am (clean-pulse-java): Don't rm -rf / if configuring
diff -r 64f23360289f -r df8d2a8c69c8 Makefile.am
--- a/Makefile.amSat Oct 11 18:34:47 2008 +0200
+++ b/Makefile.amSun Oct 12 15:45:59 2008 +0200
&lt; at &gt;&lt; at &gt; -1421,7 +1421,7 &lt; at &gt;&lt; at &gt; endif
 
 stamps/pulse-java.stamp: stamps/pulse-java-jar.stamp stamps/pulse-java-headers.stamp
 if ENABLE_PULSE_JAVA
-$(CC) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c
+$(CC) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c
 $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c
 $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c
 $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c

</description>
    <dc:creator>doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-12T13:46:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3466">
    <title>changeset in /hg/icedtea6: 2008-10-11  Matthias Klose  &lt;doko&lt; at &gt;ubu...</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3466</link>
    <description>changeset 64f23360289f in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=64f23360289f
description:
2008-10-11  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

        * Makefile.am (stamps/pulse-java.stamp): Remove -fpic flag, add
        -fPIC to build jni-common.c. (gcjwebplugin.so): Use -fPIC.

diffstat:

2 files changed, 10 insertions(+), 7 deletions(-)
ChangeLog   |    3 +++
Makefile.am |   14 +++++++-------

diffs (44 lines):

diff -r 72f37a7f8077 -r 64f23360289f ChangeLog
--- a/ChangeLogSat Oct 11 17:28:17 2008 +0200
+++ b/ChangeLogSat Oct 11 18:34:47 2008 +0200
&lt; at &gt;&lt; at &gt; -2,6 +2,9 &lt; at &gt;&lt; at &gt; 2008-10-11  Matthias Klose  &lt;doko&lt; at &gt;ubuntu
 
 * Makefile.am (clean-pulse-java): Don't rm -rf / if configuring
 without pulseaudio, remove jni-common.o.
+
+* Makefile.am (stamps/pulse-java.stamp): Remove -fpic flag, add
+-fPIC to build jni-common.c. (gcjwebplugin.so): Use -fPIC.
 
 2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 * src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java
diff -r 72f37a7f8077 -r 64f23360289f Makefile.am
--- a/Makefile.amSat Oct 11 17:28:17 2008 +0200
+++ b/Makefile.amSat Oct 11 18:34:47 2008 +0200
&lt; at &gt;&lt; at &gt; -1408,7 +1408,7 &lt; at &gt;&lt; at &gt; gcjwebplugin.so: gcjwebplugin.cc
   $(MOZILLA_LIBS) $(GLIB_CFLAGS) $(GLIB_LIBS) \
   $(GTK_CFLAGS) $(GTK_LIBS) \
   -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \
-  -fpic -shared -o $&lt; at &gt; $&lt;
+  -fPIC -shared -o $&lt; at &gt; $&lt;
 
 clean-gcjwebplugin:
 rm -f gcjwebplugin.so
&lt; at &gt;&lt; at &gt; -1421,12 +1421,12 &lt; at &gt;&lt; at &gt; endif
 
 stamps/pulse-java.stamp: stamps/pulse-java-jar.stamp stamps/pulse-java-headers.stamp
 if ENABLE_PULSE_JAVA
-$(CC) $(CFLAGS) -c $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c
-$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fpic -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c
-$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fpic -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c
-$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fpic -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c
-$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fpic -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c 
-$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fpic -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c
+$(CC) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c 
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c
 $(CC) $(LDFLAGS) -shared $(LIBPULSE_LIBS) -o libpulse-java.so org_*pulseaudio*.o jni-common.o
 mv org_classpath_icedtea_pulseaudio_*.o $(PULSE_JAVA_CLASS_DIR)
 endif

</description>
    <dc:creator>doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-11T16:34:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3465">
    <title>WARNING: Don't run "make clean" in an icedtea6 checkout (rev 1080or 1081)</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3465</link>
    <description>Please don't run "make clean" in an icedtea6 checkout (rev 1080 or 1081), if the build is configured
without --enable-pulse-java, it will run "rm -rf /". Fixed in rev 1082.

  Matthias


</description>
    <dc:creator>Matthias Klose</dc:creator>
    <dc:date>2008-10-11T15:54:41</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3464">
    <title>changeset in /hg/icedtea6: 2008-10-11  Matthias Klose  &lt;doko&lt; at &gt;ubu...</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3464</link>
    <description>changeset 72f37a7f8077 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=72f37a7f8077
description:
2008-10-11  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

        * Makefile.am (clean-pulse-java): Remove jni-common.o.

diffstat:

2 files changed, 2 insertions(+), 1 deletion(-)
ChangeLog   |    2 +-
Makefile.am |    1 +

diffs (23 lines):

diff -r a0124c4addcd -r 72f37a7f8077 ChangeLog
--- a/ChangeLogSat Oct 11 16:26:33 2008 +0200
+++ b/ChangeLogSat Oct 11 17:28:17 2008 +0200
&lt; at &gt;&lt; at &gt; -1,7 +1,7 &lt; at &gt;&lt; at &gt; 2008-10-11  Matthias Klose  &lt;doko&lt; at &gt;ubuntu
 2008-10-11  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
 * Makefile.am (clean-pulse-java): Don't rm -rf / if configuring
-without pulseaudio.
+without pulseaudio, remove jni-common.o.
 
 2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 * src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java
diff -r a0124c4addcd -r 72f37a7f8077 Makefile.am
--- a/Makefile.amSat Oct 11 16:26:33 2008 +0200
+++ b/Makefile.amSat Oct 11 17:28:17 2008 +0200
&lt; at &gt;&lt; at &gt; -1499,6 +1499,7 &lt; at &gt;&lt; at &gt; if ENABLE_PULSE_JAVA
 rm -f stamps/pulse-java*.stamp
 rm -f pulse-java.jar
 rm -f libpulse-java.so
+rm -f jni-common.o
 endif
 
 # end of pulse-java

</description>
    <dc:creator>doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-11T15:28:30</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3463">
    <title>changeset in /hg/icedtea6: 2008-10-11  Matthias Klose  &lt;doko&lt; at &gt;ubu...</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3463</link>
    <description>changeset a0124c4addcd in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a0124c4addcd
description:
2008-10-11  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

        * Makefile.am (clean-pulse-java): Don't rm -rf / if configuring
        without pulseaudio.

diffstat:

2 files changed, 7 insertions(+)
ChangeLog   |    5 +++++
Makefile.am |    2 ++

diffs (29 lines):

diff -r e7b6e8e732e4 -r a0124c4addcd ChangeLog
--- a/ChangeLogFri Oct 10 17:12:18 2008 -0400
+++ b/ChangeLogSat Oct 11 16:26:33 2008 +0200
&lt; at &gt;&lt; at &gt; -1,3 +1,8 &lt; at &gt;&lt; at &gt; 2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+2008-10-11  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+
+* Makefile.am (clean-pulse-java): Don't rm -rf / if configuring
+without pulseaudio.
+
 2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 * src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java
 (getLine): LineUnavailablException is no longer thrown if the mixer is 
diff -r e7b6e8e732e4 -r a0124c4addcd Makefile.am
--- a/Makefile.amFri Oct 10 17:12:18 2008 -0400
+++ b/Makefile.amSat Oct 11 16:26:33 2008 +0200
&lt; at &gt;&lt; at &gt; -1493,11 +1493,13 &lt; at &gt;&lt; at &gt; endif
 
 
 clean-pulse-java:
+if ENABLE_PULSE_JAVA
 rm -rf $(PULSE_JAVA_CLASS_DIR)/*
 rm -f $(PULSE_JAVA_NATIVE_SRCDIR)/org_*.h
 rm -f stamps/pulse-java*.stamp
 rm -f pulse-java.jar
 rm -f libpulse-java.so
+endif
 
 # end of pulse-java
 

</description>
    <dc:creator>doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-11T14:26:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3462">
    <title>[Bug 211] lines and points are not shown in the icedtea applet</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3462</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=211





------- Comment #2 from jredrejo-a4J06JfGjT/oFSLKiXznI1XkRO1VkWRh&lt; at &gt;public.gmane.org  2008-10-11 10:39 -------
Created an attachment (id=111)
 --&gt; (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=111&amp;action=view)
Points and lines are shown using sun java plugin


</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-11T10:39:44</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3461">
    <title>[Bug 211] New: lines and points are not shown in the icedtea applet</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3461</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=211

           Summary: lines and points are not shown in the icedtea applet
           Product: IcedTea
           Version: unspecified
          Platform: PC
               URL: http://descartes.cnice.mec.es/materiales_didacticos/Repr
                    esentacion_numeros_en_recta/representa.htm
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: IcedTea
        AssignedTo: unassigned-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org
        ReportedBy: jredrejo-a4J06JfGjT/oFSLKiXznI1XkRO1VkWRh&lt; at &gt;public.gmane.org


When using the icedtea plugin in firefox (using Debian lenny, but tested it on
Ubuntu too), lines and points in geometric applets are not shown.
I'm uploading too screenshots, one using sun java plugin (it works with
versions 5 &amp; 6 ) and another one using icedtea, for you to see the differences.

Checking the applet messages at the terminal where I launched firefox, there
were not warnings or error messages.


</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-11T10:38:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3460">
    <title>[Bug 211] lines and points are not shown in the icedtea applet</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3460</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=211





------- Comment #1 from jredrejo-a4J06JfGjT/oFSLKiXznI1XkRO1VkWRh&lt; at &gt;public.gmane.org  2008-10-11 10:39 -------
Created an attachment (id=110)
 --&gt; (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=110&amp;action=view)
Points and lines are not shown using the icedtea plugin


</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-11T10:39:14</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3459">
    <title>changeset in /hg/icedtea6: 2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3459</link>
    <description>changeset e7b6e8e732e4 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e7b6e8e732e4
description:
2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
        * src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java
        (getLine): LineUnavailablException is no longer thrown if the mixer is
        not open
        (getTargetLines) : returns a Line[] array instead of a
        TargetDataLine[] array

        * src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine
        (open(AudioFormat format, int bufferSize)): throws
        LineUnavailableException if the mixer is not open

        * src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip
        (open()): throws LineUnavailableException if the mixer is not open

        * src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort
        (PulseAudioPort): calls open()

diffstat:

6 files changed, 32 insertions(+), 10 deletions(-)
ChangeLog                                                                      |   17 ++++++++++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java       |    5 ++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java   |    5 ++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java      |    6 ---
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java       |    8 ++--
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java |    1 

diffs (120 lines):

diff -r 8b85ec866923 -r e7b6e8e732e4 ChangeLog
--- a/ChangeLogFri Oct 10 16:03:12 2008 -0400
+++ b/ChangeLogFri Oct 10 17:12:18 2008 -0400
&lt; at &gt;&lt; at &gt; -1,3 +1,20 &lt; at &gt;&lt; at &gt; 2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+* src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java
+(getLine): LineUnavailablException is no longer thrown if the mixer is 
+not open
+(getTargetLines) : returns a Line[] array instead of a
+TargetDataLine[] array
+
+* src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine
+(open(AudioFormat format, int bufferSize)): throws
+LineUnavailableException if the mixer is not open
+
+* src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip
+(open()): throws LineUnavailableException if the mixer is not open
+
+* src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort
+(PulseAudioPort): calls open()
+
 2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
     Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
diff -r 8b85ec866923 -r e7b6e8e732e4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.javaFri Oct 10 16:03:12 2008 -0400
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.javaFri Oct 10 17:12:18 2008 -0400
&lt; at &gt;&lt; at &gt; -398,6 +398,11 &lt; at &gt;&lt; at &gt; public class PulseAudioClip extends Puls
 public void open(AudioFormat format, byte[] data, int offset, int bufferSize)
 throws LineUnavailableException {
 
+if(!PulseAudioMixer.getInstance().isOpen()) {
+throw new LineUnavailableException("The mixer needs to be opened before opening a line");
+}
+
+
 /* check for permission to play audio */
 AudioPermission perm = new AudioPermission("play", null);
 perm.checkGuard(null);
diff -r 8b85ec866923 -r e7b6e8e732e4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.javaFri Oct 10 16:03:12 2008 -0400
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.javaFri Oct 10 17:12:18 2008 -0400
&lt; at &gt;&lt; at &gt; -84,6 +84,10 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 if (isOpen) {
 throw new IllegalStateException("Line is already open");
 }
+if(!PulseAudioMixer.getInstance().isOpen()) {
+throw new LineUnavailableException("The mixer needs to be opened before opening a line");
+}
+
 
 createStream(format);
 addStreamListeners();
&lt; at &gt;&lt; at &gt; -277,7 +281,6 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 
 public void open() throws LineUnavailableException {
 assert (defaultFormat != null);
-
 open(defaultFormat, DEFAULT_BUFFER_SIZE);
 }
 
diff -r 8b85ec866923 -r e7b6e8e732e4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.javaFri Oct 10 16:03:12 2008 -0400
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.javaFri Oct 10 17:12:18 2008 -0400
&lt; at &gt;&lt; at &gt; -271,10 +271,6 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 throw new IllegalArgumentException("Line unsupported: " + info);
 }
 
-if (!isOpen) {
-throw new LineUnavailableException("The mixer isnt open");
-}
-
 AudioFormat[] formats = null;
 AudioFormat defaultFormat = null;
 
&lt; at &gt;&lt; at &gt; -410,7 +406,7 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 AudioPermission perm = new AudioPermission("record", null);
 perm.checkGuard(null);
 
-return (Line[]) targetLines.toArray(new TargetDataLine[0]);
+return (Line[]) targetLines.toArray(new Line[0]);
 }
 
 &lt; at &gt;Override
diff -r 8b85ec866923 -r e7b6e8e732e4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.javaFri Oct 10 16:03:12 2008 -0400
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.javaFri Oct 10 17:12:18 2008 -0400
&lt; at &gt;&lt; at &gt; -76,8 +76,8 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioPort ext
 controls.add(volumeControl);
 muteControl = new PulseAudioMuteControl(this, volumeControl);
 controls.add(muteControl);
-isOpen = true;
-
+//isOpen = true;
+open();
 /*
  * unlike other lines, Ports must either be open or close
  * 
&lt; at &gt;&lt; at &gt; -141,7 +141,9 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioPort ext
 
 &lt; at &gt;Override
 public void open() {
-
+if(isOpen) {
+return;
+}
 native_setVolume(volume);
 isOpen = true;
 fireLineEvent(new LineEvent(this, LineEvent.Type.OPEN,
diff -r 8b85ec866923 -r e7b6e8e732e4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.javaFri Oct 10 16:03:12 2008 -0400
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.javaFri Oct 10 17:12:18 2008 -0400
&lt; at &gt;&lt; at &gt; -51,7 +51,6 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetPort extend
 public PulseAudioTargetPort(String name, EventLoop eventLoop) {
 
 super(name, eventLoop);
-
 }
 
 public void open() {

</description>
    <dc:creator>Ioana Ivan</dc:creator>
    <dc:date>2008-10-10T21:21:34</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3458">
    <title>changeset in /hg/icedtea6: 2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3458</link>
    <description>changeset 8b85ec866923 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=8b85ec866923
description:
2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
        Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

    * INSTALL: Updated to reflect requirements for pulse-java.
    * Makefile.am
    (distclean-local): Clean up pulse-java.
    (EXTRA_DIST): Add pulseaudio folder.
    (stamps/icedtea.stamp): Added dependency on stamps/pulse-java.stamp. Also
    copy generated .jar and .so files to the jre images.
    (stamps/icedtea-debug.stamp): Likewise.
    (stamps/pulse-java.stamp): New target.
    (stamps/pulse-java-jar.stamp): Likewise.
    (stamps/pulse-java-class.stamp): Likewise.
    (stamps/pulse-java-headers.stamp): Likewise.
    (clean-pulse-java): Likewise.
    * README: Added note for PulseAudio based mixer.
    * acinclude.m4
    (FIND_PULSEAUDIO): Find the pulseaudio binary.
    * configure.ac: Check for pulseaudio server and header files being
    installed.
    * patches/icedtea-pulse-soundproperties.patch: Dont use pulse-java as the
    default Mixer.
    * pulseaudio/: Copied over sources from pulseaudio repository.

diffstat:

52 files changed, 11603 insertions(+), 4 deletions(-)
ChangeLog                                                                                   |   24 
INSTALL                                                                                     |    4 
Makefile.am                                                                                 |  134 
README                                                                                      |    8 
acinclude.m4                                                                                |    9 
configure.ac                                                                                |   25 
patches/icedtea-pulse-soundproperties.patch                                                 |   16 
pulseaudio/AUTHORS                                                                          |    5 
pulseaudio/COPYING                                                                          |  340 ++
pulseaudio/README                                                                           |   28 
pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider                 |    3 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java                      |   56 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java                   |   44 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java                         |  280 ++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java                         |  147 +
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java                    |  568 ++++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java                |  471 +++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java                    |  118 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java                   |  881 ++++++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java               |   62 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java           |   63 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMuteControl.java             |   78 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java            |   54 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java                    |  155 +
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java          |  340 ++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java              |   94 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java          |  373 ++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java              |   94 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java           |   90 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java                            |  777 +++++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java            |   84 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java         |   70 
pulseaudio/src/native/jni-common.c                                                          |  236 +
pulseaudio/src/native/jni-common.h                                                          |   90 
pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c                          |  362 ++
pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Operation.c                          |   83 
pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c               |  102 
pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioStreamVolumeControl.c      |   67 
pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c               |  107 
pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c                             | 1010 +++++++
pulseaudio/testsounds/README                                                                |    4 
pulseaudio/unittests/org/classpath/icedtea/pulseaudio/OtherSoundProvidersAvailableTest.java |  114 
pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java               |  623 ++++
pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioEventLoopOverhead.java      |  100 
pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerProviderTest.java      |  118 
pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerRawTest.java           |  120 
pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java              |  434 +++
pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java  |  305 ++
pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java     | 1345 ++++++++++
pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java         |  122 
pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLineTest.java     |  648 ++++
pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java         |  122 

diffs (truncated from 11924 to 500 lines):

diff -r fa94fa7ac782 -r 8b85ec866923 ChangeLog
--- a/ChangeLogThu Oct 09 11:25:22 2008 -0400
+++ b/ChangeLogFri Oct 10 16:03:12 2008 -0400
&lt; at &gt;&lt; at &gt; -1,3 +1,27 &lt; at &gt;&lt; at &gt; 2008-10-09  Gary Benson  &lt;gbenson&lt; at &gt;redhat
+2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+    Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+
+* INSTALL: Updated to reflect requirements for pulse-java.
+* Makefile.am 
+(distclean-local): Clean up pulse-java. 
+(EXTRA_DIST): Add pulseaudio folder.
+(stamps/icedtea.stamp): Added dependency on stamps/pulse-java.stamp. Also
+copy generated .jar and .so files to the jre images.
+(stamps/icedtea-debug.stamp): Likewise.
+(stamps/pulse-java.stamp): New target.
+(stamps/pulse-java-jar.stamp): Likewise.
+(stamps/pulse-java-class.stamp): Likewise.
+(stamps/pulse-java-headers.stamp): Likewise.
+(clean-pulse-java): Likewise.
+* README: Added note for PulseAudio based mixer.
+* acinclude.m4 
+(FIND_PULSEAUDIO): Find the pulseaudio binary.
+* configure.ac: Check for pulseaudio server and header files being
+installed.
+* patches/icedtea-pulse-soundproperties.patch: Dont use pulse-java as the
+default Mixer.
+* pulseaudio/: Copied over sources from pulseaudio repository.
+
 2008-10-09  Gary Benson  &lt;gbenson-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
     Andrew Haley  &lt;aph-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
diff -r fa94fa7ac782 -r 8b85ec866923 INSTALL
--- a/INSTALLThu Oct 09 11:25:22 2008 -0400
+++ b/INSTALLFri Oct 10 16:03:12 2008 -0400
&lt; at &gt;&lt; at &gt; -31,6 +31,10 &lt; at &gt;&lt; at &gt; zlib-devel
 zlib-devel
 rhino
 netbeans (harness, platform8, apisupport1, java2, ide9) - for visualvm
+
+For builing the PulseAudio based mixer, you will need
+pulseaudio-libs-devel &gt;= 0.9.11
+pulseaudio &gt;= 0.9.11
 
 For building the zero-assembler port (see below), you will need libffi.
 
diff -r fa94fa7ac782 -r 8b85ec866923 Makefile.am
--- a/Makefile.amThu Oct 09 11:25:22 2008 -0400
+++ b/Makefile.amFri Oct 10 16:03:12 2008 -0400
&lt; at &gt;&lt; at &gt; -28,6 +28,19 &lt; at &gt;&lt; at &gt; endif
 endif
 endif
 
+if ENABLE_PULSE_JAVA
+# include the makefile in pulseaudio subdir
+PULSE_JAVA_DIR = pulseaudio
+PULSE_JAVA_NATIVE_SRCDIR = $(PULSE_JAVA_DIR)/src/native
+PULSE_JAVA_JAVA_SRCDIR = $(PULSE_JAVA_DIR)/src/java
+PULSE_JAVA_CLASS_DIR = $(PULSE_JAVA_DIR)/bin
+else 
+PULSE_JAVA_DIR =
+PULSE_JAVA_NATIVE_SRCDIR =
+PULSE_JAVA_JAVA_SRCDIR =
+PULSE_JAVA_CLASS_DIR =
+endif
+
 if WITH_VISUALVM
 VISUALVM_PATCH = patches/icedtea-visualvm.patch
 else
&lt; at &gt;&lt; at &gt; -39,7 +52,7 &lt; at &gt;&lt; at &gt; endif
 
 all-local: icedtea-against-icedtea
 
-distclean-local: clean-copy clean-jtreg clean-jtreg-reports
+distclean-local: clean-copy clean-jtreg clean-jtreg-reports clean-pulse-java
 rm -rf stamps
 rm -f rt-source-files.txt \
   hotspot-tools-source-files.txt \
&lt; at &gt;&lt; at &gt; -83,7 +96,7 &lt; at &gt;&lt; at &gt; EXTRA_DIST = rt generated $(ICEDTEA_PATC
 overlays extra jconsole.desktop policytool.desktop \
 test/jtreg patches/icedtea-plugin.patch \
 patches/icedtea-liveconnect.patch IcedTeaPlugin.cc \
-HACKING patches/icedtea-visualvm.patch
+HACKING patches/icedtea-visualvm.patch pulseaudio
 
 # The Binary plugs directory is called jdk1.7.0 for historical reasons. The
 # name is completely irrelevant; only contains the plugs to build IcedTea.
&lt; at &gt;&lt; at &gt; -520,6 +533,11 &lt; at &gt;&lt; at &gt; ICEDTEA_PATCHES += \
 patches/icedtea-cacao.patch
 endif
 
+if ENABLE_PULSE_JAVA
+ICEDTEA_PATCHES += \
+patches/icedtea-pulse-soundproperties.patch
+endif
+
 ICEDTEA_PATCHES += \
 $(DISTRIBUTION_PATCHES)
 
&lt; at &gt;&lt; at &gt; -923,7 +941,8 &lt; at &gt;&lt; at &gt; stamps/icedtea.stamp: stamps/bootstrap-d
 stamps/hotspot-tools.stamp stamps/plugs.stamp \
 stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \
 $(GCJWEBPLUGIN_TARGET) $(ICEDTEAPLUGIN_TARGET) \
-extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp
+extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \
+stamps/pulse-java.stamp
 $(MAKE) \
   $(ICEDTEA_ENV) \
   -C openjdk/control/make/ \
&lt; at &gt;&lt; at &gt; -940,6 +959,16 &lt; at &gt;&lt; at &gt; if ENABLE_PLUGIN
 cp -pPRf gcjwebplugin.so \
   $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR)
 endif
+endif
+if ENABLE_PULSE_JAVA
+cp -pPRf libpulse-java.so \
+  $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)
+cp -pPRf libpulse-java.so \
+  $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR)
+cp -pPRf pulse-java.jar \
+  $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext
+cp -pPRf pulse-java.jar \
+  $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext
 endif
 if WITH_VISUALVM
 mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \
&lt; at &gt;&lt; at &gt; -975,7 +1004,8 &lt; at &gt;&lt; at &gt; stamps/icedtea-debug.stamp: stamps/boots
 stamps/hotspot-tools.stamp stamps/plugs.stamp \
 stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \
 $(GCJWEBPLUGIN_TARGET) $(ICEDTEAPLUGIN_TARGET) \
-extra-lib/about.jar stamps/cacao.stamp
+extra-lib/about.jar stamps/cacao.stamp \
+stamps/pulse-java.stamp
 $(MAKE) \
   $(ICEDTEA_ENV) \
   -C openjdk/control/make \
&lt; at &gt;&lt; at &gt; -992,6 +1022,16 &lt; at &gt;&lt; at &gt; if ENABLE_PLUGIN
 cp -pPRf gcjwebplugin.so \
   $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/$(INSTALL_ARCH_DIR)
 endif
+endif
+if ENABLE_PULSE_JAVA
+cp -pPRf libpulse-java.so \
+  $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)
+cp -pPRf libpulse-java.so \
+  $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/$(INSTALL_ARCH_DIR)
+cp -pPRf pulse-java.jar \
+  $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/ext
+cp -pPRf pulse-java.jar \
+  $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/ext
 endif
 if WITH_VISUALVM
 mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \
&lt; at &gt;&lt; at &gt; -1374,6 +1414,92 &lt; at &gt;&lt; at &gt; clean-gcjwebplugin:
 rm -f gcjwebplugin.so
 endif
 endif
+
+
+# PulseAudio based mixer
+# (pulse-java)
+
+stamps/pulse-java.stamp: stamps/pulse-java-jar.stamp stamps/pulse-java-headers.stamp
+if ENABLE_PULSE_JAVA
+$(CC) $(CFLAGS) -c $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fpic -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fpic -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fpic -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fpic -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c 
+$(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fpic -fPIC -c $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c
+$(CC) $(LDFLAGS) -shared $(LIBPULSE_LIBS) -o libpulse-java.so org_*pulseaudio*.o jni-common.o
+mv org_classpath_icedtea_pulseaudio_*.o $(PULSE_JAVA_CLASS_DIR)
+endif
+mkdir -p stamps
+touch stamps/pulse-java.stamp
+
+stamps/pulse-java-jar.stamp: stamps/pulse-java-class.stamp
+if ENABLE_PULSE_JAVA
+mkdir -p $(PULSE_JAVA_CLASS_DIR);
+if ! test -d $(ICEDTEA_BOOT_DIR) ; \
+then \
+  $(JAR) cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; \
+else \
+  $(ICEDTEA_BOOT_DIR)/bin/jar cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; \
+fi
+endif
+mkdir -p stamps
+touch stamps/pulse-java-jar.stamp
+
+stamps/pulse-java-class.stamp: 
+if ENABLE_PULSE_JAVA
+mkdir -p $(PULSE_JAVA_CLASS_DIR)
+if ! test -d $(ICEDTEA_BOOT_DIR) ; \
+then \
+(cd $(PULSE_JAVA_JAVA_SRCDIR); \
+ $(JAVAC) -d ../../../$(PULSE_JAVA_CLASS_DIR) \
+          -bootclasspath  \
+        '$(OPENJDK_SOURCEPATH_DIRS):$(abs_top_builddir)/generated' \
+          org/classpath/icedtea/pulseaudio/*.java\
+          ) \
+        else \
+        (cd $(PULSE_JAVA_JAVA_SRCDIR); \
+        $(ICEDTEA_BOOT_DIR)/bin/javac -d ../../../$(PULSE_JAVA_CLASS_DIR)\
+        -bootclasspath \
+        '$(ICEDTEA_BOOT_DIR)/jre/lib/rt.jar' \
+        org/classpath/icedtea/pulseaudio/*.java\
+        ) \
+        fi
+cp  -r $(PULSE_JAVA_JAVA_SRCDIR)/META-INF $(PULSE_JAVA_CLASS_DIR)
+endif
+mkdir -p stamps
+touch stamps/pulse-java-class.stamp
+
+
+stamps/pulse-java-headers.stamp: stamps/pulse-java-class.stamp
+if ENABLE_PULSE_JAVA
+if ! test -d $(ICEDTEA_BOOT_DIR) ; \
+then \
+  $(JAVAH) -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.EventLoop ; \
+  $(JAVAH) -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Stream ; \
+  $(JAVAH) -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Operation; \
+  $(JAVAH) -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioSourcePort ; \
+  $(JAVAH) -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioTargetPort ; \
+else \
+  $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.EventLoop ; \
+  $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Stream ; \
+  $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Operation; \
+  $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioSourcePort ; \
+  $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioTargetPort ; \
+fi
+endif
+mkdir -p stamps
+touch stamps/pulse-java-headers.stamp
+
+
+clean-pulse-java:
+rm -rf $(PULSE_JAVA_CLASS_DIR)/*
+rm -f $(PULSE_JAVA_NATIVE_SRCDIR)/org_*.h
+rm -f stamps/pulse-java*.stamp
+rm -f pulse-java.jar
+rm -f libpulse-java.so
+
+# end of pulse-java
 
 # jtreg
 
diff -r fa94fa7ac782 -r 8b85ec866923 README
--- a/READMEThu Oct 09 11:25:22 2008 -0400
+++ b/READMEFri Oct 10 16:03:12 2008 -0400
&lt; at &gt;&lt; at &gt; -159,3 +159,11 &lt; at &gt;&lt; at &gt; and --with-netbeans-profiler-src-zip whi
 and --with-netbeans-profiler-src-zip which can be used to prevent 
 re-downloading of the source zips. --with-netbeans-home can be used to specify
 where the Netbeans tools are installed (default /usr/share/netbeans).
+
+
+
+PulseAudio Mixer
+================
+
+Passing --enable-pulse-java to configure will build the PulseAudio Mixer for 
+java. This allows java programs to use PulseAudio as the sound backend.
diff -r fa94fa7ac782 -r 8b85ec866923 acinclude.m4
--- a/acinclude.m4Thu Oct 09 11:25:22 2008 -0400
+++ b/acinclude.m4Fri Oct 10 16:03:12 2008 -0400
&lt; at &gt;&lt; at &gt; -665,6 +665,15 &lt; at &gt;&lt; at &gt; AC_DEFUN([FIND_RHINO_JAR],
   AC_SUBST(RHINO_JAR)
 ])
 
+AC_DEFUN([FIND_PULSEAUDIO],
+[
+  AC_PATH_PROG(PULSEAUDIO_BIN, "pulseaudio")
+  if test -z "${PULSEAUDIO_BIN}"; then
+    AC_MSG_ERROR("pulseaudio was not found.")
+  fi
+  AC_SUBST(PULSEAUDIO_BIN)
+])
+
 AC_DEFUN([ENABLE_OPTIMIZATIONS],
 [
   AC_MSG_CHECKING(whether to disable optimizations)
diff -r fa94fa7ac782 -r 8b85ec866923 configure.ac
--- a/configure.acThu Oct 09 11:25:22 2008 -0400
+++ b/configure.acFri Oct 10 16:03:12 2008 -0400
&lt; at &gt;&lt; at &gt; -125,6 +125,12 &lt; at &gt;&lt; at &gt; AC_ARG_ENABLE([liveconnect],
                               [Enable experimental LiveConnect plugin])],
               [enable_liveconnect="yes"], [enable_liveconnect="no"])
 AM_CONDITIONAL(ENABLE_LIVECONNECT, test "x${enable_liveconnect}" = "xyes")
+
+AC_ARG_ENABLE([pulse-java],
+              [AS_HELP_STRING([--enable-pulse-java],
+                              [Enable pulse-java - an audio mixer spi that uses PulseAudio])],
+              [enable_pulse_java="yes"], [enable_pulse_java="no"])
+AM_CONDITIONAL(ENABLE_PULSE_JAVA, test "x${enable_pulse_java}" = "xyes")
 
 AC_ARG_ENABLE([docs],
       [AS_HELP_STRING([--disable-docs],
&lt; at &gt;&lt; at &gt; -247,6 +253,11 &lt; at &gt;&lt; at &gt; ENABLE_ZERO_BUILD
 ENABLE_ZERO_BUILD
 SET_CORE_OR_SHARK_BUILD
 
+if test "x${enable_pulse_java}" = "xyes"
+then
+  FIND_PULSEAUDIO
+fi
+
 dnl pkgconfig cannot be used to finid these headers and libraries.
 AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[]
 ,[AC_MSG_ERROR("CUPS headers were not found -
&lt; at &gt;&lt; at &gt; -354,6 +365,20 &lt; at &gt;&lt; at &gt; AC_SUBST(ALSA_CFLAGS)
 AC_SUBST(ALSA_CFLAGS)
 AC_SUBST(ALSA_LIBS)
 
+if test "x${enable_pulse_java}" = "xyes"
+then
+  dnl Check for pulseaudio libraries.
+  PKG_CHECK_MODULES(LIBPULSE,[libpulse &gt;= 0.9.11],[LIBPULSE_FOUND=yes]
+    ,[LIBPULSE_FOUND=no])
+  if test "x${LIBPULSE_FOUND}" = xno
+  then
+    AC_MSG_ERROR([Could not find pulseaudio&gt;=0.9.11 libraries - \
+    Try installing pulseaudio-libs-devel&gt;=0.9.11.])
+  fi
+  AC_SUBST(LIBPULSE_CFLAGS)
+  AC_SUBST(LIBPULSE_LIBS)
+fi
+
 dnl Check for plugin support headers and libraries.
 dnl FIXME: use unstable
 if test "x${enable_liveconnect}" = "xyes"
diff -r fa94fa7ac782 -r 8b85ec866923 patches/icedtea-pulse-soundproperties.patch
--- /dev/nullThu Jan 01 00:00:00 1970 +0000
+++ b/patches/icedtea-pulse-soundproperties.patchFri Oct 10 16:03:12 2008 -0400
&lt; at &gt;&lt; at &gt; -0,0 +1,16 &lt; at &gt;&lt; at &gt;
+--- openjdk/jdk/src/share/lib/sound.properties2008-08-28 04:15:18.000000000 -0400
++++ openjdk/jdk/src/share/lib/sound.properties2008-10-03 16:59:21.000000000 -0400
+&lt; at &gt;&lt; at &gt; -37,3 +37,13 &lt; at &gt;&lt; at &gt;
+ # Specify the default Receiver by provider and name:
+ # javax.sound.midi.Receiver=com.sun.media.sound.MidiProvider#SunMIDI1
+ #
++
++# javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
++# javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
++# javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
++# javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
++
++javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider
++javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider
++javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider
++javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider
diff -r fa94fa7ac782 -r 8b85ec866923 pulseaudio/AUTHORS
--- /dev/nullThu Jan 01 00:00:00 1970 +0000
+++ b/pulseaudio/AUTHORSFri Oct 10 16:03:12 2008 -0400
&lt; at &gt;&lt; at &gt; -0,0 +1,5 &lt; at &gt;&lt; at &gt;
+Authors
+
+Ioana Iivan (iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org)
+
+Omair Majid (omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org)
\ No newline at end of file
diff -r fa94fa7ac782 -r 8b85ec866923 pulseaudio/COPYING
--- /dev/nullThu Jan 01 00:00:00 1970 +0000
+++ b/pulseaudio/COPYINGFri Oct 10 16:03:12 2008 -0400
&lt; at &gt;&lt; at &gt; -0,0 +1,340 &lt; at &gt;&lt; at &gt;
+    GNU GENERAL PUBLIC LICENSE
+       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable

</description>
    <dc:creator>Omair Majid</dc:creator>
    <dc:date>2008-10-10T20:03:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3457">
    <title>[Bug 114] sun.awt.image.JPEGImageDecoder.initIDs crash</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3457</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=114


mark-S8vpcOIGcCXYtjvyW6yDsg&lt; at &gt;public.gmane.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |p.bradley-4yx4YNPSuoZDPfheJLI6IQ&lt; at &gt;public.gmane.org




------- Comment #8 from mark-S8vpcOIGcCXYtjvyW6yDsg&lt; at &gt;public.gmane.org  2008-10-10 17:21 -------
*** Bug 207 has been marked as a duplicate of this bug. ***


</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-10T17:21:26</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3456">
    <title>[Bug 207] Installation failure (eXist)</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3456</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=207


mark-S8vpcOIGcCXYtjvyW6yDsg&lt; at &gt;public.gmane.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |DUPLICATE




------- Comment #3 from mark-S8vpcOIGcCXYtjvyW6yDsg&lt; at &gt;public.gmane.org  2008-10-10 17:21 -------
Thanks for the error log. This is indeed an old bug since fixed.

*** This bug has been marked as a duplicate of bug 114 ***


</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-10T17:21:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3455">
    <title>[Bug 207] Installation failure (eXist)</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3455</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=207





------- Comment #2 from p.bradley-4yx4YNPSuoZDPfheJLI6IQ&lt; at &gt;public.gmane.org  2008-10-10 16:54 -------
Created an attachment (id=109)
 --&gt; (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=109&amp;action=view)
Error log

Log now attached.  Stupidly I didn't see you could attach a file when I did the
original report (D'oh!).

As for the icedtea version, I'll check the openSUSE repositories for a more
recent version and install it if there is one.  Whether there is or not, I'll
post here to say what progress I have or haven't made.

Cheers


</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-10T16:54:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3454">
    <title>changeset in /hg/pulseaudio: 2008-10-10  Ioana Ivan &lt;iivan&lt; at &gt;redha...</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3454</link>
    <description>changeset 095b46980d97 in /hg/pulseaudio
details: http://icedtea.classpath.org/hg/pulseaudio?cmd=changeset;node=095b46980d97
description:
2008-10-10  Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
        * src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
        (getLineInfo): removed method, moved to each subclass
        * src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
        (getLineInfo): new method
        * src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
        (getLineInfo): new method
        * src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java
        getLineInfo): new method

diffstat:

6 files changed, 33 insertions(+), 6 deletions(-)
.classpath                                                              |    1 
ChangeLog                                                               |   11 ++++++++++
src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java           |    7 ++++++
src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java       |    6 -----
src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java |    7 ++++++
src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java |    7 ++++++

diffs (114 lines):

diff -r 63fe20298326 -r 095b46980d97 .classpath
--- a/.classpathFri Oct 10 11:10:27 2008 -0400
+++ b/.classpathFri Oct 10 12:32:00 2008 -0400
&lt; at &gt;&lt; at &gt; -3,6 +3,7 &lt; at &gt;&lt; at &gt;
 &lt;classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/&gt;
 &lt;classpathentry kind="src" path="unittests"/&gt;
 &lt;classpathentry kind="src" path="src/java"/&gt;
+&lt;classpathentry kind="src" path="jcktests"/&gt;
 &lt;classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/&gt;
 &lt;classpathentry kind="output" path="bin"/&gt;
 &lt;/classpath&gt;
diff -r 63fe20298326 -r 095b46980d97 ChangeLog
--- a/ChangeLogFri Oct 10 11:10:27 2008 -0400
+++ b/ChangeLogFri Oct 10 12:32:00 2008 -0400
&lt; at &gt;&lt; at &gt; -1,3 +1,14 &lt; at &gt;&lt; at &gt; 2008-10-08 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+2008-10-10 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+* src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
+(getLineInfo): removed method, moved to each subclass
+* src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
+(getLineInfo): new method
+* src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
+(getLineInfo): new method
+* src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java
+getLineInfo): new method
+
+
 2008-10-08 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 * src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
 (addStreamListener): startedListener always fires a START event
diff -r 63fe20298326 -r 095b46980d97 src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.javaFri Oct 10 11:10:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.javaFri Oct 10 12:32:00 2008 -0400
&lt; at &gt;&lt; at &gt; -44,6 +44,7 &lt; at &gt;&lt; at &gt; import javax.sound.sampled.AudioPermissi
 import javax.sound.sampled.AudioPermission;
 import javax.sound.sampled.AudioSystem;
 import javax.sound.sampled.Clip;
+import javax.sound.sampled.DataLine;
 import javax.sound.sampled.LineUnavailableException;
 
 import org.classpath.icedtea.pulseaudio.Stream.WriteListener;
&lt; at &gt;&lt; at &gt; -557,5 +558,11 &lt; at &gt;&lt; at &gt; public class PulseAudioClip extends Puls
 super.stop();
 
 }
+
+public javax.sound.sampled.Line.Info getLineInfo() {
+return new DataLine.Info(Clip.class, supportedFormats,
+StreamBufferAttributes.MIN_VALUE,
+StreamBufferAttributes.MAX_VALUE);
+}
 
 }
diff -r 63fe20298326 -r 095b46980d97 src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.javaFri Oct 10 11:10:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.javaFri Oct 10 12:32:00 2008 -0400
&lt; at &gt;&lt; at &gt; -426,12 +426,6 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 return bufferSize;
 }
 
-public javax.sound.sampled.Line.Info getLineInfo() {
-return new DataLine.Info(this.getClass(), supportedFormats,
-StreamBufferAttributes.MIN_VALUE,
-StreamBufferAttributes.MAX_VALUE);
-}
-
 &lt; at &gt;Override
 public AudioFormat getFormat() {
 if (!isOpen) {
diff -r 63fe20298326 -r 095b46980d97 src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.javaFri Oct 10 11:10:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.javaFri Oct 10 12:32:00 2008 -0400
&lt; at &gt;&lt; at &gt; -40,6 +40,7 &lt; at &gt;&lt; at &gt; import java.util.ArrayList;
 import java.util.ArrayList;
 
 import javax.sound.sampled.AudioFormat;
+import javax.sound.sampled.DataLine;
 import javax.sound.sampled.AudioPermission;
 import javax.sound.sampled.LineListener;
 import javax.sound.sampled.LineUnavailableException;
&lt; at &gt;&lt; at &gt; -329,5 +330,11 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 
 super.close();
 }
+
+public javax.sound.sampled.Line.Info getLineInfo() {
+return new DataLine.Info(SourceDataLine.class, supportedFormats,
+StreamBufferAttributes.MIN_VALUE,
+StreamBufferAttributes.MAX_VALUE);
+}
 
 }
diff -r 63fe20298326 -r 095b46980d97 src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.javaFri Oct 10 11:10:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.javaFri Oct 10 12:32:00 2008 -0400
&lt; at &gt;&lt; at &gt; -38,6 +38,7 &lt; at &gt;&lt; at &gt; package org.classpath.icedtea.pulseaudio
 package org.classpath.icedtea.pulseaudio;
 
 import javax.sound.sampled.AudioFormat;
+import javax.sound.sampled.DataLine;
 import javax.sound.sampled.AudioPermission;
 import javax.sound.sampled.LineEvent;
 import javax.sound.sampled.LineUnavailableException;
&lt; at &gt;&lt; at &gt; -362,5 +363,11 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetDataLine ex
 
 fireLineEvent(new LineEvent(this, LineEvent.Type.STOP, framesSinceOpen));
 }
+
+public javax.sound.sampled.Line.Info getLineInfo() {
+return new DataLine.Info(TargetDataLine.class, supportedFormats,
+StreamBufferAttributes.MIN_VALUE,
+StreamBufferAttributes.MAX_VALUE);
+}
 
 }

</description>
    <dc:creator>Ioana Ivan</dc:creator>
    <dc:date>2008-10-10T16:40:12</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3453">
    <title>[Bug 210] Eclipse IDE for C/C++ crashes while running code</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3453</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=210





------- Comment #1 from t.m.nixstuff-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org  2008-10-10 16:17 -------
Created an attachment (id=108)
 --&gt; (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=108&amp;action=view)
Log dumped after eclipse crash


</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-10T16:17:41</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3452">
    <title>[Bug 210] New: Eclipse IDE for C/C++ crashes while running code</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3452</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=210

           Summary: Eclipse IDE for C/C++ crashes while running code
           Product: IcedTea
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: IcedTea
        AssignedTo: unassigned-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org
        ReportedBy: t.m.nixstuff-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org


Eclipse IDE sometimes crashes while trying to run executable. I'll upload the
log file.


</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-10T16:16:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3451">
    <title>changeset in /hg/pulseaudio: 2008-10-10 Omair Majid &lt;omajid&lt; at &gt;redh...</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3451</link>
    <description>changeset 63fe20298326 in /hg/pulseaudio
details: http://icedtea.classpath.org/hg/pulseaudio?cmd=changeset;node=63fe20298326
description:
2008-10-10 Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

    * src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java
    (close): Check for audio permissions.
    (open): Likewise.
    * src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
    (open): Removed FIXME for security.
    (close): Likewise.
    * src/java/org/classpath/icedtea/pulseaudio/Mixer.java
    (getLine): Check for permissions before returning a line.
    (getSourceLines): Check for permissions.
    (getTargetLines): Likewise.
    (close): Likewise.
    (openRemote): Likewise.
    * src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java
    (PulseAudioPort): Dont open the port by default.
    (open): Removed FIXME.
    (close): Likewise.
    * src/java/org/classpath/icedtea/pulseaudio/PulseAUdioSourceDataLine.j.ava
    (open): Check for permissions.
    (close): Likewise.
    * src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java
    (open): Likewise.
    (close): Likewise.
    * src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
    (open): Likewise.
    (close): Likewise.
    * src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java
    (open): Likewise.
    (close): Likewise.

    * unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java
    (testControls): Open and close the ports.
    * unittests/org/classpath/icedtea/pulseaudio/PulseAUdioTargetPortTest.java
    (testControls): Likewise.

diffstat:

10 files changed, 132 insertions(+), 59 deletions(-)
src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java            |   23 ++-
src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java        |    7 -
src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java           |   65 ++++++++--
src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java            |   14 --
src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java  |   12 +
src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java      |   13 +-
src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java  |   16 +-
src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java      |   33 +++--
unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java |    4 
unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java |    4 

diffs (truncated from 510 to 500 lines):

diff -r d4676ea1be88 -r 63fe20298326 src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.javaThu Oct 09 17:28:36 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.javaFri Oct 10 11:10:27 2008 -0400
&lt; at &gt;&lt; at &gt; -41,6 +41,7 &lt; at &gt;&lt; at &gt; import java.io.IOException;
 
 import javax.sound.sampled.AudioFormat;
 import javax.sound.sampled.AudioInputStream;
+import javax.sound.sampled.AudioPermission;
 import javax.sound.sampled.AudioSystem;
 import javax.sound.sampled.Clip;
 import javax.sound.sampled.LineUnavailableException;
&lt; at &gt;&lt; at &gt; -229,12 +230,15 &lt; at &gt;&lt; at &gt; public class PulseAudioClip extends Puls
 
 &lt; at &gt;Override
 public void close() {
+
+/* check for permission to play audio */
+AudioPermission perm = new AudioPermission("play", null);
+perm.checkGuard(null);
+
 if (!isOpen) {
 throw new IllegalStateException("line already closed");
 }
 
-// FIXME security
-
 clipThread.interrupt();
 
 try {
&lt; at &gt;&lt; at &gt; -358,10 +362,11 &lt; at &gt;&lt; at &gt; public class PulseAudioClip extends Puls
 throw new IllegalStateException("Line not open");
 }
 
-if ( count &lt; 0 &amp;&amp; count != LOOP_CONTINUOUSLY) {
-throw new IllegalArgumentException("invalid value for count:" + count);
-}
-
+if (count &lt; 0 &amp;&amp; count != LOOP_CONTINUOUSLY) {
+throw new IllegalArgumentException("invalid value for count:"
++ count);
+}
+
 if (clipThread.isAlive() &amp;&amp; count != 0) {
 // Do nothing; behavior not specified by the Java API
 return;
&lt; at &gt;&lt; at &gt; -392,8 +397,10 &lt; at &gt;&lt; at &gt; public class PulseAudioClip extends Puls
 public void open(AudioFormat format, byte[] data, int offset, int bufferSize)
 throws LineUnavailableException {
 
-// FIXME security
-
+/* check for permission to play audio */
+AudioPermission perm = new AudioPermission("play", null);
+perm.checkGuard(null);
+
 super.open(format);
 this.data = new byte[bufferSize];
 System.arraycopy(data, offset, this.data, 0, bufferSize);
diff -r d4676ea1be88 -r 63fe20298326 src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.javaThu Oct 09 17:28:36 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.javaFri Oct 10 11:10:27 2008 -0400
&lt; at &gt;&lt; at &gt; -84,8 +84,6 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 if (isOpen) {
 throw new IllegalStateException("Line is already open");
 }
-
-// FIXME security
 
 createStream(format);
 addStreamListeners();
&lt; at &gt;&lt; at &gt; -290,8 +288,6 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 "Line must be open for close() to work");
 }
 
-// FIXME security
-
 synchronized (eventLoop.threadLock) {
 stream.disconnect();
 }
&lt; at &gt;&lt; at &gt; -310,7 +306,7 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 
 isStarted = false;
 }
-
+
 public void reconnectforSynchronization(Stream masterStream)
 throws LineUnavailableException {
 sendEvents = false;
&lt; at &gt;&lt; at &gt; -353,7 +349,6 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 isStarted = true;
 
 }
-
 
 public synchronized void stop() {
 if (!isOpen) {
diff -r d4676ea1be88 -r 63fe20298326 src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.javaThu Oct 09 17:28:36 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.javaFri Oct 10 11:10:27 2008 -0400
&lt; at &gt;&lt; at &gt; -49,6 +49,7 &lt; at &gt;&lt; at &gt; import java.util.concurrent.Semaphore;
 
 import javax.sound.sampled.AudioFormat;
 import javax.sound.sampled.AudioInputStream;
+import javax.sound.sampled.AudioPermission;
 import javax.sound.sampled.AudioSystem;
 import javax.sound.sampled.Clip;
 import javax.sound.sampled.Control;
&lt; at &gt;&lt; at &gt; -266,8 +267,6 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 &lt; at &gt;Override
 public Line getLine(Line.Info info) throws LineUnavailableException {
 
-// FIXME security!
-
 if (!isLineSupported(info)) {
 throw new IllegalArgumentException("Line unsupported: " + info);
 }
&lt; at &gt;&lt; at &gt; -302,16 +301,28 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 }
 
 if ((info.getLineClass() == SourceDataLine.class)) {
+/* check for permission to play audio */
+AudioPermission perm = new AudioPermission("play", null);
+perm.checkGuard(null);
+
 return new PulseAudioSourceDataLine(eventLoop, formats,
 defaultFormat);
 }
 
 if ((info.getLineClass() == TargetDataLine.class)) {
+/* check for permission to play audio */
+AudioPermission perm = new AudioPermission("record", null);
+perm.checkGuard(null);
+
 return new PulseAudioTargetDataLine(eventLoop, formats,
 defaultFormat);
 }
 
 if ((info.getLineClass() == Clip.class)) {
+/* check for permission to play audio */
+AudioPermission perm = new AudioPermission("play", null);
+perm.checkGuard(null);
+
 return new PulseAudioClip(eventLoop, formats, defaultFormat);
 }
 
&lt; at &gt;&lt; at &gt; -365,9 +376,11 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 
 &lt; at &gt;Override
 public Line[] getSourceLines() {
-
-// FIXME security
-
+
+/* check for permmission to play audio */
+AudioPermission perm = new AudioPermission("play", null);
+perm.checkGuard(null);
+
 return (Line[]) sourceLines.toArray(new Line[0]);
 
 }
&lt; at &gt;&lt; at &gt; -392,9 +405,11 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 
 &lt; at &gt;Override
 public Line[] getTargetLines() {
-
-// FIXME security
-
+
+/* check for permission to play audio */
+AudioPermission perm = new AudioPermission("record", null);
+perm.checkGuard(null);
+
 return (Line[]) targetLines.toArray(new TargetDataLine[0]);
 }
 
&lt; at &gt;&lt; at &gt; -477,12 +492,25 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 &lt; at &gt;Override
 synchronized public void close() {
 
+/*
+ * only allow the mixer to be controlled if either playback or recording
+ * is allowed
+ */
+
+try {
+/* check for permission to play audio */
+AudioPermission perm = new AudioPermission("play", null);
+perm.checkGuard(null);
+} catch (SecurityException e) {
+/* check for permission to record audio */
+AudioPermission perm = new AudioPermission("record", null);
+perm.checkGuard(null);
+}
+
 if (!this.isOpen) {
 throw new IllegalStateException("Mixer is not open; cant close");
 }
 
-// FIXME security
-
 eventLoopThread.interrupt();
 
 try {
&lt; at &gt;&lt; at &gt; -573,12 +601,25 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 synchronized public void openRemote(String appName, String host,
 Integer port) throws UnknownHostException, LineUnavailableException {
 
+/*
+ * only allow the mixer to be controlled if either playback or recording
+ * is allowed
+ */
+
+try {
+/* check for permission to play audio */
+AudioPermission perm = new AudioPermission("play", null);
+perm.checkGuard(null);
+} catch (SecurityException e) {
+/* check for permission to record audio */
+AudioPermission perm = new AudioPermission("record", null);
+perm.checkGuard(null);
+}
+
 if (isOpen) {
 throw new IllegalStateException("Mixer is already open");
 }
 
-// FIXME security
-
 InetAddress addr = InetAddress.getAllByName(host)[0];
 
 if (port != null) {
diff -r d4676ea1be88 -r 63fe20298326 src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.javaThu Oct 09 17:28:36 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.javaFri Oct 10 11:10:27 2008 -0400
&lt; at &gt;&lt; at &gt; -83,12 +83,8 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioPort ext
  * 
  * close = no sound. open = sound
  * 
- * so we set it to be open by default
  */
-
-
-// TODO what to do if a security exception is thrown?
-open();
+// FIXME open();
 
 // System.out.println("Opened Target Port " + name);
 }
&lt; at &gt;&lt; at &gt; -133,9 +129,7 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioPort ext
 
 &lt; at &gt;Override
 public void close() {
-
-// FIXME security 
-
+
 native_setVolume((float) 0);
 isOpen = false;
 fireLineEvent(new LineEvent(this, LineEvent.Type.CLOSE,
&lt; at &gt;&lt; at &gt; -147,9 +141,7 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioPort ext
 
 &lt; at &gt;Override
 public void open() {
-
-// FIXME security
-
+
 native_setVolume(volume);
 isOpen = true;
 fireLineEvent(new LineEvent(this, LineEvent.Type.OPEN,
diff -r d4676ea1be88 -r 63fe20298326 src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.javaThu Oct 09 17:28:36 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.javaFri Oct 10 11:10:27 2008 -0400
&lt; at &gt;&lt; at &gt; -40,6 +40,7 &lt; at &gt;&lt; at &gt; import java.util.ArrayList;
 import java.util.ArrayList;
 
 import javax.sound.sampled.AudioFormat;
+import javax.sound.sampled.AudioPermission;
 import javax.sound.sampled.LineListener;
 import javax.sound.sampled.LineUnavailableException;
 import javax.sound.sampled.SourceDataLine;
&lt; at &gt;&lt; at &gt; -67,7 +68,9 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 synchronized public void open(AudioFormat format, int bufferSize)
 throws LineUnavailableException {
 
-// FIXME security
+/* check for permmission to play audio */
+AudioPermission perm = new AudioPermission("play", null);
+perm.checkGuard(null);
 
 super.open(format, bufferSize);
 
&lt; at &gt;&lt; at &gt; -310,11 +313,14 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 
 &lt; at &gt;Override
 synchronized public void close() {
+
+/* check for permmission to play audio */
+AudioPermission perm = new AudioPermission("play", null);
+perm.checkGuard(null);
+
 if (!isOpen) {
 throw new IllegalStateException("not open so cant close");
 }
-
-// FIXME security
 
 writeInterrupted = true;
 
diff -r d4676ea1be88 -r 63fe20298326 src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.javaThu Oct 09 17:28:36 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.javaFri Oct 10 11:10:27 2008 -0400
&lt; at &gt;&lt; at &gt; -37,6 +37,7 &lt; at &gt;&lt; at &gt; exception statement from your version.
 
 package org.classpath.icedtea.pulseaudio;
 
+import javax.sound.sampled.AudioPermission;
 import javax.sound.sampled.Port;
 
 public class PulseAudioSourcePort extends PulseAudioPort {
&lt; at &gt;&lt; at &gt; -53,7 +54,9 &lt; at &gt;&lt; at &gt; public class PulseAudioSourcePort extend
 
 public void open() {
 
-
+/* check for permission to record audio */
+AudioPermission perm = new AudioPermission("record", null);
+perm.checkGuard(null);
 
 super.open();
 
&lt; at &gt;&lt; at &gt; -62,6 +65,14 &lt; at &gt;&lt; at &gt; public class PulseAudioSourcePort extend
 }
 
 public void close() {
+
+/* check for permission to record audio */
+AudioPermission perm = new AudioPermission("record", null);
+perm.checkGuard(null);
+
+if (!isOpen) {
+throw new IllegalStateException("Port is not open; so cant close");
+}
 
 PulseAudioMixer parent = PulseAudioMixer.getInstance();
 parent.removeSourceLine(this);
diff -r d4676ea1be88 -r 63fe20298326 src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.javaThu Oct 09 17:28:36 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.javaFri Oct 10 11:10:27 2008 -0400
&lt; at &gt;&lt; at &gt; -38,6 +38,7 &lt; at &gt;&lt; at &gt; package org.classpath.icedtea.pulseaudio
 package org.classpath.icedtea.pulseaudio;
 
 import javax.sound.sampled.AudioFormat;
+import javax.sound.sampled.AudioPermission;
 import javax.sound.sampled.LineEvent;
 import javax.sound.sampled.LineUnavailableException;
 import javax.sound.sampled.TargetDataLine;
&lt; at &gt;&lt; at &gt; -70,13 +71,15 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetDataLine ex
 
 &lt; at &gt;Override
 synchronized public void close() {
+/* check for permission to record audio */
+AudioPermission perm = new AudioPermission("record", null);
+perm.checkGuard(null);
+
 if (!isOpen) {
 throw new IllegalStateException(
 "Line cant be closed if it isnt open");
 }
 
-// FIXME security
-
 PulseAudioMixer parentMixer = PulseAudioMixer.getInstance();
 parentMixer.removeTargetLine(this);
 
&lt; at &gt;&lt; at &gt; -86,12 +89,13 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetDataLine ex
 &lt; at &gt;Override
 synchronized public void open(AudioFormat format, int bufferSize)
 throws LineUnavailableException {
+/* check for permission to record audio */
+AudioPermission perm = new AudioPermission("record", null);
+perm.checkGuard(null);
+
 if (isOpen) {
 throw new IllegalStateException("already open");
 }
-
-// FIXME security
-
 super.open(format, bufferSize);
 
 /* initialize all the member variables */
&lt; at &gt;&lt; at &gt; -223,7 +227,7 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetDataLine ex
 
 /* read a fragment, and drop it from the server */
 currentFragment = stream.peek();
-
+
 stream.drop();
 if (currentFragment == null) {
 System.out
diff -r d4676ea1be88 -r 63fe20298326 src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.javaThu Oct 09 17:28:36 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.javaFri Oct 10 11:10:27 2008 -0400
&lt; at &gt;&lt; at &gt; -37,42 +37,51 &lt; at &gt;&lt; at &gt; exception statement from your version.
 
 package org.classpath.icedtea.pulseaudio;
 
+import javax.sound.sampled.AudioPermission;
 import javax.sound.sampled.Port;
 
 public class PulseAudioTargetPort extends PulseAudioPort {
 
 /* aka speaker */
-
+
 static {
 System.loadLibrary("pulse-java");
 }
 
 public PulseAudioTargetPort(String name, EventLoop eventLoop) {
-
+
 super(name, eventLoop);
-
+
 }
 
 public void open() {
-
-// FIXME security
-
+
+/* check for permission to play audio */
+AudioPermission perm = new AudioPermission("play", null);
+perm.checkGuard(null);
+
 super.open();
-
+
 PulseAudioMixer parent = PulseAudioMixer.getInstance();
 parent.addTargetLine(this);
 }
-
+
 public void close() {
+
+/* check for permission to play audio */
+AudioPermission perm = new AudioPermission("play", null);
+perm.checkGuard(null);
 
-// FIXME
+if (!isOpen) {
+throw new IllegalStateException("not open, so cant close Port");
+}
 
 PulseAudioMixer parent = PulseAudioMixer.getInstance();
 parent.removeTargetLine(this);
-
-super.close();
+
+super.close();
 }
-
+
 public native byte[] native_setVolume(float newValue);
 
 public synchronized native byte[] native_updateVolumeInfo();
diff -r d4676ea1be88 -r 63fe20298326 unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java
--- a/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.javaThu Oct 09 17:28:36 2008 -0400
+++ b/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.javaFri Oct 10 11:10:27 2008 -0400
&lt; at &gt;&lt; at &gt; -97,6 +97,9 &lt; at &gt;&lt; at &gt; public class PulseAudioSourcePortTest {
 if (info.getLineClass() == Port.class) {
 System.out.println(info.toString());
 Port port = (Port) mixer.getLine(info);
+if (!port.isOpen()) {
+port.open();
+}
 FloatControl volumeControl = (FloatControl) port
 .getControl(FloatControl.Type.VOLUME);
 volumeControl.setValue(60000);
&lt; at &gt;&lt; at &gt; -104,6 +107,7 &lt; at &gt;&lt; at &gt; public class PulseAudioSourcePortTest {
 .getControl(BooleanControl.Type.MUTE);
 muteControl.setValue(true);
 muteControl.setValue(false);
+port.close();
 }
 }
 }
diff -r d4676ea1be88 -r 63fe20298326 unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java
--- a/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.javaThu Oct 09 17:28:36 2008 -0400
+++ b/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.javaFri Oct 10 11:10:27 2008 -0400
&lt; at &gt;&lt; at &gt; -97,6 +97,9 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetPortTest {
 if (info.getLineClass() == Port.class) {
 System.out.println(info.toString());
 Port port = (Port) mixer.getLine(info);
+if (!port.isOpen()) {
+port.open();
+}
 FloatControl volumeControl = (FloatControl) port

</description>
    <dc:creator>Omair Majid</dc:creator>
    <dc:date>2008-10-10T15:10:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3450">
    <title>changeset in /hg/pulseaudio: 2008-10-09 Omair Majid &lt;omajid&lt; at &gt;redh...</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3450</link>
    <description>changeset d4676ea1be88 in /hg/pulseaudio
details: http://icedtea.classpath.org/hg/pulseaudio?cmd=changeset;node=d4676ea1be88
description:
2008-10-09 Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

    Added FIXMEs for places where permissions should be checked

diffstat:

9 files changed, 46 insertions(+), 2 deletions(-)
src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java           |    4 +++
src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java       |    4 +++
src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java           |    2 -
src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java          |   12 ++++++++++
src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java           |    8 ++++++
src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java |    4 +++
src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java     |    3 ++
src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java |    4 +++
src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java     |    7 +++++

diffs (219 lines):

diff -r ea894778a6d0 -r d4676ea1be88 src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.javaThu Oct 09 15:35:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.javaThu Oct 09 17:28:36 2008 -0400
&lt; at &gt;&lt; at &gt; -233,6 +233,8 &lt; at &gt;&lt; at &gt; public class PulseAudioClip extends Puls
 throw new IllegalStateException("line already closed");
 }
 
+// FIXME security
+
 clipThread.interrupt();
 
 try {
&lt; at &gt;&lt; at &gt; -390,6 +392,8 &lt; at &gt;&lt; at &gt; public class PulseAudioClip extends Puls
 public void open(AudioFormat format, byte[] data, int offset, int bufferSize)
 throws LineUnavailableException {
 
+// FIXME security
+
 super.open(format);
 this.data = new byte[bufferSize];
 System.arraycopy(data, offset, this.data, 0, bufferSize);
diff -r ea894778a6d0 -r d4676ea1be88 src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.javaThu Oct 09 15:35:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.javaThu Oct 09 17:28:36 2008 -0400
&lt; at &gt;&lt; at &gt; -84,6 +84,8 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 if (isOpen) {
 throw new IllegalStateException("Line is already open");
 }
+
+// FIXME security
 
 createStream(format);
 addStreamListeners();
&lt; at &gt;&lt; at &gt; -288,6 +290,8 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 "Line must be open for close() to work");
 }
 
+// FIXME security
+
 synchronized (eventLoop.threadLock) {
 stream.disconnect();
 }
diff -r ea894778a6d0 -r d4676ea1be88 src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.javaThu Oct 09 15:35:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.javaThu Oct 09 17:28:36 2008 -0400
&lt; at &gt;&lt; at &gt; -111,8 +111,6 &lt; at &gt;&lt; at &gt; abstract class PulseAudioLine implements
 return isOpen;
 }
 
-
-
 public void removeLineListener(LineListener listener) {
 lineListeners.remove(listener);
 }
diff -r ea894778a6d0 -r d4676ea1be88 src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.javaThu Oct 09 15:35:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.javaThu Oct 09 17:28:36 2008 -0400
&lt; at &gt;&lt; at &gt; -266,6 +266,8 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 &lt; at &gt;Override
 public Line getLine(Line.Info info) throws LineUnavailableException {
 
+// FIXME security!
+
 if (!isLineSupported(info)) {
 throw new IllegalArgumentException("Line unsupported: " + info);
 }
&lt; at &gt;&lt; at &gt; -363,6 +365,9 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 
 &lt; at &gt;Override
 public Line[] getSourceLines() {
+
+// FIXME security
+
 return (Line[]) sourceLines.toArray(new Line[0]);
 
 }
&lt; at &gt;&lt; at &gt; -387,6 +392,9 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 
 &lt; at &gt;Override
 public Line[] getTargetLines() {
+
+// FIXME security
+
 return (Line[]) targetLines.toArray(new TargetDataLine[0]);
 }
 
&lt; at &gt;&lt; at &gt; -473,6 +481,8 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 throw new IllegalStateException("Mixer is not open; cant close");
 }
 
+// FIXME security
+
 eventLoopThread.interrupt();
 
 try {
&lt; at &gt;&lt; at &gt; -567,6 +577,8 &lt; at &gt;&lt; at &gt; public class PulseAudioMixer implements 
 throw new IllegalStateException("Mixer is already open");
 }
 
+// FIXME security
+
 InetAddress addr = InetAddress.getAllByName(host)[0];
 
 if (port != null) {
diff -r ea894778a6d0 -r d4676ea1be88 src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.javaThu Oct 09 15:35:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.javaThu Oct 09 17:28:36 2008 -0400
&lt; at &gt;&lt; at &gt; -86,6 +86,8 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioPort ext
  * so we set it to be open by default
  */
 
+
+// TODO what to do if a security exception is thrown?
 open();
 
 // System.out.println("Opened Target Port " + name);
&lt; at &gt;&lt; at &gt; -131,6 +133,9 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioPort ext
 
 &lt; at &gt;Override
 public void close() {
+
+// FIXME security 
+
 native_setVolume((float) 0);
 isOpen = false;
 fireLineEvent(new LineEvent(this, LineEvent.Type.CLOSE,
&lt; at &gt;&lt; at &gt; -142,6 +147,9 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioPort ext
 
 &lt; at &gt;Override
 public void open() {
+
+// FIXME security
+
 native_setVolume(volume);
 isOpen = true;
 fireLineEvent(new LineEvent(this, LineEvent.Type.OPEN,
diff -r ea894778a6d0 -r d4676ea1be88 src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.javaThu Oct 09 15:35:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.javaThu Oct 09 17:28:36 2008 -0400
&lt; at &gt;&lt; at &gt; -67,6 +67,8 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 synchronized public void open(AudioFormat format, int bufferSize)
 throws LineUnavailableException {
 
+// FIXME security
+
 super.open(format, bufferSize);
 
 volumeControl = new PulseAudioVolumeControl(this, eventLoop);
&lt; at &gt;&lt; at &gt; -312,6 +314,8 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 throw new IllegalStateException("not open so cant close");
 }
 
+// FIXME security
+
 writeInterrupted = true;
 
 PulseAudioMixer parent = PulseAudioMixer.getInstance();
diff -r ea894778a6d0 -r d4676ea1be88 src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.javaThu Oct 09 15:35:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.javaThu Oct 09 17:28:36 2008 -0400
&lt; at &gt;&lt; at &gt; -52,6 +52,9 &lt; at &gt;&lt; at &gt; public class PulseAudioSourcePort extend
 }
 
 public void open() {
+
+
+
 super.open();
 
 PulseAudioMixer parent = PulseAudioMixer.getInstance();
diff -r ea894778a6d0 -r d4676ea1be88 src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.javaThu Oct 09 15:35:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.javaThu Oct 09 17:28:36 2008 -0400
&lt; at &gt;&lt; at &gt; -75,6 +75,8 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetDataLine ex
 "Line cant be closed if it isnt open");
 }
 
+// FIXME security
+
 PulseAudioMixer parentMixer = PulseAudioMixer.getInstance();
 parentMixer.removeTargetLine(this);
 
&lt; at &gt;&lt; at &gt; -88,6 +90,8 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetDataLine ex
 throw new IllegalStateException("already open");
 }
 
+// FIXME security
+
 super.open(format, bufferSize);
 
 /* initialize all the member variables */
diff -r ea894778a6d0 -r d4676ea1be88 src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.javaThu Oct 09 15:35:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.javaThu Oct 09 17:28:36 2008 -0400
&lt; at &gt;&lt; at &gt; -48,10 +48,15 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetPort extend
 }
 
 public PulseAudioTargetPort(String name, EventLoop eventLoop) {
+
 super(name, eventLoop);
+
 }
 
 public void open() {
+
+// FIXME security
+
 super.open();
 
 PulseAudioMixer parent = PulseAudioMixer.getInstance();
&lt; at &gt;&lt; at &gt; -59,6 +64,8 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetPort extend
 }
 
 public void close() {
+
+// FIXME
 
 PulseAudioMixer parent = PulseAudioMixer.getInstance();
 parent.removeTargetLine(this);

</description>
    <dc:creator>Omair Majid</dc:creator>
    <dc:date>2008-10-10T15:10:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3449">
    <title>Re: [PATCH] Integrating a PulseAudio-based Java Mixer in icedtea6</title>
    <link>http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3449</link>
    <description>Hi Ioana,

On Fri, 2008-10-10 at 09:36 -0400, Ioana Ivan wrote:

It is more like a quick and dirty hack. It makes it possible to compile
against 0.9.10, but by completely eliminating the
stream_started_callback(), which means LineListeners don't work.

Cheers,

Mark

diff -r 5108fc37a890 src/native/org_classpath_icedtea_pulseaudio_Stream.c
--- a/src/native/org_classpath_icedtea_pulseaudio_Stream.cWed Oct 08 16:06:00 2008 -0400
+++ b/src/native/org_classpath_icedtea_pulseaudio_Stream.cFri Oct 10 16:28:20 2008 +0200
&lt; at &gt;&lt; at &gt; -170,6 +170,7 &lt; at &gt;&lt; at &gt;
 
 
 // requires pulseaudio 0.9.11 :(
+/*
 static void stream_started_callback(pa_stream *stream, void *userdata) {
 // printf("stream_started_callback called\n");
 java_context* context = userdata;
&lt; at &gt;&lt; at &gt; -187,6 +188,7 &lt; at &gt;&lt; at &gt;
 }
 
 }
+*/
 
 static void stream_latency_update_callback(pa_stream *stream, void *userdata) {
 //printf("stream_latency_update_callback called\n");
&lt; at &gt;&lt; at &gt; -308,7 +310,7 &lt; at &gt;&lt; at &gt;
 pa_stream_set_read_callback (stream, stream_read_callback, j_context);
 pa_stream_set_overflow_callback (stream, stream_overflow_callback, j_context);
 pa_stream_set_underflow_callback (stream, stream_underflow_callback, j_context);
-pa_stream_set_started_callback (stream, stream_started_callback, j_context);
+// pa_stream_set_started_callback (stream, stream_started_callback, j_context);
 pa_stream_set_latency_update_callback (stream, stream_latency_update_callback, j_context);
 pa_stream_set_moved_callback (stream, stream_moved_callback, j_context);
 pa_stream_set_suspended_callback (stream, stream_suspended_callback, j_context);



</description>
    <dc:creator>Mark Wielaard</dc:creator>
    <dc:date>2008-10-10T14:31:27</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.java.openjdk.distro-packaging.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.java.openjdk.distro-packaging.devel</link>
  </textinput>
</rdf:RDF>
