mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 22:36:33 +00:00
oggdemux: fix audio glitches with low bitrate vorbis
A low bitrate stream which can pack more than 2 seconds of audio in a page would cause the stream's position to be updated not often enough, and would trigger a spurious "jump" via a GAP event. Instead, we update the stream position after calculating the new overall segment position. https://bugzilla.gnome.org/show_bug.cgi?id=764966
This commit is contained in:
parent
27e7ca3389
commit
2ac5bd293b
1 changed files with 2 additions and 2 deletions
|
@ -808,8 +808,6 @@ gst_ogg_demux_chain_peer (GstOggPad * pad, ogg_packet * packet,
|
|||
pad->discont = FALSE;
|
||||
}
|
||||
|
||||
pad->position = ogg->segment.position;
|
||||
|
||||
/* don't push the header packets when we are asked to skip them */
|
||||
if (!packet->b_o_s || push_headers) {
|
||||
if (pad->last_ret == GST_FLOW_OK) {
|
||||
|
@ -854,6 +852,8 @@ gst_ogg_demux_chain_peer (GstOggPad * pad, ogg_packet * packet,
|
|||
GST_DEBUG_OBJECT (ogg, "ogg current time %" GST_TIME_FORMAT
|
||||
" (%" G_GINT64_FORMAT ")", GST_TIME_ARGS (current_time), current_time);
|
||||
|
||||
pad->position = ogg->segment.position;
|
||||
|
||||
/* check stream eos */
|
||||
if (!pad->is_eos && !delta_unit &&
|
||||
((ogg->segment.rate > 0.0 &&
|
||||
|
|
Loading…
Reference in a new issue