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.
This commit is contained in:
Sebastian Dröge 2010-08-30 15:50:26 +02:00
parent c591b98864
commit 6357bdef63

View file

@ -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,