summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: f74f4b6)
raw | patch | inline | side by side (parent: f74f4b6)
author | Alessandro Decina <alessandro.decina@collabora.co.uk> | |
Tue, 14 Feb 2012 15:07:27 +0000 (16:07 +0100) | ||
committer | Alessandro Decina <alessandro.decina@collabora.co.uk> | |
Tue, 14 Feb 2012 15:11:50 +0000 (16:11 +0100) |
Don't discard input timestamps when forcing the allocation of buffers from the
internal pool (see 9471fe2). Fixes sync glitches with interlaced streams.
internal pool (see 9471fe2). Fixes sync glitches with interlaced streams.
src/gstducatividdec.c | patch | blob | history |
diff --git a/src/gstducatividdec.c b/src/gstducatividdec.c
index 63082d9182a480f2c144c7262dca7d6425fe1aa4..b1622de462664c0c14ce32c2020a6ae7c1ddd669 100644 (file)
--- a/src/gstducatividdec.c
+++ b/src/gstducatividdec.c
SSPtr y_paddr, uv_paddr;
if (force_internal) {
+ GstBuffer *orig = *buf;
+
GST_DEBUG_OBJECT (self, "internal bufferpool forced");
- gst_buffer_unref (*buf);
*buf = codec_bufferpool_get (self, NULL);
+ GST_BUFFER_TIMESTAMP (*buf) = GST_BUFFER_TIMESTAMP (orig);
+ GST_BUFFER_DURATION (*buf) = GST_BUFFER_DURATION (orig);
+ gst_buffer_unref (orig);
return codec_prepare_outbuf (self, buf, FALSE);
}