Package flumotion :: Package component :: Package producers :: Package fgdp :: Module fgdp
[hide private]

Source Code for Module flumotion.component.producers.fgdp.fgdp

 1  # -*- Mode: Python -*- 
 2  # vi:si:et:sw=4:sts=4:ts=4 
 3   
 4  # Flumotion - a streaming media server 
 5  # Copyright (C) 2004,2005,2006,2007,2008,2009 Fluendo, S.L. 
 6  # Copyright (C) 2010,2011 Flumotion Services, S.A. 
 7  # All rights reserved. 
 8  # 
 9  # This file may be distributed and/or modified under the terms of 
10  # the GNU Lesser General Public License version 2.1 as published by 
11  # the Free Software Foundation. 
12  # This file is distributed without any warranty; without even the implied 
13  # warranty of merchantability or fitness for a particular purpose. 
14  # See "LICENSE.LGPL" in the source distribution for more information. 
15  # 
16  # Headers in this file shall remain intact. 
17   
18  import gst 
19   
20  from flumotion.component import feedcomponent 
21  from flumotion.common import gstreamer 
22  # register gdpsrc 
23  import flumotion.component.common.fgdp.fgdp 
24   
25  __version__ = "$Rev$" 
26   
27   
28 -class FGDPProducer(feedcomponent.ParseLaunchComponent):
29 logCategory = 'fgdp-producer' 30 _probe_id = None 31 _pad = None 32 _last_streamheaders = None 33
34 - def get_pipeline_string(self, properties):
35 return "fgdpsrc name=src"
36
37 - def configure_pipeline(self, pipeline, properties):
38 src = self.get_element('src') 39 src.set_property('mode', properties.get('mode', 'pull')) 40 src.set_property('host', properties.get('host', 'localhost')) 41 src.set_property('port', properties.get('port', 15000)) 42 src.set_property('username', properties.get('username', 'user')) 43 src.set_property('password', properties.get('password', 'test')) 44 src.set_property('version', properties.get('version', '0.1')) 45 src.set_property('max-reconnection-delay', 46 properties.get('max-reconnection-delay', 0.5)) 47 src.connect('connected', self._on_connected) 48 src.connect('disconnected', self._on_disconnected) 49 self.attachPadMonitorToElement("src")
50
51 - def _on_connected(self, element):
52 self.info("FGDP producer connected")
53
54 - def _on_disconnected(self, element, reason):
55 self.info("FGDP producer disconnected: %s", reason)
56