deinterlace: use separate buffer metadata for fields

Call gst_buffer_make_metadata_writable() on buffers that are
duplicated into fields.  Fixes #627689.
This commit is contained in:
David Schleef 2010-08-22 21:15:07 -07:00
parent 9e981f6c2d
commit 4eee45debb

View file

@ -805,15 +805,15 @@ gst_deinterlace_push_history (GstDeinterlace * self, GstBuffer * buffer)
if (field_layout == GST_DEINTERLACE_LAYOUT_TFF) {
GST_DEBUG_OBJECT (self, "Top field first");
field1 = gst_buffer_ref (buffer);
field1 = gst_buffer_make_metadata_writable (gst_buffer_ref (buffer));
field1_flags = PICTURE_INTERLACED_TOP;
field2 = gst_buffer_ref (buffer);
field2 = gst_buffer_make_metadata_writable (gst_buffer_ref (buffer));
field2_flags = PICTURE_INTERLACED_BOTTOM;
} else {
GST_DEBUG_OBJECT (self, "Bottom field first");
field1 = gst_buffer_ref (buffer);
field1 = gst_buffer_make_metadata_writable (gst_buffer_ref (buffer));
field1_flags = PICTURE_INTERLACED_BOTTOM;
field2 = gst_buffer_ref (buffer);
field2 = gst_buffer_make_metadata_writable (gst_buffer_ref (buffer));
field2_flags = PICTURE_INTERLACED_TOP;
}