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)],
     )