1
2
3
4
5
6
7
8
9
10
11
12
13
14 import gst
15
16
20
23
25 if not self.devices:
26 self.detect()
27 return self.devices
28
30 try:
31 element = gst.element_factory_make(name, '%spresencetest' % name)
32 if isinstance(element, gst.interfaces.PropertyProbe):
33 element.set_state(gst.STATE_READY)
34 element.probe_property_name('device')
35 devices = element.probe_get_values_name('device')
36 if devices:
37 self.devices[text % _(' Default device')] = pipe % name
38 for device in devices:
39 element.set_state(gst.STATE_NULL)
40 element.set_property('device', device)
41 element.set_state(gst.STATE_READY)
42 device_name = element.get_property('device-name')
43 self.devices[text % device_name] = pipe % '%s device=%s' % (name, device)
44 element.set_state(gst.STATE_NULL)
45 else:
46 self.devices[text] = pipe % name
47 except gst.ElementNotFoundError:
48 print 'element \'%s\' not found' % name
49
50
63
64
67 self.devices = {}
68
69 self.detect_element('fakesink', _('Fake audio output'))
70
71 self.detect_element('autoaudiosink', _('Autodetect'))
72
73 self.detect_element('alsasink', _('ALSA: %s'),
74 '%s sync=false')
75
76
87
88
89
90
91
94 self.devices = {}
95
96 self.detect_element('fakesink', _('Fake audio output'))
97
98 self.detect_element('xvimagesink', _('X Window System (X11/XShm/Xv): %s'))
99
100 self.detect_element('ximagesink', _('X Window System (without Xv)'))
101 self.detect_element('autovideosink', _('Autodetect'))
102