mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
videorate/videoscale/audioresample: Ensure that the caps returned from fixate_caps() are actually fixated
If there is some other field than the ones we care about left and not fixated yet then basetransform will just error out. So instead just pass the result through gst_caps_fixate() in the very end. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/799>
This commit is contained in:
parent
d74b9f56fc
commit
3edf390b4c
3 changed files with 4 additions and 2 deletions
|
@ -362,7 +362,7 @@ gst_audio_resample_fixate_caps (GstBaseTransform * base,
|
|||
s = gst_caps_get_structure (othercaps, 0);
|
||||
gst_structure_fixate_field_nearest_int (s, "rate", rate);
|
||||
|
||||
return othercaps;
|
||||
return gst_caps_fixate (othercaps);
|
||||
}
|
||||
|
||||
static GstStructure *
|
||||
|
|
|
@ -535,7 +535,7 @@ gst_video_rate_fixate_caps (GstBaseTransform * trans,
|
|||
if ((par = gst_structure_get_value (s, "pixel-aspect-ratio")))
|
||||
gst_structure_fixate_field_nearest_fraction (s, "pixel-aspect-ratio", 1, 1);
|
||||
|
||||
return othercaps;
|
||||
return gst_caps_fixate (othercaps);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
|
|
@ -1149,6 +1149,8 @@ gst_video_scale_fixate_caps (GstBaseTransform * base, GstPadDirection direction,
|
|||
}
|
||||
|
||||
done:
|
||||
othercaps = gst_caps_fixate (othercaps);
|
||||
|
||||
GST_DEBUG_OBJECT (base, "fixated othercaps to %" GST_PTR_FORMAT, othercaps);
|
||||
|
||||
if (from_par == &fpar)
|
||||
|
|
Loading…
Reference in a new issue