summaryrefslogtreecommitdiff
path: root/examples/egl
diff options
context:
space:
mode:
authorJosep Torra <n770galaxy@gmail.com>2014-03-10 17:43:50 +0100
committerJulien Isorce <julien.isorce@collabora.co.uk>2014-03-28 11:40:20 +0000
commit718fd1bb93a09137a139d050e537f07daaf654b3 (patch)
tree551f7ea3236561afa3cd90665e146291aa04e14b /examples/egl
parent5724df75231e83c510b00c851ae25aa5024e5798 (diff)
omxvideodec: Implement pipeline draining to support adaptive scenarios
When draining due a format change also drain the pipeline to reclaim back all buffers. https://bugzilla.gnome.org/show_bug.cgi?id=726107
Diffstat (limited to 'examples/egl')
-rw-r--r--examples/egl/testegl.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/examples/egl/testegl.c b/examples/egl/testegl.c
index a8d61ca..73d4374 100644
--- a/examples/egl/testegl.c
+++ b/examples/egl/testegl.c
@@ -1275,7 +1275,8 @@ query_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
GstQuery *query = GST_PAD_PROBE_INFO_QUERY (info);
switch (GST_QUERY_TYPE (query)) {
- case GST_QUERY_ALLOCATION:{
+ case GST_QUERY_ALLOCATION:
+ {
GstBufferPool *pool;
GstStructure *config;
GstCaps *caps;
@@ -1378,8 +1379,13 @@ query_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
GST_DEBUG ("done alocation");
return GST_PAD_PROBE_OK;
+ break;
}
+ case GST_QUERY_DRAIN:
+ {
+ flush_internal (state);
break;
+ }
default:
break;
}