From ec9dde48e5c34ef9f13add6b6e4405a69b131648 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 2 Nov 2011 10:39:50 +0100 Subject: [PATCH] omxvideodec: If no stride was set for the OMX output port assume GStreamer stride This is not really correct but there's nothing else we could do. --- omx/gstomxvideodec.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c index 45ede85..3abcd5b 100644 --- a/omx/gstomxvideodec.c +++ b/omx/gstomxvideodec.c @@ -520,10 +520,18 @@ gst_omx_video_dec_fill_buffer (GstOMXVideoDec * self, GstOMXBuffer * inbuf, src_stride = port_def->format.video.nStride; dest_stride = gst_video_format_get_row_stride (state->format, 0, state->width); + + /* XXX: Try this if no stride was set */ + if (src_stride == 0) + src_stride = dest_stride; } else { src_stride = port_def->format.video.nStride / 2; dest_stride = gst_video_format_get_row_stride (state->format, 1, state->width); + + /* XXX: Try this if no stride was set */ + if (src_stride == 0) + src_stride = dest_stride; } src = inbuf->omx_buf->pBuffer + inbuf->omx_buf->nOffset; @@ -564,10 +572,18 @@ gst_omx_video_dec_fill_buffer (GstOMXVideoDec * self, GstOMXBuffer * inbuf, src_stride = port_def->format.video.nStride; dest_stride = gst_video_format_get_row_stride (state->format, 0, state->width); + + /* XXX: Try this if no stride was set */ + if (src_stride == 0) + src_stride = dest_stride; } else { src_stride = port_def->format.video.nStride; dest_stride = gst_video_format_get_row_stride (state->format, 1, state->width); + + /* XXX: Try this if no stride was set */ + if (src_stride == 0) + src_stride = dest_stride; } src = inbuf->omx_buf->pBuffer + inbuf->omx_buf->nOffset; -- 2.7.4