Bonjour.

J'obtiens un bug assez dur � reproduire lorsque j'utilise conjointement ruby/gtk2 et ruby/gst ("bindings" pour GStreamer). J'ai circonscrit la reproduction du bug � script ruby d'une quarantaine de lignes. Lorsque le bug est reproduit, l'interface graphique "freeze". L'apparition du bug semble d�pendre de la configuration de l'ordinateur. En particulier la pr�sence d'un proxy semble supprimer le bug.

J'aimerai essayer de connaitre l'origine de ce bug. Pour �liminer les biblioth�ques ruby de mes suspicions, j'aimerai tester le un script �quivalent en python.

Quelqu'un pourrait-il traduire ce code ruby afin que je teste avec la m�me configuration ?

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
#!/usr/bin/env ruby
# encoding: UTF-8
 
require 'gtk2'
require 'gst'
 
class Player
	def initialize
                @soup=Gst::ElementFactory.make('souphttpsrc')
	end
 
	def play
                @soup.location='http://mp3.live.tv-radio.com/centpourcent/all/centpourcent-128k.mp3'
		p "Going to play..."
		#@soup.play##Freeze
		#Thread.new{@soup.play}.join##Freeze
		Thread.new{@soup.play}#Do not Freeze
		p  "Playing."
	end
end
 
class Gui
	def initialize(player)
                @player=player
                @bstop=Gtk::Button.new('Stop')
                @bstop.signal_connect('clicked'){@player.stop}
                @bplay=Gtk::Button.new('Play')
                @bplay.signal_connect('clicked'){@player.play}
                @box=Gtk::HBox.new
                @box.pack_start(@bstop)
                @box.pack_start(@bplay)
                @window=Gtk::Window.new
                @window.add(@box)
                @window.show_all
                @window.signal_connect("delete_event"){Gtk.main_quit; true}
	end
end
 
player=Player.new
gui=Gui.new(player)
Gtk.main
Si vous avez des questions sur le code ruby, n'h�sitez pas � les poser.