Fix still image pipelines
Change-Id: Ifcb50f3e19eaffa727851a83b5a447751a95f5eb
diff --git a/edgetpuvision/pipelines.py b/edgetpuvision/pipelines.py
index f51a045..603d187 100644
--- a/edgetpuvision/pipelines.py
+++ b/edgetpuvision/pipelines.py
@@ -14,12 +14,13 @@
from .gst import *
-def decoded_file_src(filename, render_size):
+def decoded_file_src(filename, render_size, freeze=False):
return [
Source('file', location=filename),
Filter('decodebin'),
Filter('v4l2convert'),
Caps('video/x-raw,width=%d,height=%d,format=BGRA' % (render_size.width, render_size.height)),
+ Filter('imagefreeze') if freeze else Filter('identity'),
Filter('glupload'),
Filter('glcolorconvert'),
Caps('video/x-raw(memory:GLMemory),format=RGBA'),
@@ -60,15 +61,11 @@
# Display
def image_display_pipeline(filename, layout):
return (
- [decoded_file_src(filename, layout.render_size),
- Filter('imagefreeze'),
- Caps('video/x-raw', framerate='30/1'),
+ [decoded_file_src(filename, layout.render_size, freeze=True),
Tee(name='t')],
[Pad('t'),
- Queue(),
display_sink()],
[Pad('t'),
- Queue(max_size_buffers=1, leaky='downstream'),
inference_pipeline(layout)],
)
@@ -96,16 +93,13 @@
# Headless
def image_headless_pipeline(filename, layout):
return (
- [decoded_file_src(filename, layout.render_size),
- Filter('imagefreeze'),
- Filter('glupload'),
+ [decoded_file_src(filename, layout.render_size, freeze=True),
inference_pipeline(layout)],
)
def video_headless_pipeline(filename, layout):
return (
[decoded_file_src(filename, layout.render_size),
- Filter('glupload'),
inference_pipeline(layout)],
)