diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-08-30 15:50:26 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-08-30 15:50:26 +0200 |
commit | 6357bdef63b1f6fca0890c1b98132e5ba54f71df (patch) | |
tree | 69ebb2c3a5cc0cc32e59c275963db23bbe54c673 | |
parent | c591b98864a25fcee865978142d8b79216aac76c (diff) |
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.
-rw-r--r-- | ext/ogg/gstoggdemux.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index 6716c1599..cb1f2dd94 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c | |||
@@ -992,7 +992,9 @@ gst_ogg_pad_stream_out (GstOggPad * pad, gint npackets) | |||
992 | case 1: | 992 | case 1: |
993 | GST_LOG_OBJECT (ogg, "packetout gave packet of size %ld", packet.bytes); | 993 | GST_LOG_OBJECT (ogg, "packetout gave packet of size %ld", packet.bytes); |
994 | result = gst_ogg_pad_submit_packet (pad, &packet); | 994 | result = gst_ogg_pad_submit_packet (pad, &packet); |
995 | if (result != GST_FLOW_OK) | 995 | if (result == GST_FLOW_NOT_LINKED) |
996 | goto not_linked; | ||
997 | else if (result <= GST_FLOW_UNEXPECTED) | ||
996 | goto could_not_submit; | 998 | goto could_not_submit; |
997 | break; | 999 | break; |
998 | default: | 1000 | default: |
@@ -1010,6 +1012,16 @@ gst_ogg_pad_stream_out (GstOggPad * pad, gint npackets) | |||
1010 | return result; | 1012 | return result; |
1011 | 1013 | ||
1012 | /* ERRORS */ | 1014 | /* ERRORS */ |
1015 | not_linked: | ||
1016 | { | ||
1017 | GST_WARNING_OBJECT (ogg, | ||
1018 | "could not submit packet for stream %08lx, error: %d", | ||
1019 | pad->map.serialno, result); | ||
1020 | /* Not resetting the pad here because it might be linked | ||
1021 | * later and should work without problems then. | ||
1022 | */ | ||
1023 | return result; | ||
1024 | } | ||
1013 | could_not_submit: | 1025 | could_not_submit: |
1014 | { | 1026 | { |
1015 | GST_WARNING_OBJECT (ogg, | 1027 | GST_WARNING_OBJECT (ogg, |