Hi David, thanks for your reply. I created the issue https://issues.apache.org/jira/browse/ARIES-780 Unfortunatly, as i noted in the issue, its not working Maybe it is just a little beginners mistake that i have overseen something or so... So i made it as Question with minor priority and not as bug.
Regards, Oli Am 12.11.2011 22:12, schrieb David Bosschaert: > Hi Oliver, > > This is good timing as I was just going to spend some time on spi-fly > again in the near term. > So those lines of text that you're seeing is just debug output. You > should be able to ignore that safely. > However, I understand that the functionality isn't actually working > for you. No there isn't a SPI-Consumer: javax.sound.* - type wildcard, > maybe we should add something like that, but SPI-Consumer: * should > work as well, right? > > In any case I think you're experiencing an error and I would like to > understand better what the problem is. Could you maybe create a JIRA > issue for this (https://issues.apache.org/jira/browse/ARIES) and > attach the things needed to be able to reproduce it to that? Then I > can try to look deeper into the issue. > > Cheers, > > David > > On 12 November 2011 13:57, Oliver Zemann <[email protected]> wrote: >> hi, >> >> i'm trying to build mp3spi (with tritounus-mp3) to work in an osgi >> environment. >> It provides some META-INF/services classes (AudioInputStream etc.) which >> should be made available to my class PlayerEngine so that i can playback >> mp3's. >> I added the following line to my PlayerEngine's Manifest: >> SPI-Consumer: * >> >> and the provider (i wrapped mp3spi, tritounus etc. together) got also a >> line in the Manifest: >> SPI-Provider: * >> >> i can load the wrapped bundle fine, so i think this should work. >> The problem is when i try to manipulate the PlayerEngine with the static >> weaving tool i get: >> >> C:\Users\oli\Desktop> java -jar ..\Downloads\spifly-static-tool.jar >> .\equinox\SoundBox-PlayerEngine-1.0-SNAPSHOT.jar >> [SPI Fly Static Tool] Processing: >> .\equinox\SoundBox-PlayerEngine-1.0-SNAPSHOT.jar >> @@@ 1: <init>#()V#null~null >> ### 183: java/lang/Object#<init>#()V >> @@@ 1: >> start#(Lorg/osgi/framework/BundleContext;)V#null~[java/lang/Exception] >> ### 183: >> org/dyndns/soundi/soundboxplayerengine/DefaultPlayerEngine#<init>#(Lorg/osgi/framework/BundleContext;)V >> ### 182: >> org/dyndns/soundi/portals/interfaces/CommunicationAction#toString#()Ljava/lang/String; >> ### 182: >> org/dyndns/soundi/portals/interfaces/CommunicationAction#toString#()Ljava/lang/String; >> ### 183: java/util/Hashtable#<init>#()V >> ### 182: >> java/util/Dictionary#put#(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; >> ### 182: java/lang/Class#getName#()Ljava/lang/String; >> ### 182: java/lang/Class#getName#()Ljava/lang/String; >> ### 185: >> org/osgi/framework/BundleContext#registerService#([Ljava/lang/String;Ljava/lang/Object;Ljava/util/Dictionary;)L >> org/osgi/framework/ServiceRegistration; >> ### 184: >> org/dyndns/soundi/utils/Util#sendMessage#(Lorg/dyndns/soundi/utils/Util$Component;Ljava/lang/String;)V >> @@@ 1: stop#(Lorg/osgi/framework/BundleContext;)V#null~[java/lang/Exception] >> @@@ 0: <init>#(Lorg/osgi/framework/BundleContext;)V#null~null >> ### 183: java/lang/Object#<init>#()V >> @@@ 1: >> play#(Ljava/io/InputStream;Lorg/dyndns/soundi/portals/interfaces/Song;)V#null~null >> ### 184: >> javax/sound/sampled/AudioSystem#getAudioFileTypes#()[Ljavax/sound/sampled/AudioFileFormat$Type; >> ### 182: >> javax/sound/sampled/AudioFileFormat$Type#getExtension#()Ljava/lang/String; >> ### 182: java/io/PrintStream#println#(Ljava/lang/String;)V >> ### 184: >> javax/sound/sampled/AudioSystem#getAudioInputStream#(Ljava/io/InputStream;)Ljavax/sound/sampled/AudioInputStrea >> m; >> ### 182: java/lang/Class#getName#()Ljava/lang/String; >> ### 184: >> java/util/logging/Logger#getLogger#(Ljava/lang/String;)Ljava/util/logging/Logger; >> ### 182: >> java/util/logging/Logger#log#(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V >> ### 182: java/lang/Class#getName#()Ljava/lang/String; >> ### 184: >> java/util/logging/Logger#getLogger#(Ljava/lang/String;)Ljava/util/logging/Logger; >> ### 182: >> java/util/logging/Logger#log#(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V >> ### 182: >> javax/sound/sampled/AudioInputStream#getFormat#()Ljavax/sound/sampled/AudioFormat; >> ### 182: javax/sound/sampled/AudioFormat#getSampleRate#()F >> ### 182: javax/sound/sampled/AudioFormat#getChannels#()I >> ### 182: javax/sound/sampled/AudioFormat#getChannels#()I >> ### 182: javax/sound/sampled/AudioFormat#getSampleRate#()F >> ### 183: >> javax/sound/sampled/AudioFormat#<init>#(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V >> ### 184: >> javax/sound/sampled/AudioSystem#getAudioInputStream#(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/Audi >> oInputStream;)Ljavax/sound/sampled/AudioInputStream; >> ### 183: >> org/dyndns/soundi/soundboxplayerengine/DefaultPlayerEngine#rawplay#(Ljavax/sound/sampled/AudioFormat;Ljavax/sou >> nd/sampled/AudioInputStream;Lorg/dyndns/soundi/portals/interfaces/Song;)V >> @@@ 1: pause#()V#null~null >> @@@ 1: stop#()V#null~null >> @@@ 1: handleEvent#(Lorg/osgi/service/event/Event;)V#null~null >> @@@ 2: >> rawplay#(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioInputStream;Lorg/dyndns/soundi/portals/interf >> aces/Song;)V#null~null >> ### 183: >> org/dyndns/soundi/soundboxplayerengine/DefaultPlayerEngine#getLine#(Ljavax/sound/sampled/AudioFormat;)Ljavax/so >> und/sampled/SourceDataLine; >> ### 185: javax/sound/sampled/SourceDataLine#start#()V >> ### 185: javazoom/spi/PropertiesContainer#properties#()Ljava/util/Map; >> ### 185: java/util/Map#get#(Ljava/lang/Object;)Ljava/lang/Object; >> ### 182: java/lang/Long#longValue#()J >> ### 185: java/util/Map#get#(Ljava/lang/Object;)Ljava/lang/Object; >> ### 182: java/lang/Long#longValue#()J >> ### 182: javax/sound/sampled/AudioInputStream#read#([BII)I >> ### 185: javax/sound/sampled/SourceDataLine#write#([BII)I >> ### 185: javax/sound/sampled/SourceDataLine#drain#()V >> ### 185: javax/sound/sampled/SourceDataLine#stop#()V >> ### 185: javax/sound/sampled/SourceDataLine#close#()V >> ### 182: java/lang/Exception#printStackTrace#()V >> @@@ 2: >> getLine#(Ljavax/sound/sampled/AudioFormat;)Ljavax/sound/sampled/SourceDataLine;#null~[javax/sound/sampled/LineUna >> vailableException] >> ### 183: >> javax/sound/sampled/DataLine$Info#<init>#(Ljava/lang/Class;Ljavax/sound/sampled/AudioFormat;)V >> ### 184: >> javax/sound/sampled/AudioSystem#getLine#(Ljavax/sound/sampled/Line$Info;)Ljavax/sound/sampled/Line; >> ### 185: >> javax/sound/sampled/SourceDataLine#open#(Ljavax/sound/sampled/AudioFormat;)V >> >> thats also what i get when i try to use dynamic weaving (which would be >> much nicer) >> >> i thought maybe i just need to add a special line to the SPI-Consumer: >> header like: >> SPI-Consumer: javax.sound.* >> but thats not working, it then complains that it requires a class and a >> method, but i have no idea how to declare this as there is no documentation >> >> thanks in advance. >>
