pad = gst_ogg_demux_find_pad (ogg, serialno);
} else {
GstClockTime chain_time;
- GstOggChain *current_chain;
gint64 current_time;
/* this can only happen in push mode */
if (ogg->pullmode)
goto unknown_chain;
- current_chain = ogg->current_chain;
current_time = ogg->segment.last_stop;
/* time of new chain is current time */
GST_DEBUG_OBJECT (data->pad, "EOS on pad");
if (!pad->eos) {
ogg_page page;
- GstFlowReturn ret;
/* it's no longer active */
ogg_mux->active_pads--;
while (ogg_stream_flush (&pad->map.stream, &page)) {
/* Place page into the per-pad queue */
- ret = gst_ogg_mux_pad_queue_page (ogg_mux, pad, &page,
- pad->first_delta);
+ gst_ogg_mux_pad_queue_page (ogg_mux, pad, &page, pad->first_delta);
/* increment the page number counter */
pad->pageno++;
/* mark other pages as delta */
static gboolean
is_keyframe_dirac (GstOggStream * pad, gint64 granulepos)
{
- gint64 pt;
int dist_h;
int dist_l;
int dist;
- int delay;
- gint64 dt;
if (granulepos == -1)
return -1;
- pt = ((granulepos >> 22) + (granulepos & OGG_DIRAC_GRANULE_LOW_MASK)) >> 9;
dist_h = (granulepos >> 22) & 0xff;
dist_l = granulepos & 0xff;
dist = (dist_h << 8) | dist_l;
- delay = (granulepos >> 9) & 0x1fff;
- dt = pt - delay;
return (dist == 0);
}
granulepos_to_granule_dirac (GstOggStream * pad, gint64 gp)
{
gint64 pt;
- int dist_h;
- int dist_l;
- int dist;
int delay;
gint64 dt;
pt = ((gp >> 22) + (gp & OGG_DIRAC_GRANULE_LOW_MASK)) >> 9;
- dist_h = (gp >> 22) & 0xff;
- dist_l = gp & 0xff;
- dist = (dist_h << 8) | dist_l;
delay = (gp >> 9) & 0x1fff;
dt = pt - delay;