From e58d5a551598f0dab666625daebfa6f46a8b016a Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Thu, 23 Nov 2006 11:02:11 +0000 Subject: [PATCH] ext/ogg/gstoggmux.c: If our incoming buffer is marked as DISCONT, then increment the page number (so that the discont... Original commit message from CVS: * ext/ogg/gstoggmux.c: (gst_ogg_mux_process_best_pad): If our incoming buffer is marked as DISCONT, then increment the page number (so that the discontinuity is marked in the final ogg bitstream) and flush the previous page. --- ChangeLog | 7 +++++++ ext/ogg/gstoggmux.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/ChangeLog b/ChangeLog index 5faaf24e3d..fa7522d264 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-11-23 Michael Smith + + * ext/ogg/gstoggmux.c: (gst_ogg_mux_process_best_pad): + If our incoming buffer is marked as DISCONT, then increment the page + number (so that the discontinuity is marked in the final ogg + bitstream) and flush the previous page. + 2006-11-22 Michael Smith * ext/theora/gsttheoraenc.h: diff --git a/ext/ogg/gstoggmux.c b/ext/ogg/gstoggmux.c index 50ac806469..5cae445148 100644 --- a/ext/ogg/gstoggmux.c +++ b/ext/ogg/gstoggmux.c @@ -1334,6 +1334,13 @@ gst_ogg_mux_process_best_pad (GstOggMux * ogg_mux, GstOggPad * best) } } + if (GST_BUFFER_IS_DISCONT (buf)) { + packet.packetno++; + /* No public API for this; hack things in */ + pad->stream.pageno++; + force_flush = TRUE; + } + /* flush the currently built page if necessary */ if (force_flush) { GST_LOG_OBJECT (pad->collect.pad,