From 6357bdef63b1f6fca0890c1b98132e5ba54f71df Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 30 Aug 2010 15:50:26 +0200 Subject: [PATCH] oggdemux: Don't reset the pad when pushing resulted in NOT_LINKED The pad might be linked later and after resetting it it will only work after resetting all of oggdemux. --- ext/ogg/gstoggdemux.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index 6716c15..cb1f2dd 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -992,7 +992,9 @@ gst_ogg_pad_stream_out (GstOggPad * pad, gint npackets) case 1: GST_LOG_OBJECT (ogg, "packetout gave packet of size %ld", packet.bytes); result = gst_ogg_pad_submit_packet (pad, &packet); - if (result != GST_FLOW_OK) + if (result == GST_FLOW_NOT_LINKED) + goto not_linked; + else if (result <= GST_FLOW_UNEXPECTED) goto could_not_submit; break; default: @@ -1010,6 +1012,16 @@ gst_ogg_pad_stream_out (GstOggPad * pad, gint npackets) return result; /* ERRORS */ +not_linked: + { + GST_WARNING_OBJECT (ogg, + "could not submit packet for stream %08lx, error: %d", + pad->map.serialno, result); + /* Not resetting the pad here because it might be linked + * later and should work without problems then. + */ + return result; + } could_not_submit: { GST_WARNING_OBJECT (ogg, -- 2.7.4