deinterlace: Only check interlaced flag in sink caps

Fixes #615460.
This commit is contained in:
David Schleef 2010-04-11 13:14:30 -07:00
parent 49300da948
commit 289f69eb84
2 changed files with 6 additions and 1 deletions

View file

@ -1491,7 +1491,11 @@ gst_deinterlace_setcaps (GstPad * pad, GstCaps * caps)
gst_structure_get_fraction (structure, "framerate", &self->frame_rate_n,
&self->frame_rate_d);
res &= gst_structure_get_fourcc (structure, "format", &fourcc);
res &= gst_video_format_parse_caps_interlaced (caps, &self->interlaced);
if (pad == self->sinkpad) {
res &= gst_video_format_parse_caps_interlaced (caps, &self->interlaced);
} else {
res &= gst_video_format_parse_caps_interlaced (caps, &self->src_interlaced);
}
if (!res)
goto invalid_caps;

View file

@ -213,6 +213,7 @@ struct _GstDeinterlace
guint frame_size;
gint frame_rate_n, frame_rate_d;
gboolean interlaced;
gboolean src_interlaced;
/* Number of bytes of actual data in each scanline. May be less than
OverlayPitch since the overlay's scanlines might have alignment