mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
gst/: fixing lost sync, some more debugging
Original commit message from CVS: * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit): * gst/volume/gstvolume.c: (gst_volume_class_init), (volume_transform): fixing lost sync, some more debugging
This commit is contained in:
parent
0ba2f79cb5
commit
1aa698fefa
3 changed files with 19 additions and 5 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2005-09-09 Stefan Kost <ensonic@users.sf.net>
|
||||||
|
|
||||||
|
* gst-libs/gst/audio/gstbaseaudiosink.c:
|
||||||
|
(gst_base_audio_sink_render):
|
||||||
|
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit):
|
||||||
|
* gst/volume/gstvolume.c: (gst_volume_class_init),
|
||||||
|
(volume_transform):
|
||||||
|
fixing lost sync, some more debugging
|
||||||
|
|
||||||
2005-09-08 Jan Schmidt <thaytan@mad.scientist.com>
|
2005-09-08 Jan Schmidt <thaytan@mad.scientist.com>
|
||||||
|
|
||||||
* sys/ximage/ximagesink.c: (gst_ximage_buffer_init),
|
* sys/ximage/ximagesink.c: (gst_ximage_buffer_init),
|
||||||
|
|
|
@ -368,8 +368,10 @@ gst_base_audio_sink_render (GstBaseSink * bsink, GstBuffer * buf)
|
||||||
/* roundoff errors in timestamp conversion */
|
/* roundoff errors in timestamp conversion */
|
||||||
diff = ABS ((gint64) render_offset - (gint64) sink->ringbuffer->next_sample);
|
diff = ABS ((gint64) render_offset - (gint64) sink->ringbuffer->next_sample);
|
||||||
|
|
||||||
GST_DEBUG ("render time %" GST_TIME_FORMAT ", render offset %llu, diff %lld",
|
GST_DEBUG ("render time %" GST_TIME_FORMAT
|
||||||
GST_TIME_ARGS (render_time), render_offset, diff);
|
", render offset %llu, diff %lld, size %lu", GST_TIME_ARGS (render_time),
|
||||||
|
render_offset, diff, size);
|
||||||
|
GST_DEBUG ("ringgbuffer rate %lu", sink->ringbuffer->spec.rate);
|
||||||
|
|
||||||
/* we tollerate a 10th of a second diff before we start resyncing. This
|
/* we tollerate a 10th of a second diff before we start resyncing. This
|
||||||
* should be enough to compensate for various rounding errors in the timestamp
|
* should be enough to compensate for various rounding errors in the timestamp
|
||||||
|
@ -379,8 +381,9 @@ gst_base_audio_sink_render (GstBaseSink * bsink, GstBuffer * buf)
|
||||||
render_offset = -1;
|
render_offset = -1;
|
||||||
/* FIXME, can we use the OFFSET field to detect a gap? */
|
/* FIXME, can we use the OFFSET field to detect a gap? */
|
||||||
}
|
}
|
||||||
|
//GST_DEBUG ("ringgbuffer next (before) %llu", sink->ringbuffer->next_sample);
|
||||||
gst_ring_buffer_commit (sink->ringbuffer, render_offset, data, size);
|
gst_ring_buffer_commit (sink->ringbuffer, render_offset, data, size);
|
||||||
|
//GST_DEBUG ("ringgbuffer next (after) %llu", sink->ringbuffer->next_sample);
|
||||||
|
|
||||||
return GST_FLOW_OK;
|
return GST_FLOW_OK;
|
||||||
|
|
||||||
|
|
|
@ -904,11 +904,11 @@ not_started:
|
||||||
* @data: the data to commit
|
* @data: the data to commit
|
||||||
* @len: the length of the data to commit
|
* @len: the length of the data to commit
|
||||||
*
|
*
|
||||||
* Commit @length samples pointed to by @data to the ringbuffer
|
* Commit @len samples pointed to by @data to the ringbuffer
|
||||||
* @buf. The first sample should be written at position @sample in
|
* @buf. The first sample should be written at position @sample in
|
||||||
* the ringbuffer.
|
* the ringbuffer.
|
||||||
*
|
*
|
||||||
* @len should not be a multiple of the segment size of the ringbuffer
|
* @len not needs to be a multiple of the segment size of the ringbuffer
|
||||||
* although it is recommended.
|
* although it is recommended.
|
||||||
*
|
*
|
||||||
* Returns: The number of samples written to the ringbuffer or -1 on
|
* Returns: The number of samples written to the ringbuffer or -1 on
|
||||||
|
@ -935,6 +935,8 @@ gst_ring_buffer_commit (GstRingBuffer * buf, guint64 sample, guchar * data,
|
||||||
if (sample != buf->next_sample) {
|
if (sample != buf->next_sample) {
|
||||||
GST_WARNING ("discontinuity found got %" G_GUINT64_FORMAT
|
GST_WARNING ("discontinuity found got %" G_GUINT64_FORMAT
|
||||||
", expected %" G_GUINT64_FORMAT, sample, buf->next_sample);
|
", expected %" G_GUINT64_FORMAT, sample, buf->next_sample);
|
||||||
|
/* also sync here */
|
||||||
|
sample = buf->next_sample;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue