mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-19 13:55:41 +00:00
deinterlace2: Fix timestamps for buffers with RFF flag set
This commit is contained in:
parent
7a30947913
commit
6c8f4a36e3
1 changed files with 5 additions and 7 deletions
|
@ -734,18 +734,16 @@ gst_deinterlace2_push_history (GstDeinterlace2 * self, GstBuffer * buffer)
|
||||||
the timestamp of the buffer equals the first fields timestamp */
|
the timestamp of the buffer equals the first fields timestamp */
|
||||||
|
|
||||||
timestamp = GST_BUFFER_TIMESTAMP (buffer);
|
timestamp = GST_BUFFER_TIMESTAMP (buffer);
|
||||||
if (repeated) {
|
GST_BUFFER_TIMESTAMP (field1) = timestamp;
|
||||||
GST_BUFFER_TIMESTAMP (field1) = timestamp;
|
GST_BUFFER_TIMESTAMP (field2) = timestamp + self->field_duration;
|
||||||
GST_BUFFER_TIMESTAMP (field2) = timestamp + 2 * self->field_duration;
|
if (repeated)
|
||||||
} else {
|
GST_BUFFER_TIMESTAMP (field2) += self->field_duration;
|
||||||
GST_BUFFER_TIMESTAMP (field1) = timestamp;
|
|
||||||
GST_BUFFER_TIMESTAMP (field2) = timestamp + self->field_duration;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (repeated) {
|
if (repeated) {
|
||||||
self->field_history[0].buf = field2;
|
self->field_history[0].buf = field2;
|
||||||
self->field_history[0].flags = field2_flags;
|
self->field_history[0].flags = field2_flags;
|
||||||
self->field_history[1].buf = gst_buffer_ref (field1);
|
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[1].flags = field1_flags;
|
||||||
self->field_history[2].buf = field1;
|
self->field_history[2].buf = field1;
|
||||||
self->field_history[2].flags = field1_flags;
|
self->field_history[2].flags = field1_flags;
|
||||||
|
|
Loading…
Reference in a new issue