From 8403d97587a9ee543dac30d5fca0c4d8c1811380 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Tue, 19 May 2020 14:58:35 +1000 Subject: [PATCH] amc/videodec: only retrieve the stride/slice-height for raw output When outputting to a surface, these values may not exist. As found on a Google Pixel 3. Part-of: --- sys/androidmedia/gstamcvideodec.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c index 73c7c2b..79c2f20 100644 --- a/sys/androidmedia/gstamcvideodec.c +++ b/sys/androidmedia/gstamcvideodec.c @@ -758,14 +758,6 @@ gst_amc_video_dec_set_src_caps (GstAmcVideoDec * self, GstAmcFormat * format) return FALSE; } - if (!gst_amc_format_get_int (format, "stride", &stride, &err) || - !gst_amc_format_get_int (format, "slice-height", &slice_height, &err)) { - GST_ERROR_OBJECT (self, "Failed to get stride and slice-height: %s", - err->message); - g_clear_error (&err); - return FALSE; - } - if (gst_amc_format_get_int (format, "crop-left", &crop_left, NULL) && gst_amc_format_get_int (format, "crop-right", &crop_right, NULL)) { width = crop_right + 1 - crop_left; @@ -835,6 +827,14 @@ gst_amc_video_dec_set_src_caps (GstAmcVideoDec * self, GstAmcFormat * format) goto out; } + if (!gst_amc_format_get_int (format, "stride", &stride, &err) || + !gst_amc_format_get_int (format, "slice-height", &slice_height, &err)) { + GST_ERROR_OBJECT (self, "Failed to get stride and slice-height: %s", + err->message); + g_clear_error (&err); + return FALSE; + } + self->format = gst_format; self->width = width; self->height = height; -- 2.7.4