diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-04-17 15:39:10 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-04-17 15:39:10 +0200 |
commit | 6c8f4a36e35a72da4deb876055e95099a8c36669 (patch) | |
tree | e66bdf835859b680765cf0b57ff640ce8703c00e /gst/deinterlace2 | |
parent | 7a30947913c215baabaa0ae1b93b9582f82d3cd5 (diff) | |
download | gst-plugins-bad-6c8f4a36e35a72da4deb876055e95099a8c36669.tar.gz gst-plugins-bad-6c8f4a36e35a72da4deb876055e95099a8c36669.tar.bz2 gst-plugins-bad-6c8f4a36e35a72da4deb876055e95099a8c36669.zip |
deinterlace2: Fix timestamps for buffers with RFF flag set
Diffstat (limited to 'gst/deinterlace2')
-rw-r--r-- | gst/deinterlace2/gstdeinterlace2.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/gst/deinterlace2/gstdeinterlace2.c b/gst/deinterlace2/gstdeinterlace2.c index 7bbe2494..3a42d0d5 100644 --- a/gst/deinterlace2/gstdeinterlace2.c +++ b/gst/deinterlace2/gstdeinterlace2.c @@ -734,18 +734,16 @@ gst_deinterlace2_push_history (GstDeinterlace2 * self, GstBuffer * buffer) the timestamp of the buffer equals the first fields timestamp */ timestamp = GST_BUFFER_TIMESTAMP (buffer); - if (repeated) { - GST_BUFFER_TIMESTAMP (field1) = timestamp; - GST_BUFFER_TIMESTAMP (field2) = timestamp + 2 * self->field_duration; - } else { - GST_BUFFER_TIMESTAMP (field1) = timestamp; - GST_BUFFER_TIMESTAMP (field2) = timestamp + self->field_duration; - } + GST_BUFFER_TIMESTAMP (field1) = timestamp; + GST_BUFFER_TIMESTAMP (field2) = timestamp + self->field_duration; + if (repeated) + GST_BUFFER_TIMESTAMP (field2) += self->field_duration; if (repeated) { self->field_history[0].buf = field2; self->field_history[0].flags = field2_flags; self->field_history[1].buf = gst_buffer_ref (field1); + GST_BUFFER_TIMESTAMP (self->field_history[1].buf) += self->field_duration; self->field_history[1].flags = field1_flags; self->field_history[2].buf = field1; self->field_history[2].flags = field1_flags; |