mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 01:30:38 +00:00
parent
b27d2469bd
commit
2fa9bf2be5
1 changed files with 14 additions and 9 deletions
|
@ -1360,14 +1360,18 @@ gst_ogg_mux_process_best_pad (GstOggMux * ogg_mux, GstOggPadData * best)
|
||||||
|
|
||||||
GST_LOG_OBJECT (ogg_mux, "best pad %" GST_PTR_FORMAT
|
GST_LOG_OBJECT (ogg_mux, "best pad %" GST_PTR_FORMAT
|
||||||
", currently pulling from %" GST_PTR_FORMAT, best->collect.pad,
|
", 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 (ogg_mux->pulling) {
|
||||||
if (next_buf) {
|
next_buf = gst_collect_pads_peek (ogg_mux->collect,
|
||||||
best->eos = FALSE;
|
&ogg_mux->pulling->collect);
|
||||||
gst_buffer_unref (next_buf);
|
if (next_buf) {
|
||||||
} else {
|
ogg_mux->pulling->eos = FALSE;
|
||||||
best->eos = TRUE;
|
gst_buffer_unref (next_buf);
|
||||||
|
} else {
|
||||||
|
GST_DEBUG_OBJECT (ogg_mux->pulling->collect.pad, "setting eos to true");
|
||||||
|
ogg_mux->pulling->eos = TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if we were already pulling from one pad, but the new "best" buffer is
|
/* if we were already pulling from one pad, but the new "best" buffer is
|
||||||
|
@ -1472,7 +1476,7 @@ gst_ogg_mux_process_best_pad (GstOggMux * ogg_mux, GstOggPadData * best)
|
||||||
GST_GP_CAST (packet.granulepos), (gint64) packet.packetno,
|
GST_GP_CAST (packet.granulepos), (gint64) packet.packetno,
|
||||||
packet.bytes);
|
packet.bytes);
|
||||||
|
|
||||||
packet.e_o_s = best->eos ? 1 : 0;
|
packet.e_o_s = ogg_mux->pulling->eos ? 1 : 0;
|
||||||
tmpbuf = NULL;
|
tmpbuf = NULL;
|
||||||
|
|
||||||
/* we flush when we see a new keyframe */
|
/* we flush when we see a new keyframe */
|
||||||
|
@ -1659,7 +1663,8 @@ all_pads_eos (GstCollectPads * pads)
|
||||||
while (walk) {
|
while (walk) {
|
||||||
GstOggPadData *oggpad = (GstOggPadData *) walk->data;
|
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)
|
if (oggpad->eos == FALSE)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
Loading…
Reference in a new issue