From a9cc3ed6f2efc3986af765d8e054bb25bdadb7e8 Mon Sep 17 00:00:00 2001 From: Marianna Smidth Buschle Date: Mon, 17 Oct 2016 09:37:30 +0200 Subject: [PATCH] examples: Added identity example Created a simple BaseTransform element (identity) https://bugzilla.gnome.org/show_bug.cgi?id=772853 --- examples/plugins/python/identity.py | 42 +++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 examples/plugins/python/identity.py diff --git a/examples/plugins/python/identity.py b/examples/plugins/python/identity.py new file mode 100644 index 0000000000..0f42efcccd --- /dev/null +++ b/examples/plugins/python/identity.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python +# -*- Mode: Python -*- +# vi:si:et:sw=4:sts=4:ts=4 + +# identity.py +# 2016 Marianna S. Buschle +# +# Simple identity element in python +# +# You can run the example from the source doing from gst-python/: +# +# $ export GST_PLUGIN_PATH=$GST_PLUGIN_PATH:$PWD/plugin:$PWD/examples/plugins +# $ GST_DEBUG=python:4 gst-launch-1.0 fakesrc num-buffers=10 ! identity_py ! fakesink + +import gi +gi.require_version('GstBase', '1.0') + +from gi.repository import Gst, GObject, GstBase +Gst.init(None) + +# +# Simple Identity element created entirely in python +# +class Identity(GstBase.BaseTransform): + __gstmetadata__ = ('Identity Python','Transform', \ + 'Simple identity element written in python', 'Marianna S. Buschle') + + __gsttemplates__ = (Gst.PadTemplate.new("src", + Gst.PadDirection.SRC, + Gst.PadPresence.ALWAYS, + Gst.Caps.new_any()), + Gst.PadTemplate.new("sink", + Gst.PadDirection.SINK, + Gst.PadPresence.ALWAYS, + Gst.Caps.new_any())) + + def do_transform_ip(self, buffer): + Gst.info("timestamp(buffer):%s" % (Gst.TIME_ARGS(buffer.pts))) + return Gst.FlowReturn.OK + +GObject.type_register(Identity) +__gstelementfactory__ = ("identity_py", Gst.Rank.NONE, Identity)