v4l2dec: get framerate from sink caps and then set to src caps [1/2]
PD#SWPL-154612
Problem:
Need set sink caps framerate to videosink
Solution:
get framerate from sink caps and then set to src caps
Verify:
AH212
Change-Id: Ie7277e5ed0ed5dae8d899c7ff349504935f60b66
Signed-off-by: sheng.liu <sheng.liu@amlogic.com>
diff --git a/src/gstamlv4l2videodec.c b/src/gstamlv4l2videodec.c
index 9598a0a..bd85206 100644
--- a/src/gstamlv4l2videodec.c
+++ b/src/gstamlv4l2videodec.c
@@ -1576,6 +1576,23 @@
}
}
+ if ( gst_structure_get_fraction( structure, "framerate", &num, &denom ) )
+ {
+ if ( denom == 0 ) denom= 1;
+
+ if (self->v4l2capture->fps)
+ {
+ g_value_unset(self->v4l2capture->fps);
+ g_free(self->v4l2capture->fps);
+ }
+
+ self->v4l2capture->fps = g_new0(GValue, 1);
+ g_value_init(self->v4l2capture->fps, GST_TYPE_FRACTION);
+ gst_value_set_fraction(self->v4l2capture->fps, num, denom);
+
+ GST_DEBUG_OBJECT(self, "get framerate ratio %d:%d", num, denom);
+ }
+
if (( gst_structure_get_fraction( structure, "pixel-aspect-ratio", &num, &denom ) ) &&
( !self->v4l2capture->have_set_par ) )
{