mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-10 10:04:23 +00:00
Merge branch 'master' into 0.11
This commit is contained in:
commit
376164ab08
2 changed files with 28 additions and 10 deletions
|
@ -1319,14 +1319,31 @@ gst_ogg_mux_process_best_pad (GstOggMux * ogg_mux, GstOggPadData * best)
|
|||
|
||||
GST_LOG_OBJECT (ogg_mux, "best pad %" GST_PTR_FORMAT
|
||||
", currently pulling from %" GST_PTR_FORMAT, best->collect.pad,
|
||||
ogg_mux->pulling);
|
||||
ogg_mux->pulling ? ogg_mux->pulling->collect.pad : NULL);
|
||||
|
||||
next_buf = gst_collect_pads_peek (ogg_mux->collect, &best->collect);
|
||||
if (next_buf) {
|
||||
best->eos = FALSE;
|
||||
gst_buffer_unref (next_buf);
|
||||
} else {
|
||||
best->eos = TRUE;
|
||||
if (ogg_mux->pulling) {
|
||||
next_buf = gst_collect_pads_peek (ogg_mux->collect,
|
||||
&ogg_mux->pulling->collect);
|
||||
if (next_buf) {
|
||||
ogg_mux->pulling->eos = FALSE;
|
||||
gst_buffer_unref (next_buf);
|
||||
} else {
|
||||
GST_DEBUG_OBJECT (ogg_mux->pulling->collect.pad, "setting eos to true");
|
||||
ogg_mux->pulling->eos = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* We could end up pushing from the best pad instead, so check that
|
||||
* as well */
|
||||
if (best && best != ogg_mux->pulling) {
|
||||
next_buf = gst_collect_pads_peek (ogg_mux->collect, &best->collect);
|
||||
if (next_buf) {
|
||||
best->eos = FALSE;
|
||||
gst_buffer_unref (next_buf);
|
||||
} else {
|
||||
GST_DEBUG_OBJECT (best->collect.pad, "setting eos to true");
|
||||
best->eos = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* if we were already pulling from one pad, but the new "best" buffer is
|
||||
|
@ -1432,7 +1449,7 @@ gst_ogg_mux_process_best_pad (GstOggMux * ogg_mux, GstOggPadData * best)
|
|||
GST_GP_CAST (packet.granulepos), (gint64) packet.packetno,
|
||||
packet.bytes);
|
||||
|
||||
packet.e_o_s = best->eos ? 1 : 0;
|
||||
packet.e_o_s = ogg_mux->pulling->eos ? 1 : 0;
|
||||
tmpbuf = NULL;
|
||||
|
||||
/* we flush when we see a new keyframe */
|
||||
|
@ -1620,7 +1637,8 @@ all_pads_eos (GstCollectPads * pads)
|
|||
while (walk) {
|
||||
GstOggPadData *oggpad = (GstOggPadData *) walk->data;
|
||||
|
||||
GST_DEBUG ("oggpad %p eos %d", oggpad, oggpad->eos);
|
||||
GST_DEBUG_OBJECT (oggpad->collect.pad,
|
||||
"oggpad %p eos %d", oggpad, oggpad->eos);
|
||||
|
||||
if (oggpad->eos == FALSE)
|
||||
return FALSE;
|
||||
|
|
|
@ -4564,7 +4564,7 @@ plugin_init (GstPlugin * plugin)
|
|||
TYPE_FIND_REGISTER_START_WITH (plugin, "audio/x-vgm",
|
||||
GST_RANK_SECONDARY, vgm_exts, "Vgm\x20", 4, GST_TYPE_FIND_MAXIMUM);
|
||||
TYPE_FIND_REGISTER_START_WITH (plugin, "audio/x-sap",
|
||||
GST_RANK_SECONDARY, sap_exts, "SAP\x0d\x0aAUTHOR\x20", 12,
|
||||
GST_RANK_SECONDARY, sap_exts, "SAP\x0d\x0a" "AUTHOR\x20", 12,
|
||||
GST_TYPE_FIND_MAXIMUM);
|
||||
TYPE_FIND_REGISTER_START_WITH (plugin, "video/x-ivf", GST_RANK_SECONDARY,
|
||||
ivf_exts, "DKIF", 4, GST_TYPE_FIND_NEARLY_CERTAIN);
|
||||
|
|
Loading…
Reference in a new issue