summaryrefslogtreecommitdiff
blob: 04b67bca57316e28a3accb3ed5a32a1fbfc8422b (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
33
34
From 1fabe36f40e872942c80041225bdbf41db561bea Mon Sep 17 00:00:00 2001
From: Rob Clark <rob@ti.com>
Date: Sun, 4 Apr 2010 06:47:55 -0500
Subject: [PATCH 05/11] v4l2sink: Add support for omap_vout driver

---
 sys/v4l2/gstv4l2sink.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/sys/v4l2/gstv4l2sink.c b/sys/v4l2/gstv4l2sink.c
index 4408428..66dda8e 100644
--- a/sys/v4l2/gstv4l2sink.c
+++ b/sys/v4l2/gstv4l2sink.c
@@ -900,6 +900,17 @@ gst_v4l2sink_buffer_alloc (GstBaseSink * bsink, guint64 offset, guint size,
         no_pending_streamon = TRUE;
       }
 
+      /* workaround for bug in omap_vout driver, when we ask for more
+       * than four buffers:
+       */
+      if (!strcmp ("omap_vout", driver)) {
+        if (v4l2sink->num_buffers > 4) {
+          v4l2sink->num_buffers = 4;
+          GST_DEBUG_OBJECT (v4l2sink,
+              "limiting to 4 buffers to work-around omap_vout driver bug");
+        }
+      }
+
       /* set_caps() might not be called yet.. so just to make sure: */
       if (!gst_v4l2sink_set_caps (bsink, caps)) {
         return GST_FLOW_ERROR;
-- 
1.7.1