summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrijesh.singh <brijesh.singh@24075187-2e39-4e88-bbb8-bc8aa768f540>2011-01-18 17:01:45 +0000
committerbrijesh.singh <brijesh.singh@24075187-2e39-4e88-bbb8-bc8aa768f540>2011-01-18 17:01:45 +0000
commitb9f1f00360e25d616ca29671b87dcf494561c699 (patch)
tree0b258317a1c13cc23e70068e927bc4fa0043ad83
parent5e84170122b7d98528eda026637e305c44f60fce (diff)
Enable pad-allocated buffers for OMAP35x/DM37x.
Requires preliminary support for DVSDK 4.00 (omap3530_dv400 build target). Rotation is not allowed when pad allocation is in use. When rotation is used, we can only allocate a maximum of four V4L2 buffer handles. This isn't practical when sharing buffers with codecs that could require more buffers than this. git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@895 24075187-2e39-4e88-bbb8-bc8aa768f540
-rw-r--r--gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.c b/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.c
index 3d40986..7abd9e6 100644
--- a/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.c
+++ b/gstreamer_ti/ti_build/ticodecplugin/src/gsttidmaivideosink.c
@@ -360,7 +360,7 @@ static void gst_tidmaivideosink_class_init(GstTIDmaiVideoSinkClass * klass)
GST_DEBUG_FUNCPTR(gst_tidmaivideosink_buffer_alloc);
/* Pad-buffer allocation is currently only supported for DM365 */
- #if !defined(Platform_dm365)
+ #if !defined(Platform_dm365) && !defined(Platform_omap3530)
gstbase_sink_class->buffer_alloc = NULL;
#endif
}
@@ -734,6 +734,13 @@ static GstFlowReturn gst_tidmaivideosink_buffer_alloc(GstBaseSink * bsink,
"disabling\n");
dmaisink->resizer = FALSE;
}
+
+ /* This element cannot perform rotation when doing pad allocation */
+ if (dmaisink->rotation) {
+ GST_WARNING("rotation not supported for pad allocation; "
+ "disabling\n");
+ dmaisink->rotation = FALSE;
+ }
}
/* Get a buffer from the BufTab or display driver */
@@ -1387,7 +1394,7 @@ static gboolean gst_tidmaivideosink_init_display(GstTIDmaiVideoSink * sink)
* display until we call Display_put for the first time.
*/
if (sink->hDispBufTab) {
- #if defined(Platform_dm365)
+ #if defined(Platform_dm365) || defined(Platform_omap3530)
sink->dAttrs.delayStreamon = TRUE;
#else
GST_ERROR("delayed V4L2 streamon not supported\n");