Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/audio_sensors/audiograb.py48
-rw-r--r--plugins/camera_sensor/camera_sensor.py4
-rw-r--r--plugins/camera_sensor/tacamera.py11
3 files changed, 31 insertions, 32 deletions
diff --git a/plugins/audio_sensors/audiograb.py b/plugins/audio_sensors/audiograb.py
index 6072c61..21c92e9 100644
--- a/plugins/audio_sensors/audiograb.py
+++ b/plugins/audio_sensors/audiograb.py
@@ -16,9 +16,6 @@
# along with this library; if not, write to the Free Software
# Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA
-import pygst
-import gst
-import gst.interfaces
from numpy import fromstring
import subprocess
import traceback
@@ -27,6 +24,7 @@ from threading import Timer
from TurtleArt.taconstants import XO1
from TurtleArt.tautils import debug_output
+from gi.repository import Gst
# Initial device settings
RATE = 48000
@@ -105,31 +103,31 @@ class AudioGrab():
self.pads = []
self.queue = []
self.fakesink = []
- self.pipeline = gst.Pipeline('pipeline')
- self.alsasrc = gst.element_factory_make('alsasrc', 'alsa-source')
+ self.pipeline = Gst.Pipeline('pipeline')
+ self.alsasrc = Gst.ElementFactory.make('alsasrc', 'alsa-source')
self.pipeline.add(self.alsasrc)
- self.caps1 = gst.element_factory_make('capsfilter', 'caps1')
+ self.caps1 = Gst.ElementFactory.make('capsfilter', 'caps1')
self.pipeline.add(self.caps1)
caps_str = 'audio/x-raw-int,rate=%d,channels=%d,depth=16' % (
RATE, self.channels)
- self.caps1.set_property('caps', gst.caps_from_string(caps_str))
+ self.caps1.set_property('caps', Gst.caps_from_string(caps_str))
if self.channels == 1:
- self.fakesink.append(gst.element_factory_make('fakesink', 'fsink'))
+ self.fakesink.append(Gst.ElementFactory.make('fakesink', 'fsink'))
self.pipeline.add(self.fakesink[0])
self.fakesink[0].connect('handoff', self.on_buffer, 0)
self.fakesink[0].set_property('signal-handoffs', True)
- gst.element_link_many(self.alsasrc, self.caps1, self.fakesink[0])
+ Gst.element_link_many(self.alsasrc, self.caps1, self.fakesink[0])
else:
if not hasattr(self, 'splitter'):
- self.splitter = gst.element_factory_make('deinterleave')
+ self.splitter = Gst.ElementFactory.make('deinterleave')
self.pipeline.add(self.splitter)
self.splitter.set_properties('keep-positions=true', 'name=d')
self.splitter.connect('pad-added', self._splitter_pad_added)
- gst.element_link_many(self.alsasrc, self.caps1, self.splitter)
+ Gst.element_link_many(self.alsasrc, self.caps1, self.splitter)
for i in range(self.channels):
- self.queue.append(gst.element_factory_make('queue'))
+ self.queue.append(Gst.ElementFactory.make('queue'))
self.pipeline.add(self.queue[i])
- self.fakesink.append(gst.element_factory_make('fakesink'))
+ self.fakesink.append(Gst.ElementFactory.make('fakesink'))
self.pipeline.add(self.fakesink[i])
self.fakesink[i].connect('handoff', self.on_buffer, i)
self.fakesink[i].set_property('signal-handoffs', True)
@@ -141,9 +139,9 @@ class AudioGrab():
self.capture_interval_sample = False
def _query_mixer(self):
- self._mixer = gst.element_factory_make('alsamixer')
- rc = self._mixer.set_state(gst.STATE_PAUSED)
- assert rc == gst.STATE_CHANGE_SUCCESS
+ self._mixer = Gst.ElementFactory.make('alsamixer')
+ rc = self._mixer.set_state(Gst.State.PAUSED)
+ assert rc == Gst.State.CHANGE_SUCCESS
# Query the available controls
tracks_list = self._mixer.list_tracks()
@@ -186,9 +184,9 @@ class AudioGrab():
'''
self.pads.append(pad)
if self._pad_count < self.channels:
- pad.link(self.queue[self._pad_count].get_pad('sink'))
- self.queue[self._pad_count].get_pad('src').link(
- self.fakesink[self._pad_count].get_pad('sink'))
+ pad.link(self.queue[self._pad_count].get_static_pad('sink'))
+ self.queue[self._pad_count].get_static_pad('src').link(
+ self.fakesink[self._pad_count].get_static_pad('sink'))
self._pad_count += 1
else:
debug_output('ignoring channels > %d' % (self.channels),
@@ -218,13 +216,13 @@ class AudioGrab():
def start_sound_device(self):
'''Start or Restart grabbing data from the audio capture'''
- gst.event_new_flush_start()
- self.pipeline.set_state(gst.STATE_PLAYING)
+ Gst.event_new_flush_start()
+ self.pipeline.set_state(Gst.State.PLAYING)
def stop_sound_device(self):
'''Stop grabbing data from capture device'''
- gst.event_new_flush_stop()
- self.pipeline.set_state(gst.STATE_NULL)
+ Gst.event_new_flush_stop()
+ self.pipeline.set_state(Gst.State.NULL)
def sample_now(self):
''' Log the current sample now. This method is called from the
@@ -245,7 +243,7 @@ class AudioGrab():
self.pause_grabbing()
caps_str = 'audio/x-raw-int,rate=%d,channels=%d,depth=16' % (
sr, self.channels)
- self.caps1.set_property('caps', gst.caps_from_string(caps_str))
+ self.caps1.set_property('caps', Gst.caps_from_string(caps_str))
self.resume_grabbing()
def get_sampling_rate(self):
@@ -342,7 +340,7 @@ class AudioGrab():
'''Get mute status of a control'''
if not control:
return default
- return bool(control.flags & gst.interfaces.MIXER_TRACK_MUTE)
+ return bool(control.flags & Gst.interfaces.MIXER_TRACK_MUTE)
def _set_mute(self, control, name, value):
'''Mute a control'''
diff --git a/plugins/camera_sensor/camera_sensor.py b/plugins/camera_sensor/camera_sensor.py
index f694767..2f01045 100644
--- a/plugins/camera_sensor/camera_sensor.py
+++ b/plugins/camera_sensor/camera_sensor.py
@@ -15,7 +15,6 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-import gst
from fcntl import ioctl
import os
from time import time
@@ -28,6 +27,7 @@ from plugins.camera_sensor.v4l2 import v4l2_control, V4L2_CID_AUTOGAIN, \
from plugins.plugin import Plugin
+from gi.repository import Gst
from TurtleArt.tapalette import make_palette
from TurtleArt.talogo import media_blocks_dictionary, primitive_dictionary
from TurtleArt.tautils import get_path, debug_output
@@ -44,7 +44,7 @@ class Camera_sensor(Plugin):
self._ag_control = None
self.camera = None
- v4l2src = gst.element_factory_make('v4l2src')
+ v4l2src = Gst.ElementFactory.make('v4l2src')
if v4l2src.props.device_name is not None:
self._status = True
diff --git a/plugins/camera_sensor/tacamera.py b/plugins/camera_sensor/tacamera.py
index 40bd53d..ec43641 100644
--- a/plugins/camera_sensor/tacamera.py
+++ b/plugins/camera_sensor/tacamera.py
@@ -20,8 +20,9 @@
#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
#THE SOFTWARE.
-import gst, time
+import time
from gi.repository import GObject
+from gi.repository import Gst
from TurtleArt.tautils import debug_output
@@ -34,7 +35,7 @@ class Camera():
def __init__(self):
''' Prepare camera pipeline to pixbuf and signal watch '''
- self.pipe = gst.parse_launch('!'.join(GST_PIPE))
+ self.pipe = Gst.parse_launch('!'.join(GST_PIPE))
self.bus = self.pipe.get_bus()
self.bus.add_signal_watch()
self.bus.connect('message', self._on_message)
@@ -51,11 +52,11 @@ class Camera():
''' Start grabbing '''
self.pixbuf = None
self.image_ready = False
- self.pipe.set_state(gst.STATE_PLAYING)
+ self.pipe.set_state(Gst.State.PLAYING)
while not self.image_ready:
- self.bus.poll(gst.MESSAGE_ANY, -1)
+ self.bus.poll(Gst.MessageType.ANY, -1)
# self.stop_camera_input()
def stop_camera_input(self):
''' Stop grabbing '''
- self.pipe.set_state(gst.STATE_NULL)
+ self.pipe.set_state(Gst.State.NULL)