summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 212eae9)
raw | patch | inline | side by side (parent: 212eae9)
author | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | |
Tue, 11 Jan 2011 14:24:02 +0000 (15:24 +0100) | ||
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | |
Fri, 8 Apr 2011 14:44:55 +0000 (15:44 +0100) |
... rather than with a delay.
gst/audioparsers/gstbaseparse.c | patch | blob | history |
index a0319d89f004226e782436fec7719a421b47ff15..ee62f1091451830b8c9eeedcb1a1a77aec2237dd 100644 (file)
break;
}
+ /* move along with upstream timestamp (if any),
+ * but interpolate in between */
+ timestamp = gst_adapter_prev_timestamp (parse->adapter, NULL);
+ if (GST_CLOCK_TIME_IS_VALID (timestamp) &&
+ (parse->priv->prev_ts != timestamp)) {
+ parse->priv->prev_ts = parse->priv->next_ts = timestamp;
+ }
+
/* FIXME: Would it be more efficient to make a subbuffer instead? */
outbuf = gst_adapter_take_buffer (parse->adapter, fsize);
outbuf = gst_buffer_make_metadata_writable (outbuf);
GST_BUFFER_OFFSET (outbuf) = parse->priv->offset;
parse->priv->offset += fsize;
GST_BUFFER_TIMESTAMP (outbuf) = GST_CLOCK_TIME_NONE;
-
- /* move along with upstream timestamp (if any),
- * but interpolate in between */
- timestamp = gst_adapter_prev_timestamp (parse->adapter, NULL);
- if (GST_CLOCK_TIME_IS_VALID (timestamp) &&
- (parse->priv->prev_ts != timestamp)) {
- parse->priv->prev_ts = parse->priv->next_ts = timestamp;
- }
+ GST_BUFFER_DURATION (outbuf) = GST_CLOCK_TIME_NONE;
frame->buffer = outbuf;
ret = gst_base_parse_handle_and_push_frame (parse, bclass, frame);