summaryrefslogtreecommitdiffstats
path: root/main/vlc/0001-omxil-Release-picture-in-direct-rendering-mode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/vlc/0001-omxil-Release-picture-in-direct-rendering-mode.patch')
-rw-r--r--main/vlc/0001-omxil-Release-picture-in-direct-rendering-mode.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/main/vlc/0001-omxil-Release-picture-in-direct-rendering-mode.patch b/main/vlc/0001-omxil-Release-picture-in-direct-rendering-mode.patch
new file mode 100644
index 000000000..2ff3d82e2
--- /dev/null
+++ b/main/vlc/0001-omxil-Release-picture-in-direct-rendering-mode.patch
@@ -0,0 +1,32 @@
+From fe0d4afb9df270cadeea42675552029471646279 Mon Sep 17 00:00:00 2001
+From: Julian Scheel <julian@jusst.de>
+Date: Wed, 21 Aug 2013 10:53:41 +0200
+Subject: [PATCH] omxil: Release picture in direct rendering mode.
+
+In direct rendering mode a picture reference is acquired from the video output
+module. This reference has to be released when the internal omx buffer which
+uses this reference is freed. This avoids a blocking condition where the video
+output would wait for a picture to be freed forever.
+
+Signed-off-by: Julian Scheel <julian@jusst.de>
+Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+---
+ modules/codec/omxil/omxil.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules/codec/omxil/omxil.c b/modules/codec/omxil/omxil.c
+index c49b7e5..71ee9b0 100644
+--- a/modules/codec/omxil/omxil.c
++++ b/modules/codec/omxil/omxil.c
+@@ -1047,6 +1047,8 @@ static OMX_ERRORTYPE PortReconfigure(decoder_t *p_dec, OmxPort *p_port)
+ for(i = 0; i < p_port->i_buffers; i++)
+ {
+ OMX_FIFO_GET(&p_port->fifo, p_buffer);
++ if (p_buffer->pAppPrivate != NULL)
++ decoder_DeletePicture( p_dec, p_buffer->pAppPrivate );
+ if (p_buffer->nFlags & SENTINEL_FLAG) {
+ free(p_buffer);
+ i--;
+--
+1.8.5.2
+