}
ctx->had_output_data = TRUE;
- ts = GST_BUFFER_TIMESTAMP (buf);
+ ts = GST_BUFFER_PTS (buf);
GST_LOG_OBJECT (dec,
"clipping buffer of size %" G_GSIZE_FORMAT " with ts %" GST_TIME_FORMAT
", duration %" GST_TIME_FORMAT, gst_buffer_get_size (buf),
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)),
+ GST_TIME_ARGS (GST_BUFFER_PTS (buf)),
GST_TIME_ARGS (GST_BUFFER_DURATION (buf)));
/* clip buffer */
}
/* track where we are */
- if (G_LIKELY (GST_BUFFER_TIMESTAMP_IS_VALID (buf))) {
+ if (G_LIKELY (GST_BUFFER_PTS_IS_VALID (buf))) {
/* duration should always be valid for raw audio */
g_assert (GST_BUFFER_DURATION_IS_VALID (buf));
dec->output_segment.position =
- GST_BUFFER_TIMESTAMP (buf) + GST_BUFFER_DURATION (buf);
+ GST_BUFFER_PTS (buf) + GST_BUFFER_DURATION (buf);
}
if (klass->pre_push) {
GST_LOG_OBJECT (dec,
"pushing buffer of size %" G_GSIZE_FORMAT " with ts %" GST_TIME_FORMAT
", duration %" GST_TIME_FORMAT, gst_buffer_get_size (buf),
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)),
+ GST_TIME_ARGS (GST_BUFFER_PTS (buf)),
GST_TIME_ARGS (GST_BUFFER_DURATION (buf)));
ret = gst_pad_push (dec->srcpad, buf);
GST_LOG_OBJECT (dec,
"output buffer of size %" G_GSIZE_FORMAT " with ts %" GST_TIME_FORMAT
", duration %" GST_TIME_FORMAT, gst_buffer_get_size (buf),
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)),
+ GST_TIME_ARGS (GST_BUFFER_PTS (buf)),
GST_TIME_ARGS (GST_BUFFER_DURATION (buf)));
}
/* forcibly send current */
assemble = TRUE;
GST_LOG_OBJECT (dec, "forcing fragment flush");
- } else if (av && (!GST_BUFFER_TIMESTAMP_IS_VALID (buf) ||
+ } else if (av && (!GST_BUFFER_PTS_IS_VALID (buf) ||
!GST_CLOCK_TIME_IS_VALID (priv->out_ts) ||
- ((diff = GST_CLOCK_DIFF (GST_BUFFER_TIMESTAMP (buf),
+ ((diff = GST_CLOCK_DIFF (GST_BUFFER_PTS (buf),
priv->out_ts + priv->out_dur)) > tol) || diff < -tol)) {
assemble = TRUE;
GST_LOG_OBJECT (dec, "buffer %d ms apart from current fragment",
/* add or start collecting */
if (!av) {
GST_LOG_OBJECT (dec, "starting new fragment");
- priv->out_ts = GST_BUFFER_TIMESTAMP (buf);
+ priv->out_ts = GST_BUFFER_PTS (buf);
} else {
GST_LOG_OBJECT (dec, "adding to fragment");
}
GST_LOG_OBJECT (dec, "assembling fragment");
inbuf = buf;
buf = gst_adapter_take_buffer (priv->adapter_out, av);
- GST_BUFFER_TIMESTAMP (buf) = priv->out_ts;
+ GST_BUFFER_PTS (buf) = priv->out_ts;
GST_BUFFER_DURATION (buf) = priv->out_dur;
priv->out_ts = GST_CLOCK_TIME_NONE;
priv->out_dur = 0;
}
if (G_LIKELY (priv->frames.length))
- ts = GST_BUFFER_TIMESTAMP (priv->frames.head->data);
+ ts = GST_BUFFER_PTS (priv->frames.head->data);
else
ts = GST_CLOCK_TIME_NONE;
buf = gst_buffer_make_writable (buf);
if (G_LIKELY (GST_CLOCK_TIME_IS_VALID (priv->base_ts))) {
- GST_BUFFER_TIMESTAMP (buf) =
+ GST_BUFFER_PTS (buf) =
priv->base_ts +
GST_FRAMES_TO_CLOCK_TIME (priv->samples, ctx->info.rate);
GST_BUFFER_DURATION (buf) = priv->base_ts +
GST_FRAMES_TO_CLOCK_TIME (priv->samples + samples, ctx->info.rate) -
- GST_BUFFER_TIMESTAMP (buf);
+ GST_BUFFER_PTS (buf);
} else {
- GST_BUFFER_TIMESTAMP (buf) = GST_CLOCK_TIME_NONE;
+ GST_BUFFER_PTS (buf) = GST_CLOCK_TIME_NONE;
GST_BUFFER_DURATION (buf) =
GST_FRAMES_TO_CLOCK_TIME (samples, ctx->info.rate);
}
/* keep around for admin */
GST_LOG_OBJECT (dec,
"tracking frame size %" G_GSIZE_FORMAT ", ts %" GST_TIME_FORMAT, size,
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)));
+ GST_TIME_ARGS (GST_BUFFER_PTS (buffer)));
g_queue_push_tail (&dec->priv->frames, buffer);
dec->priv->ctx.delay = dec->priv->frames.length;
GST_OBJECT_LOCK (dec);
}
buffer = gst_adapter_take_buffer (priv->adapter, len);
buffer = gst_buffer_make_writable (buffer);
- GST_BUFFER_TIMESTAMP (buffer) = ts;
+ GST_BUFFER_PTS (buffer) = ts;
flush += len;
priv->force = FALSE;
} else {
GstBuffer *buf = GST_BUFFER_CAST (walk->data);
GST_DEBUG_OBJECT (dec, "decoding buffer %p, ts %" GST_TIME_FORMAT,
- buf, GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)));
+ buf, GST_TIME_ARGS (GST_BUFFER_PTS (buf)));
next = g_list_next (walk);
/* decode buffer, resulting data prepended to output queue */
timestamp = 0;
}
- if (!GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
+ if (!GST_BUFFER_PTS_IS_VALID (buf)) {
GST_LOG_OBJECT (dec, "applying reverse interpolated ts %"
GST_TIME_FORMAT, GST_TIME_ARGS (timestamp));
- GST_BUFFER_TIMESTAMP (buf) = timestamp;
+ GST_BUFFER_PTS (buf) = timestamp;
} else {
/* track otherwise */
- timestamp = GST_BUFFER_TIMESTAMP (buf);
+ timestamp = GST_BUFFER_PTS (buf);
GST_LOG_OBJECT (dec, "tracking ts %" GST_TIME_FORMAT,
GST_TIME_ARGS (timestamp));
}
if (G_LIKELY (res == GST_FLOW_OK)) {
GST_DEBUG_OBJECT (dec, "pushing buffer %p of size %" G_GSIZE_FORMAT ", "
"time %" GST_TIME_FORMAT ", dur %" GST_TIME_FORMAT, buf,
- gst_buffer_get_size (buf), GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)),
+ gst_buffer_get_size (buf), GST_TIME_ARGS (GST_BUFFER_PTS (buf)),
GST_TIME_ARGS (GST_BUFFER_DURATION (buf)));
/* should be already, but let's be sure */
buf = gst_buffer_make_writable (buf);
if (G_LIKELY (buf)) {
GST_DEBUG_OBJECT (dec, "gathering buffer %p of size %" G_GSIZE_FORMAT ", "
"time %" GST_TIME_FORMAT ", dur %" GST_TIME_FORMAT, buf,
- gst_buffer_get_size (buf), GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)),
+ gst_buffer_get_size (buf), GST_TIME_ARGS (GST_BUFFER_PTS (buf)),
GST_TIME_ARGS (GST_BUFFER_DURATION (buf)));
/* add buffer to gather queue */
GST_LOG_OBJECT (dec,
"received buffer of size %" G_GSIZE_FORMAT " with ts %" GST_TIME_FORMAT
", duration %" GST_TIME_FORMAT, gst_buffer_get_size (buffer),
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)),
+ GST_TIME_ARGS (GST_BUFFER_PTS (buffer)),
GST_TIME_ARGS (GST_BUFFER_DURATION (buffer)));
GST_AUDIO_DECODER_STREAM_LOCK (dec);
/* buffer may claim DISCONT loudly, if it can't tell us where we are now,
* we'll stick to where we were ...
* Particularly useful/needed for upstream BYTE based */
- if (dec->input_segment.rate > 0.0
- && !GST_BUFFER_TIMESTAMP_IS_VALID (buffer)) {
+ if (dec->input_segment.rate > 0.0 && !GST_BUFFER_PTS_IS_VALID (buffer)) {
GST_DEBUG_OBJECT (dec, "... but restoring previous ts tracking");
dec->priv->base_ts = ts;
dec->priv->samples = samples;
/* hand subclass empty frame with duration that needs covering */
buf = gst_buffer_new ();
- GST_BUFFER_TIMESTAMP (buf) = timestamp;
+ GST_BUFFER_PTS (buf) = timestamp;
GST_BUFFER_DURATION (buf) = duration;
/* best effort, not much error handling */
gst_audio_decoder_handle_frame (dec, klass, buf);
/* FIXME ? lookahead could lead to weird ts and duration ?
* (particularly if not in perfect mode) */
/* mind sample rounding and produce perfect output */
- GST_BUFFER_TIMESTAMP (buf) = priv->base_ts +
+ GST_BUFFER_PTS (buf) = priv->base_ts +
gst_util_uint64_scale (priv->samples - ctx->lookahead, GST_SECOND,
ctx->info.rate);
- GST_BUFFER_DTS (buf) = GST_BUFFER_TIMESTAMP (buf);
+ GST_BUFFER_DTS (buf) = GST_BUFFER_PTS (buf);
GST_DEBUG_OBJECT (enc, "out samples %d", samples);
if (G_LIKELY (samples > 0)) {
priv->samples += samples;
GST_BUFFER_DURATION (buf) = priv->base_ts +
gst_util_uint64_scale (priv->samples - ctx->lookahead, GST_SECOND,
- ctx->info.rate) - GST_BUFFER_TIMESTAMP (buf);
+ ctx->info.rate) - GST_BUFFER_PTS (buf);
priv->last_duration = GST_BUFFER_DURATION (buf);
} else {
/* duration forecast in case of handling remainder;
GST_LOG_OBJECT (enc,
"pushing buffer of size %" G_GSIZE_FORMAT " with ts %" GST_TIME_FORMAT
", duration %" GST_TIME_FORMAT, size,
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)),
+ GST_TIME_ARGS (GST_BUFFER_PTS (buf)),
GST_TIME_ARGS (GST_BUFFER_DURATION (buf)));
ret = gst_pad_push (enc->srcpad, buf);
GST_LOG_OBJECT (enc,
"received buffer of size %" G_GSIZE_FORMAT " with ts %" GST_TIME_FORMAT
", duration %" GST_TIME_FORMAT, size,
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)),
+ GST_TIME_ARGS (GST_BUFFER_PTS (buffer)),
GST_TIME_ARGS (GST_BUFFER_DURATION (buffer)));
/* input should be whole number of sample frames */
GST_LOG_OBJECT (enc,
"buffer after segment clipping has size %" G_GSIZE_FORMAT " with ts %"
GST_TIME_FORMAT ", duration %" GST_TIME_FORMAT, size,
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)),
+ GST_TIME_ARGS (GST_BUFFER_PTS (buffer)),
GST_TIME_ARGS (GST_BUFFER_DURATION (buffer)));
if (!GST_CLOCK_TIME_IS_VALID (priv->base_ts)) {
- priv->base_ts = GST_BUFFER_TIMESTAMP (buffer);
+ priv->base_ts = GST_BUFFER_PTS (buffer);
GST_DEBUG_OBJECT (enc, "new base ts %" GST_TIME_FORMAT,
GST_TIME_ARGS (priv->base_ts));
gst_audio_encoder_set_base_gp (enc);
GstClockTimeDiff diff = 0;
GstClockTime next_ts = 0;
- if (GST_BUFFER_TIMESTAMP_IS_VALID (buffer) &&
+ if (GST_BUFFER_PTS_IS_VALID (buffer) &&
GST_CLOCK_TIME_IS_VALID (priv->base_ts)) {
guint64 samples;
" samples past base_ts %" GST_TIME_FORMAT
", expected ts %" GST_TIME_FORMAT, samples,
GST_TIME_ARGS (priv->base_ts), GST_TIME_ARGS (next_ts));
- diff = GST_CLOCK_DIFF (next_ts, GST_BUFFER_TIMESTAMP (buffer));
+ diff = GST_CLOCK_DIFF (next_ts, GST_BUFFER_PTS (buffer));
GST_LOG_OBJECT (enc, "ts diff %d ms", (gint) (diff / GST_MSECOND));
/* if within tolerance,
* discard buffer ts and carry on producing perfect stream,
buffer = gst_buffer_make_writable (buffer);
gst_buffer_resize (buffer, diff_bytes, size - diff_bytes);
- GST_BUFFER_TIMESTAMP (buffer) += diff;
+ GST_BUFFER_PTS (buffer) += diff;
/* care even less about duration after this */
} else {
/* drain stuff prior to resync */
gst_util_uint64_scale (gst_adapter_available (priv->adapter),
GST_SECOND, ctx->info.rate * ctx->info.bpf);
- if (G_UNLIKELY (shift > GST_BUFFER_TIMESTAMP (buffer))) {
+ if (G_UNLIKELY (shift > GST_BUFFER_PTS (buffer))) {
/* ERROR */
goto wrong_time;
}
/* arrange for newly added samples to come out with the ts
* of the incoming buffer that adds these */
- priv->base_ts = GST_BUFFER_TIMESTAMP (buffer) - shift;
+ priv->base_ts = GST_BUFFER_PTS (buffer) - shift;
priv->samples = 0;
gst_audio_encoder_set_base_gp (enc);
priv->discont |= discont;