Hello,

  Probably this patch is better ?

-- 
 ‎أحمد المحمودي (Ahmed El-Mahmoudy)
  Digital design engineer
 GPG KeyID: 0xEDDDA1B7 (@ subkeys.pgp.net)
 GPG Fingerprint: 8206 A196 2084 7E6D 0DF8  B176 BC19 6A94 EDDD A1B7
Description: Workaround OpenJDK's Pulse Audio implementation
 The pulse audio implementation in OpenJDK claims to support gain when you
 call isControlSupported, but then throws an exception anyway. So put a try
 catch around isControlSupported calls to avoid problems, please refer to:
 http://stackoverflow.com/questions/1914216/master-gain-not-supported-in-openjdk
--- a/src/javazoom/jlgui/basicplayer/BasicPlayer.java
+++ b/src/javazoom/jlgui/basicplayer/BasicPlayer.java
@@ -454,17 +454,23 @@
                 log.debug("Controls : " + c[p].toString());

             }

             /*-- Is Gain Control supported ? --*/

-            if (m_line.isControlSupported(FloatControl.Type.MASTER_GAIN))

-            {

-                m_gainControl = (FloatControl) m_line.getControl(FloatControl.Type.MASTER_GAIN);

-                log.info("Master Gain Control : [" + m_gainControl.getMinimum() + "," + m_gainControl.getMaximum() + "] " + m_gainControl.getPrecision());

+            try {

+              if (m_line.isControlSupported(FloatControl.Type.MASTER_GAIN))

+              {

+                  m_gainControl = (FloatControl) m_line.getControl(FloatControl.Type.MASTER_GAIN);

+                  log.info("Master Gain Control : [" + m_gainControl.getMinimum() + "," + m_gainControl.getMaximum() + "] " + m_gainControl.getPrecision());

+              }

             }

+            catch (IllegalArgumentException e) { }

             /*-- Is Pan control supported ? --*/

-            if (m_line.isControlSupported(FloatControl.Type.PAN))

-            {

-                m_panControl = (FloatControl) m_line.getControl(FloatControl.Type.PAN);

-                log.info("Pan Control : [" + m_panControl.getMinimum() + "," + m_panControl.getMaximum() + "] " + m_panControl.getPrecision());

+            try {

+              if (m_line.isControlSupported(FloatControl.Type.PAN))

+              {

+                  m_panControl = (FloatControl) m_line.getControl(FloatControl.Type.PAN);

+                  log.info("Pan Control : [" + m_panControl.getMinimum() + "," + m_panControl.getMaximum() + "] " + m_panControl.getPrecision());

+              }

             }

+            catch (IllegalArgumentException e) { }

         }

     }

 

@@ -795,7 +801,10 @@
         if (m_gainControl == null)

         {

             // Try to get Gain control again (to support J2SE 1.5)

-            if ( (m_line != null) && (m_line.isControlSupported(FloatControl.Type.MASTER_GAIN))) m_gainControl = (FloatControl) m_line.getControl(FloatControl.Type.MASTER_GAIN);

+            try {

+              if ( (m_line != null) && (m_line.isControlSupported(FloatControl.Type.MASTER_GAIN))) m_gainControl = (FloatControl) m_line.getControl(FloatControl.Type.MASTER_GAIN);

+            }

+            catch (IllegalArgumentException e) { }

         }

         return m_gainControl != null;

     }

@@ -853,7 +862,10 @@
         if (m_panControl == null)

         {

             // Try to get Pan control again (to support J2SE 1.5)

-            if ((m_line != null)&& (m_line.isControlSupported(FloatControl.Type.PAN))) m_panControl = (FloatControl) m_line.getControl(FloatControl.Type.PAN);

+            try {

+              if ((m_line != null)&& (m_line.isControlSupported(FloatControl.Type.PAN))) m_panControl = (FloatControl) m_line.getControl(FloatControl.Type.PAN);

+            }

+            catch (IllegalArgumentException e) { }

         }

         return m_panControl != null;

     }

_______________________________________________
pkg-java-maintainers mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/pkg-java-maintainers

Reply via email to