Пример #1
0
    def testConstructor(self):
        Gst.init(None)

        a = Gst.ValueList((1, 2, 3))
        self.assertEqual(a.array, [1, 2, 3])

        self.assertRaises(TypeError, Gst.ValueList, 1)
        self.assertRaises(TypeError, Gst.ValueList)
Пример #2
0
    def testGetValue(self):
        Gst.init(None)

        st = Gst.Structure.new_empty("video/x-raw")
        st["framerate"] = Gst.ValueList(
            [Gst.Fraction(1, 30), Gst.Fraction(1, 2)])
        value = st["framerate"]

        self.assertEqual(value[0], Gst.Fraction(1, 30))
        self.assertEqual(value[1], Gst.Fraction(1, 2))

        st["matrix"] = Gst.ValueList(
            [Gst.ValueList([0, 1]),
             Gst.ValueList([-1, 0])])
        value = st["matrix"]

        self.assertEqual(value[0][0], 0)
        self.assertEqual(value[0][1], 1)
        self.assertEqual(value[1][0], -1)
        self.assertEqual(value[1][1], 0)
Пример #3
0
    import matplotlib.patheffects as pe
    from numpy_ringbuffer import RingBuffer
    from matplotlib import pyplot as plt
    from matplotlib.backends.backend_agg import FigureCanvasAgg
except ImportError:
    Gst.error('audioplot requires numpy, numpy_ringbuffer and matplotlib')
    raise


Gst.init(None)

AUDIO_FORMATS = [f.strip() for f in
                 GstAudio.AUDIO_FORMATS_ALL.strip('{ }').split(',')]

ICAPS = Gst.Caps(Gst.Structure('audio/x-raw',
                               format=Gst.ValueList(AUDIO_FORMATS),
                               layout='interleaved',
                               rate = Gst.IntRange(range(1, GLib.MAXINT)),
                               channels = Gst.IntRange(range(1, GLib.MAXINT))))

OCAPS = Gst.Caps(Gst.Structure('video/x-raw',
                               format='ARGB',
                               width=Gst.IntRange(range(1, GLib.MAXINT)),
                               height=Gst.IntRange(range(1, GLib.MAXINT)),
                               framerate=Gst.FractionRange(Gst.Fraction(1, 1),
                                                           Gst.Fraction(GLib.MAXINT, 1))))

DEFAULT_WINDOW_DURATION = 1.0
DEFAULT_WIDTH = 640
DEFAULT_HEIGHT = 480
DEFAULT_FRAMERATE_NUM = 25
Пример #4
0
    def testRepr(self):
        Gst.init(None)

        self.assertEqual(repr(Gst.ValueList([1, 2, 3])),
                         '<Gst.ValueList {1,2,3}>')
Пример #5
0
gi.require_version('GstBase', '1.0')
gi.require_version('GstVideo', '1.0')

from gi.repository import Gst, GObject, GLib, GstBase, GstVideo  # noqa:F401,F402

from gstreamer.utils import gst_buffer_with_caps_to_ndarray  # noqa:F401,F402


# formats taken from existing videoconvert plugins
# gst-inspect-1.0 videoconvert
FORMATS = [f.strip()
           for f in "RGBx,xRGB,BGRx,xBGR,RGBA,ARGB,BGRA,ABGR,RGB,BGR,RGB16,RGB15,GRAY8,GRAY16_LE,GRAY16_BE".split(',')]

# Input caps
IN_CAPS = Gst.Caps(Gst.Structure('video/x-raw',
                                 format=Gst.ValueList(FORMATS),
                                 width=Gst.IntRange(range(1, GLib.MAXINT)),
                                 height=Gst.IntRange(range(1, GLib.MAXINT))))

# Output caps
OUT_CAPS = Gst.Caps(Gst.Structure('video/x-raw',
                                  format=Gst.ValueList(FORMATS),
                                  width=Gst.IntRange(range(1, GLib.MAXINT)),
                                  height=Gst.IntRange(range(1, GLib.MAXINT))))


def clip(value, min_value, max_value):
    """Clip value to range [min_value, max_value]"""
    return min(max(value, min_value), max_value)