Added TI patches, generated from commit 04f9d72 of the following tree:
[ubuntu-omap:gst-plugins-bad1-0.git] / debian / patches / 0087-PATCH-27-33-kmssink-remove-GstVideoContext-implement.patch
1 From a9c95890df2cdefcd8026e69bf640022e28ab9a5 Mon Sep 17 00:00:00 2001
2 From: Thibault Saunier <thibault.saunier@collabora.com>
3 Date: Wed, 17 Oct 2012 13:30:29 -0300
4 Subject: [PATCH 087/100] [PATCH 27/33] kmssink: remove GstVideoContext
5  implementation
6
7 We now rely one libdce to provide the fd, so all elements that will
8 make use dce will share the same fd through libdce, no need of the
9 VideoContext use.
10
11 Moreover, in our case the VideoContext was not actually working as if we
12 implemented it in, for example ducatividdec, we ended up having the issues unsolved
13 when using playbin2 as the dec and the sink are not linked at the time their
14 states are set to PAUSED, and the user would be in charge of setting the fd,
15 which is far from being optimal.
16 ---
17  sys/kms/gstkmssink.c |   65 +-------------------------------------------------
18  1 file changed, 1 insertion(+), 64 deletions(-)
19
20 diff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c
21 index c8999b0..743dabb 100644
22 --- a/sys/kms/gstkmssink.c
23 +++ b/sys/kms/gstkmssink.c
24 @@ -40,12 +40,7 @@
25  GST_DEBUG_CATEGORY_STATIC (gst_debug_kms_sink);
26  #define GST_CAT_DEFAULT gst_debug_kms_sink
27  
28 -static void
29 -gst_kms_sink_video_context_interface_init (GstVideoContextInterface * iface);
30 -
31 -G_DEFINE_TYPE_EXTENDED (GstKMSSink, gst_kms_sink, GST_TYPE_VIDEO_SINK, 0,
32 -    G_IMPLEMENT_INTERFACE (GST_TYPE_VIDEO_CONTEXT,
33 -        gst_kms_sink_video_context_interface_init));
34 +G_DEFINE_TYPE (GstKMSSink, gst_kms_sink, GST_TYPE_VIDEO_SINK);
35  
36  static void gst_kms_sink_reset (GstKMSSink * sink);
37  
38 @@ -183,48 +178,6 @@ gst_kms_sink_get_times (GstBaseSink * bsink, GstBuffer * buf,
39    }
40  }
41  
42 -static gboolean
43 -gst_kms_sink_query (GstBaseSink * basesink, GstQuery * query)
44 -{
45 -  gboolean res = FALSE;
46 -  GstKMSSink *sink = GST_KMS_SINK (basesink);
47 -
48 -  switch (GST_QUERY_TYPE (query)) {
49 -    case GST_QUERY_CUSTOM:
50 -    {
51 -      const gchar **types;
52 -      gint i;
53 -      GstStructure *structure;
54 -
55 -      structure = gst_query_get_structure (query);
56 -      if (strcmp (gst_structure_get_name (structure), "prepare-video-context"))
57 -        break;
58 -
59 -      types = gst_video_context_query_get_supported_types (query);
60 -      for (i = 0; types[i]; i++) {
61 -        if (strcmp (types[i], "drm-fd"))
62 -          continue;
63 -
64 -        if (sink->fd != -1) {
65 -          gst_structure_set (structure,
66 -              "video-context-type", G_TYPE_STRING, types[i],
67 -              "video-context", G_TYPE_INT, sink->fd, NULL);
68 -
69 -          res = TRUE;
70 -        }
71 -
72 -        break;
73 -      }
74 -
75 -      break;
76 -    }
77 -    default:
78 -      break;
79 -  }
80 -
81 -  return res;
82 -}
83 -
84  static GstFlowReturn
85  gst_kms_sink_show_frame (GstVideoSink * vsink, GstBuffer * inbuf)
86  {
87 @@ -578,21 +531,6 @@ beach:
88  }
89  
90  static void
91 -gst_kms_sink_set_video_context (GstVideoContext * context,
92 -    const gchar * type, const GValue * value)
93 -{
94 -  GstKMSSink *sink = GST_KMS_SINK (context);
95 -
96 -  sink->fd = g_value_get_int (value);
97 -}
98 -
99 -static void
100 -gst_kms_sink_video_context_interface_init (GstVideoContextInterface * iface)
101 -{
102 -  iface->set_context = gst_kms_sink_set_video_context;
103 -}
104 -
105 -static void
106  gst_kms_sink_finalize (GObject * object)
107  {
108    GstKMSSink *sink;
109 @@ -656,7 +594,6 @@ gst_kms_sink_class_init (GstKMSSinkClass * klass)
110    gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_kms_sink_setcaps);
111    gstbasesink_class->get_times = GST_DEBUG_FUNCPTR (gst_kms_sink_get_times);
112    gstbasesink_class->event = GST_DEBUG_FUNCPTR (gst_kms_sink_event);
113 -  gstbasesink_class->query = GST_DEBUG_FUNCPTR (gst_kms_sink_query);
114    gstbasesink_class->start = GST_DEBUG_FUNCPTR (gst_kms_sink_start);
115    gstbasesink_class->stop = GST_DEBUG_FUNCPTR (gst_kms_sink_stop);
116    gstbasesink_class->buffer_alloc =
117 -- 
118 1.7.9.5
119