summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2010-08-30 15:50:26 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2010-08-30 15:50:26 +0200
commit6357bdef63b1f6fca0890c1b98132e5ba54f71df (patch)
tree69ebb2c3a5cc0cc32e59c275963db23bbe54c673
parentc591b98864a25fcee865978142d8b79216aac76c (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.c14
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 */
1015not_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 }
1013could_not_submit: 1025could_not_submit:
1014 { 1026 {
1015 GST_WARNING_OBJECT (ogg, 1027 GST_WARNING_OBJECT (ogg,