aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--voctogui/lib/videodisplay.py11
-rw-r--r--voctogui/lib/videopreviews.py2
2 files changed, 10 insertions, 3 deletions
diff --git a/voctogui/lib/videodisplay.py b/voctogui/lib/videodisplay.py
index 0280e74..8ce1413 100644
--- a/voctogui/lib/videodisplay.py
+++ b/voctogui/lib/videodisplay.py
@@ -6,7 +6,7 @@ from lib.config import Config
class VideoDisplay(object):
""" Displays a Voctomix-Video-Stream into a GtkWidget """
- def __init__(self, drawing_area, port, play_audio=False, level_callback=None):
+ def __init__(self, drawing_area, port, width=None, height=None, play_audio=False, level_callback=None):
self.log = logging.getLogger('VideoDisplay[%u]' % port)
self.drawing_area = drawing_area
@@ -61,11 +61,18 @@ class VideoDisplay(object):
"""
elif videosystem == 'x':
+ prescale_caps = 'video/x-raw'
+ if width and height:
+ prescale_caps += ',width=%u,height=%u' % (width, height)
+
pipeline += """
videoconvert !
videoscale !
+ {prescale_caps} !
ximagesink
- """
+ """.format(
+ prescale_caps=prescale_caps
+ )
else:
raise Exception('Invalid Videodisplay-System configured: %s'. system)
diff --git a/voctogui/lib/videopreviews.py b/voctogui/lib/videopreviews.py
index d80541f..fe41aea 100644
--- a/voctogui/lib/videopreviews.py
+++ b/voctogui/lib/videopreviews.py
@@ -52,7 +52,7 @@ class VideoPreviewsController(object):
video.set_size_request(width, height)
drawing_area.pack_start(preview, fill=False, expand=False, padding=0)
- player = VideoDisplay(video, port=13000 + idx)
+ player = VideoDisplay(video, port=13000 + idx, width=width, height=height)
uibuilder.find_widget_recursive(preview, 'label').set_label(source)
btn_a = uibuilder.find_widget_recursive(preview, 'btn_a')