diff options
Diffstat (limited to 'ext/aalib')
-rw-r--r-- | ext/aalib/gstaasink.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ext/aalib/gstaasink.c b/ext/aalib/gstaasink.c index be41619ff..5ba829a75 100644 --- a/ext/aalib/gstaasink.c +++ b/ext/aalib/gstaasink.c @@ -72,7 +72,7 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("I420")) ); -static void gst_aasink_fixate (GstBaseSink * bsink, GstCaps * caps); +static GstCaps *gst_aasink_fixate (GstBaseSink * bsink, GstCaps * caps); static gboolean gst_aasink_setcaps (GstBaseSink * bsink, GstCaps * caps); static void gst_aasink_get_times (GstBaseSink * bsink, GstBuffer * buffer, GstClockTime * start, GstClockTime * end); @@ -227,18 +227,22 @@ gst_aasink_class_init (GstAASinkClass * klass) gstvideosink_class->show_frame = GST_DEBUG_FUNCPTR (gst_aasink_show_frame); } -static void +static GstCaps * gst_aasink_fixate (GstBaseSink * bsink, GstCaps * caps) { GstStructure *structure; + caps = gst_caps_make_writable (caps); + structure = gst_caps_get_structure (caps, 0); gst_structure_fixate_field_nearest_int (structure, "width", 320); gst_structure_fixate_field_nearest_int (structure, "height", 240); gst_structure_fixate_field_nearest_fraction (structure, "framerate", 30, 1); - GST_BASE_SINK_CLASS (parent_class)->fixate (bsink, caps); + caps = GST_BASE_SINK_CLASS (parent_class)->fixate (bsink, caps); + + return caps; } static gboolean |