GNOME Bugzilla – Bug 648991
asfdemux: infinite loop
Last modified: 2012-02-18 20:04:07 UTC
using a pipeline like this: gst-launch-0.10 -m -v -t souphttpsrc timeout=8 location=http://10.144.52.40:9001 ! asfdemux ! ffdec_wmv1 ! ffmpegcolorspace ! xvimagesink sync=false the video freeze after about 100 seconds and the log show an infinite loop: 0:01:43.218376920 9657 0x1974920 INFO GST_EVENT gstevent.c:890:gst_event_new_qos_full: creating qos type 0, proportion 1,984084, diff 0, timestamp 0:00:52.962000000 0:01:43.378362224 9657 0x1974920 INFO GST_EVENT gstevent.c:890:gst_event_new_qos_full: creating qos type 0, proportion 1,987020, diff 0, timestamp 0:00:53.046000000 0:01:43.504233480 9657 0x1974920 WARN asfdemux asfpacket.c:494:gst_asf_demux_parse_packet:<asfdemux0> unexpected error correction length type 2 0:01:43.504248845 9657 0x1974920 WARN asfdemux gstasfdemux.c:2054:gst_asf_demux_get_stream: Segment found for undefined stream: (75) 0:01:43.504259042 9657 0x1974920 WARN asfdemux asfpacket.c:345:gst_asf_demux_parse_payload:<asfdemux0> Payload for unknown stream 75, skipping 0:01:43.504268191 9657 0x1974920 WARN asfdemux gstasfdemux.c:2054:gst_asf_demux_get_stream: Segment found for undefined stream: (89) 0:01:43.504277061 9657 0x1974920 WARN asfdemux asfpacket.c:345:gst_asf_demux_parse_payload:<asfdemux0> Payload for unknown stream 89, skipping 0:01:43.504285582 9657 0x1974920 WARN asfdemux gstasfdemux.c:2054:gst_asf_demux_get_stream: Segment found for undefined stream: (103) 0:01:43.504294242 9657 0x1974920 WARN asfdemux asfpacket.c:345:gst_asf_demux_parse_payload:<asfdemux0> Payload for unknown stream 103, skipping 0:01:43.504302693 9657 0x1974920 WARN asfdemux gstasfdemux.c:2054:gst_asf_demux_get_stream: Segment found for undefined stream: (81) 0:01:43.504311004 9657 0x1974920 WARN asfdemux asfpacket.c:345:gst_asf_demux_parse_payload:<asfdemux0> Payload for unknown stream 81, skipping 0:01:43.504319385 9657 0x1974920 WARN asfdemux gstasfdemux.c:2054:gst_asf_demux_get_stream: Segment found for undefined stream: (20) 0:01:43.504327836 9657 0x1974920 WARN asfdemux asfpacket.c:345:gst_asf_demux_parse_payload:<asfdemux0> Payload for unknown stream 20, skipping 0:01:43.504336147 9657 0x1974920 WARN asfdemux gstasfdemux.c:2054:gst_asf_demux_get_stream: Segment found for undefined stream: (35) these logs are repeated over and over and the video remains freezed (I waited for about 5 minutes) using a pipeline like this: gst-launch-0.10 -m -v -t souphttpsrc timeout=8 location=http://10.144.52.40:9001 ! asfparse ! asfdemux ! ffdec_wmv1 ! ffmpegcolorspace ! xvimagesink sync=false cause the following error: 0:01:46.115616098 9780 0x17fd400 INFO GST_EVENT gstevent.c:890:gst_event_new_qos_full: creating qos type 0, proportion 2,000368, diff 0, timestamp 0:00:56.409000000 0:01:46.200936664 9780 0x17fd400 WARN default gstasfobjects.c:616:gst_asf_parse_packet: Packet size (payload=406874269 + padding=7242) doesn't match expected size 1460 0:01:46.200962296 9780 0x17fd400 ERROR asfparse gstasfparse.c:153:gst_asf_parse_parse_packet:<asfparse0> Error while parsing data packet 0:01:46.200981503 9780 0x17fd400 INFO basesrc gstbasesrc.c:2519:gst_base_src_loop:<souphttpsrc0> pausing after gst_pad_push() = error 0:01:46.201007972 9780 0x17fd400 WARN basesrc gstbasesrc.c:2582:gst_base_src_loop:<souphttpsrc0> error: Errore interno nel flusso di dati. 0:01:46.201026899 9780 0x17fd400 WARN basesrc gstbasesrc.c:2582:gst_base_src_loop:<souphttpsrc0> error: streaming task paused, reason error (-5)
Maybe you could capture the stream for us, so we can replay it? e.g. something like: gst-launch-0.10 -e -v souphttpsrc location=http://10.144.52.40:9001 ! tee name=t \ t. ! queue ! asfdemux ! ffdec_wmv1 ! ffmpegcolorspace ! xvimagesink sync=false \ t. ! queue ! gdppay ! filesink location=648991-asf.gdp Then wait for it to wedge/loop, and press Control-C after a while, then attach the .gdp file to this bug report please (hopefully it's <1MB).
your pipeline doesn't work: /GstPipeline:pipeline0/GstTee:t: alloc-pad = (GstPad) src1 Ottenuto messaggio #45 dall'elemento "gdppay0" (error): GstMessageError, gerror=(GError)NULL, debug=(string)"gstgdppay.c\(674\):\ gst_gdp_pay_chain\ \(\):\ /GstPipeline:pipeline0/GstGDPPay:gdppay0:\012first\ received\ buffer\ does\ not\ have\ caps\ set"; ERRORE: dall'elemento /GstPipeline:pipeline0/GstGDPPay:gdppay0: Lo stream è nel formato errato. Informazioni di debug aggiuntive: gstgdppay.c(674): gst_gdp_pay_chain (): /GstPipeline:pipeline0/GstGDPPay:gdppay0: first received buffer does not have caps set this one work: gst-launch-0.10 -v -m -t souphttpsrc location=http://10.144.52.40:9001 ! tee name=t t.! queue ! asfdemux ! ffdec_wmv1 ! ffmpegcolorspace ! xvimagesink sync=false t. ! queue ! asfdemux ! gdppay ! filesink location=648991-asf.gdp but obviously when the video freeze nothing is written to the file. I noticed that this pipeline can play the stream for several minutes: gst-launch-0.10 -v -m -t souphttpsrc location=http://10.144.52.40:9001 ! queue ! ffdemux_asf ! ffdec_wmv1 ! ffmpegcolorspace ! xvimagesink sync=false however with ffdemux_asf I have jerky video, is a network dump using curl http://10.144.52.40:9001 > 648991.asf good?
> your pipeline doesn't work: > /GstPipeline:pipeline0/GstGDPPay:gdppay0: > first received buffer does not have caps set Ah, sorry. Try putting a typefind element in front of gdppay, ie. t. ! queue ! typefind ! gdppay ! filesink location=...
Nicola, do you have any update for the bug ?
you can reproduce the issue with the following file: http://77.43.75.110/temp/648991-asf.gdp
This works fine here, with current git: gst-launch-0.10 filesrc location=648991-asf.gdp ! gdpdepay ! asfdemux ! ffdec_wmv1 ! ffmpegcolorspace ! xvimagesink sync=false Do you still see the issue ?
yes my dump works with current git and doesn't work with the latest released version (it segfault with gstreamer from ubuntu oneiric and works with gst-uninstalled), so the problem seems solved. I have no more access to that stream to do other tests, Nicola