summaryrefslogtreecommitdiff
path: root/voctocore/lib/failvideosrc.py
diff options
context:
space:
mode:
authorMaZderMind <peter@mazdermind.de>2014-09-14 15:49:25 +0200
committerMaZderMind <peter@mazdermind.de>2014-09-14 15:49:25 +0200
commit66471a9cb0a0461672ea1cfcea638a8c021542f5 (patch)
tree523e8c0d344c253a40d5bed03c4f1f742b18ced0 /voctocore/lib/failvideosrc.py
parent638f52635b788a4c43b232cc6d59be11ec6dab52 (diff)
use an external failsrc for the failover shmsrc
Diffstat (limited to 'voctocore/lib/failvideosrc.py')
-rw-r--r--voctocore/lib/failvideosrc.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/voctocore/lib/failvideosrc.py b/voctocore/lib/failvideosrc.py
new file mode 100644
index 0000000..500603a
--- /dev/null
+++ b/voctocore/lib/failvideosrc.py
@@ -0,0 +1,34 @@
+#!/usr/bin/python3
+import time, logging
+from gi.repository import GLib, Gst
+
+from lib.config import Config
+
+class FailVideoSrc(Gst.Bin):
+ log = logging.getLogger('FailVideoSrc')
+ colors = [
+ 0xffff0000, # red
+ 0xff00ff00, # green
+ 0xff0000ff, # blue
+ 0xffffff00, # yellow
+ 0xff00ffff, # cyan
+ 0xffff00ff, # magenta
+ 0xffffffff, # white
+ ]
+
+ def __init__(self, idx, name):
+ super().__init__()
+
+ # Create elements
+ self.failsrc = Gst.ElementFactory.make('videotestsrc', None)
+
+ # Add elements to Bin
+ self.add(self.failsrc)
+
+ # Set properties
+ self.failsrc.set_property('foreground-color', self.colors[idx % len(self.colors)])
+
+ # Add Ghost Pads
+ self.add_pad(
+ Gst.GhostPad.new('src', self.failsrc.get_static_pad('src'))
+ )