aries-user mailing list archives

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


Mime
View raw message