mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
theoradec: Keep timestamp from incoming buffer if it is valid
Fixes bug #601627.
This commit is contained in:
parent
1da5a3f7d3
commit
05aa195981
1 changed files with 3 additions and 3 deletions
|
@ -1333,15 +1333,15 @@ theora_dec_decode_buffer (GstTheoraDec * dec, GstBuffer * buf)
|
|||
|
||||
GST_LOG_OBJECT (dec, "decode buffer of size %ld", packet.bytes);
|
||||
|
||||
if (dec->have_header) {
|
||||
if (GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
|
||||
dec->last_timestamp = GST_BUFFER_TIMESTAMP (buf);
|
||||
} else if (dec->have_header) {
|
||||
if (packet.granulepos != -1) {
|
||||
dec->granulepos = packet.granulepos;
|
||||
dec->last_timestamp = _theora_granule_start_time (dec, packet.granulepos);
|
||||
} else if (dec->last_timestamp != -1) {
|
||||
dec->last_timestamp = _theora_granule_start_time (dec, dec->granulepos);
|
||||
}
|
||||
if (dec->last_timestamp == -1 && GST_BUFFER_TIMESTAMP_IS_VALID (buf))
|
||||
dec->last_timestamp = GST_BUFFER_TIMESTAMP (buf);
|
||||
} else {
|
||||
dec->last_timestamp = -1;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue