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)
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)
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
def testRepr(self): Gst.init(None) self.assertEqual(repr(Gst.ValueList([1, 2, 3])), '<Gst.ValueList {1,2,3}>')
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)