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 ?
Si vous avez des questions sur le code ruby, n'hésitez pas à les poser.
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
Partager