summaryrefslogtreecommitdiffstats
path: root/main/vlc/0001-omxil-Release-picture-in-direct-rendering-mode.patch
blob: 2ff3d82e226be5f7c546aae010c553604f600666 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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