Ticket #123: frameworkd_Milestone2_gstreamer-playbin-ringtone_20080901-gismo.diff

File frameworkd_Milestone2_gstreamer-playbin-ringtone_20080901-gismo.diff, 1.3 KB (added by luca@…, 4 years ago)

[FSO-Milestone2] use Gstreamer 'playbin' plugin for ringtone

  • framework/subsystems/oeventd/receiver.py

    diff --git a/framework/subsystems/oeventd/receiver.py b/framework/subsystems/oeventd/receiver.py
    index 94f5904..993e074 100644
    a b class RingReceiver( Receiver ): 
    151151            logger.info( "GST:MSG %s", t ) 
    152152 
    153153    def _play( self ): 
    154         self.player = pipeline = gst.Pipeline( "oeventd-pipeline" ) 
    155         filesrc = gst.element_factory_make( "filesrc", "source" ) 
    156         pipeline.add( filesrc ) 
    157         decoder = gst.element_factory_make( "siddec", "decoder" ) 
    158         pipeline.add( decoder ) 
     154        self.player = pipeline = gst.element_factory_make( "playbin", "oeventd-pipeline" ) 
    159155        sink = gst.element_factory_make( "alsasink", "sink" ) 
    160         pipeline.add( sink ) 
    161         filesrc.link( decoder ) 
    162         decoder.link( sink ) 
     156        pipeline.set_property( "audio-sink", sink ) 
    163157        bus = self.player.get_bus() 
    164158        bus.add_signal_watch() 
    165159        bus.connect( "message", self._onMessage ) 
    166         filesrc.set_property( "location", "/usr/share/sounds/Arkanoid_PSID.sid" ) 
     160        pipeline.set_property( "uri", "file://" + "/usr/share/sounds/Arkanoid_PSID.sid" ) 
    167161        pipeline.set_state(gst.STATE_PLAYING) 
    168162        logger.info( 'playing ringtone' ) 
    169163        self.ringing = True