omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 2 Nov 2011 09:39:10 +0000 (10:39 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 2 Nov 2011 09:39:10 +0000 (10:39 +0100)
This is not really correct but there's nothing else we could do.

omx/gstomxvideoenc.c

index bd250a3..e8a1dbd 100644 (file)
@@ -1106,10 +1106,17 @@ gst_omx_video_enc_fill_buffer (GstOMXVideoEnc * self, GstBuffer * inbuf,
           dest_stride = port_def->format.video.nStride;
           src_stride =
               gst_video_format_get_row_stride (state->format, 0, state->width);
+
+          /* XXX: Try this if no stride was set */
+          if (dest_stride == 0)
+            dest_stride = src_stride;
         } else {
           dest_stride = port_def->format.video.nStride / 2;
           src_stride =
               gst_video_format_get_row_stride (state->format, 1, state->width);
+          /* XXX: Try this if no stride was set */
+          if (dest_stride == 0)
+            dest_stride = src_stride;
         }
 
         dest = outbuf->omx_buf->pBuffer + outbuf->omx_buf->nOffset;
@@ -1166,10 +1173,16 @@ gst_omx_video_enc_fill_buffer (GstOMXVideoEnc * self, GstBuffer * inbuf,
           dest_stride = port_def->format.video.nStride;
           src_stride =
               gst_video_format_get_row_stride (state->format, 0, state->width);
+          /* XXX: Try this if no stride was set */
+          if (dest_stride == 0)
+            dest_stride = src_stride;
         } else {
           dest_stride = port_def->format.video.nStride;
           src_stride =
               gst_video_format_get_row_stride (state->format, 1, state->width);
+          /* XXX: Try this if no stride was set */
+          if (dest_stride == 0)
+            dest_stride = src_stride;
         }
 
         dest = outbuf->omx_buf->pBuffer + outbuf->omx_buf->nOffset;