mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
- if you don't know the timestamp, don't try to guess. Send an invalid one.
Original commit message from CVS: - if you don't know the timestamp, don't try to guess. Send an invalid one. - use new macro GST_CLOCK_TIME_IS_VALID - send the first buffer, too (funny that nobody noticed for ages, that we don't send the first audio buffer ever, no?)
This commit is contained in:
parent
94fee6f152
commit
c19744b419
1 changed files with 3 additions and 3 deletions
|
@ -1130,7 +1130,7 @@ gst_mad_chain (GstPad *pad, GstBuffer *buffer)
|
||||||
timestamp = GST_BUFFER_TIMESTAMP (buffer);
|
timestamp = GST_BUFFER_TIMESTAMP (buffer);
|
||||||
|
|
||||||
/* handle timestamps */
|
/* handle timestamps */
|
||||||
if (timestamp != -1) {
|
if (GST_CLOCK_TIME_IS_VALID (timestamp)) {
|
||||||
/* if there is nothing queued (partial buffer), we prepare to set the
|
/* if there is nothing queued (partial buffer), we prepare to set the
|
||||||
* timestamp on the next buffer */
|
* timestamp on the next buffer */
|
||||||
if (mad->tempsize == 0) {
|
if (mad->tempsize == 0) {
|
||||||
|
@ -1274,7 +1274,7 @@ gst_mad_chain (GstPad *pad, GstBuffer *buffer)
|
||||||
|
|
||||||
if (mad->frame.header.samplerate == 0) {
|
if (mad->frame.header.samplerate == 0) {
|
||||||
g_warning ("mad->frame.header.samplerate is 0; timestamps cannot be calculated");
|
g_warning ("mad->frame.header.samplerate is 0; timestamps cannot be calculated");
|
||||||
time_offset = mad->base_time + 0;
|
time_offset = GST_CLOCK_TIME_NONE;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
time_offset = mad->base_time + (mad->total_samples * GST_SECOND
|
time_offset = mad->base_time + (mad->total_samples * GST_SECOND
|
||||||
|
@ -1291,7 +1291,7 @@ gst_mad_chain (GstPad *pad, GstBuffer *buffer)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GST_PAD_IS_USABLE (mad->srcpad) &&
|
if (GST_PAD_IS_USABLE (mad->srcpad) &&
|
||||||
mad->segment_start < time_offset) {
|
mad->segment_start <= (time_offset == GST_CLOCK_TIME_NONE ? mad->base_time : time_offset)) {
|
||||||
|
|
||||||
/* for sample accurate seeking, calculate how many samples
|
/* for sample accurate seeking, calculate how many samples
|
||||||
to skip and send the remaining pcm samples */
|
to skip and send the remaining pcm samples */
|
||||||
|
|
Loading…
Reference in a new issue