aries-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Zemann <oliver.zem...@googlemail.com>
Subject problem in using spi fly (strange exceptions...)
Date Sat, 12 Nov 2011 13:57:16 GMT
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.

Mime
View raw message