summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-06-15 12:47:46 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2011-06-15 12:49:14 +0200
commita43c1ba2aca5acfed33121dbb2864c2440f7e441 (patch)
tree50d6c8f3dabac9d57d3acf4864e86e8980ab2e26
parent8537abc2ef3cff4e2a909ff2f78574b0da73bda2 (diff)
downloadgst-plugins-fsl-vpu-a43c1ba2aca5acfed33121dbb2864c2440f7e441.tar.gz
gst-plugins-fsl-vpu-a43c1ba2aca5acfed33121dbb2864c2440f7e441.tar.xz
vpu decoder: call mfw_gst_vpudec_reqbufs later when we know the output size
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rwxr-xr-xsrc/mfw_gst_vpu_decoder.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mfw_gst_vpu_decoder.c b/src/mfw_gst_vpu_decoder.c
index e0bea24..68ec75b 100755
--- a/src/mfw_gst_vpu_decoder.c
+++ b/src/mfw_gst_vpu_decoder.c
@@ -363,12 +363,6 @@ static GstFlowReturn mfw_gst_vpudec_vpu_init(GstVPU_Dec * vpu_dec)
GST_DEBUG("format: %d x %d\n", fmt.fmt.pix.width, fmt.fmt.pix.height);
- retval = mfw_gst_vpudec_reqbufs(vpu_dec);
- if (retval) {
- GST_ERROR("requesting buffers failed: %s\n", strerror(errno));
- return -errno;
- }
-
gint fourcc = GST_STR_FOURCC("I420");
vpu_dec->width = fmt.fmt.pix.width;
@@ -413,6 +407,12 @@ static GstFlowReturn mfw_gst_vpudec_vpu_init(GstVPU_Dec * vpu_dec)
vpu_dec->outsize = (vpu_dec->width * vpu_dec->height * 3) / 2;
+ retval = mfw_gst_vpudec_reqbufs(vpu_dec);
+ if (retval) {
+ GST_ERROR("requesting buffers failed: %s\n", strerror(errno));
+ return -errno;
+ }
+
retval = ioctl(vpu_dec->vpu_fd, VIDIOC_STREAMON, &vpu_dec->streamtype);
if (retval) {
GST_ERROR("streamon failed with %d", retval);