[glsdk/meta-ti-glsdk.git] / recipes-ti / gstreamer-ti / gstreamer-ti / 0006-Remove-the-repeat_with_refresh-feature.patch
1 From c1205a792fd519cdebc32c00a5f604ccd78d3eac Mon Sep 17 00:00:00 2001
2 From: Don Darling <don.osc2@gmail.com>
3 Date: Thu, 26 Aug 2010 18:30:13 -0500
4 Subject: [PATCH 6/8] Remove the "repeat_with_refresh" feature.
6 No platforms are using it any longer.
7 ---
8 .../ticodecplugin/src/gsttidmaivideosink.c | 67 +-------------------
9 .../ticodecplugin/src/gsttidmaivideosink.h | 1 -
10 2 files changed, 1 insertions(+), 67 deletions(-)
12 diff --git a/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.c b/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.c
13 index 3615bfd..0125ed2 100644
14 --- a/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.c
15 +++ b/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.c
16 @@ -170,8 +170,6 @@ static gboolean
17 gst_tidmaivideosink_event(GstBaseSink * bsink, GstEvent * event);
18 static void
19 gst_tidmaivideosink_init_env(GstTIDmaiVideoSink *sink);
20 -static int
21 - gst_tidmaivideosink_videostd_get_refresh_latency(VideoStd_Type videoStd);
22 static gboolean
23 gst_tidmaivideosink_alloc_display_buffers(GstTIDmaiVideoSink * sink,
24 Int32 bufSize);
25 @@ -441,7 +439,6 @@ static void gst_tidmaivideosink_init(GstTIDmaiVideoSink * dmaisink,
26 dmaisink->videoOutput = NULL;
27 dmaisink->numBufs = -1;
28 dmaisink->framerepeat = 0;
29 - dmaisink->repeat_with_refresh = FALSE;
30 dmaisink->can_set_display_framerate = FALSE;
31 dmaisink->rotation = -1;
32 dmaisink->tempDmaiBuf = NULL;
33 @@ -755,55 +752,6 @@ static int gst_tidmaivideosink_videostd_get_attrs(VideoStd_Type videoStd,
36 /*******************************************************************************
37 - * gst_tidmaivideosink_videostd_get_refresh_latency
38 - *
39 - * Return the refresh latency in us for the given display standard.
40 -*******************************************************************************/
41 -static int gst_tidmaivideosink_videostd_get_refresh_latency(
42 - VideoStd_Type videoStd)
43 -{
44 - switch (videoStd) {
45 - case VideoStd_1080P_24:
46 - return 41667;
47 -
48 - case VideoStd_SIF_PAL:
49 - case VideoStd_D1_PAL:
50 - case VideoStd_1080P_25:
51 - case VideoStd_1080I_25:
52 - return 40000;
53 -
54 - case VideoStd_CIF:
55 - case VideoStd_SIF_NTSC:
56 - case VideoStd_D1_NTSC:
57 - return 33367;
58 -
59 - case VideoStd_1080I_30:
60 - case VideoStd_1080P_30:
61 - return 33333;
62 -
63 - case VideoStd_576P:
64 - case VideoStd_720P_50:
65 - return 20000;
66 -
67 - case VideoStd_480P:
68 - case VideoStd_720P_60:
69 - #if defined(Platform_dm6467t)
70 - case VideoStd_1080P_60:
71 - #endif
72 - return 16667;
73 -
74 - case VideoStd_VGA:
75 - return 16667;
76 -
77 - default:
78 - break;
79 - }
80 - GST_ERROR("Unknown videoStd entered (VideoStd = %d)\n", videoStd);
81 - return 0;
82 -}
83 -
84 -
85 -/*******************************************************************************
86 * gst_tidmaivideosink_find_videostd
87 *
88 * This function will take in a VideoStd_Attrs structure and find the
89 @@ -1580,10 +1528,7 @@ static GstFlowReturn gst_tidmaivideosink_render(GstBaseSink * bsink,
91 /* Display the frame as many times as specified by framerepeat. By
92 * default, the input buffer is copied to a display buffer for each time
93 - * it is to be repeated. However, if repeat_with_refresh is TRUE, then
94 - * the platform doesn't have the bandwidth for multiple copies. In this
95 - * case we copy and display the input buffer only once, but let it refresh
96 - * multiple times.
97 + * it is to be repeated.
98 */
99 for (i = 0; i < sink->framerepeat; i++) {
101 @@ -1594,16 +1539,6 @@ static GstFlowReturn gst_tidmaivideosink_render(GstBaseSink * bsink,
102 goto cleanup;
103 }
105 - /* If repeat_with_refresh was specified, wait for the display to
106 - * refresh framerepeat-1 times to make sure it has finished displaying
107 - * this buffer before we write new data into it.
108 - */
109 - while (sink->repeat_with_refresh && i < (sink->framerepeat-1)) {
110 - usleep(gst_tidmaivideosink_videostd_get_refresh_latency(
111 - sink->dAttrs.videoStd) + 1);
112 - i++;
113 - }
114 -
115 /* Retrieve the dimensions of the display buffer */
116 BufferGfx_getDimensions(hDispBuf, &dim);
117 GST_LOG("Display size %dx%d pitch %d\n",
118 diff --git a/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.h b/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.h
119 index 4800fcd..2a28e4f 100644
120 --- a/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.h
121 +++ b/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.h
122 @@ -123,7 +123,6 @@ struct _GstTIDmaiVideoSink {
123 * should be repeated to match the display output frame rate.
124 */
125 int framerepeat;
126 - gboolean repeat_with_refresh;
127 gboolean can_set_display_framerate;
128 gboolean signal_handoffs;
130 --
131 1.7.0.4