GNOME Bugzilla – Bug 763773
asfdemux gstasfdemux.c:2294:gst_asf_demux_chain:<asfdemux0> flow: eos
Last modified: 2018-11-03 12:33:39 UTC
Hello all, When I run this pipeline: GST_DEBUG=asfdemux:6 gst-launch-1.0 -v uridecodebin uri=rtsp://196.35.68.110/kayafm_22 ! fakesink dump=true I get the following error: 0:00:10.001841708 30630 0x7f41fc04a050 DEBUG asfdemux gstasfdemux.c:2294:gst_asf_demux_chain:<asfdemux0> flow: eos 0:00:10.001891548 30630 0x7f41fc04a050 LOG asfdemux gstasfdemux.c:2191:gst_asf_demux_chain:<asfdemux0> buffer: size=1518, offset=-1, time=0:00:09.626608086 0:00:10.001915498 30630 0x7f41fc04a050 LOG asfdemux gstasfdemux.c:887:gst_asf_demux_identify_guid: ASF_OBJ_UNDEFINED 0x40000082-0xc605eb5d-0x73c0962c-0x004b0101 0:00:10.001935785 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:633:gst_asf_demux_parse_packet:<asfdemux0> Buffer size: 1518 0:00:10.001947797 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:660:gst_asf_demux_parse_packet:<asfdemux0> packet has error correction (2 bytes) 0:00:10.001960266 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:700:gst_asf_demux_parse_packet:<asfdemux0> flags : 0x40 0:00:10.002172857 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:701:gst_asf_demux_parse_packet:<asfdemux0> multiple payloads: 0 0:00:10.002194612 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:702:gst_asf_demux_parse_packet:<asfdemux0> packet length : 1515 0:00:10.002206194 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:703:gst_asf_demux_parse_packet:<asfdemux0> sequence : 0 0:00:10.002216999 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:704:gst_asf_demux_parse_packet:<asfdemux0> padding : 0 0:00:10.002227999 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:706:gst_asf_demux_parse_packet:<asfdemux0> send time : 897:31:07.334000000 0:00:10.002243324 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:709:gst_asf_demux_parse_packet:<asfdemux0> duration : 0:00:00.371000000 0:00:10.002258309 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:734:gst_asf_demux_parse_packet:<asfdemux0> shortened packet with implicit padding, adjusting available data size 0:00:10.002270101 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:796:gst_asf_demux_parse_packet:<asfdemux0> Parsing single payload 0:00:10.002281317 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:389:gst_asf_demux_parse_payload:<asfdemux0> payload for stream 1 0:00:10.002292934 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:390:gst_asf_demux_parse_payload:<asfdemux0> keyframe : no 0:00:10.002304500 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:391:gst_asf_demux_parse_payload:<asfdemux0> compressed : no 0:00:10.002315666 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:422:gst_asf_demux_parse_payload:<asfdemux0> payload length: 1487 0:00:10.002327263 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:445:gst_asf_demux_parse_payload:<asfdemux0> replicated data length: 8 0:00:10.002338895 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:456:gst_asf_demux_parse_payload:<asfdemux0> media object size : 1487 0:00:10.002350066 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:458:gst_asf_demux_parse_payload:<asfdemux0> media object ts : 897:31:07.056000000 0:00:10.002364429 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:460:gst_asf_demux_parse_payload:<asfdemux0> media object dur : 99:99:99.999999999 0:00:10.002378110 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:470:gst_asf_demux_parse_payload:<asfdemux0> media object offset : 0 0:00:10.002389291 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:472:gst_asf_demux_parse_payload:<asfdemux0> payload length: 1487 0:00:10.002400362 30630 0x7f41fc04a050 LOG asfdemux asfpacket.c:478:gst_asf_demux_parse_payload:<asfdemux0> unfragmented media object size 1487 0:00:10.002415923 30630 0x7f41fc04a050 DEBUG asfdemux asfpacket.c:267:gst_asf_payload_queue_for_stream:<asfdemux0> Got payload for stream 1 ts:897:31:07.056000000 0:00:10.002432170 30630 0x7f41fc04a050 DEBUG asfdemux asfpacket.c:178:gst_asf_payload_queue_for_stream_forward:<asfdemux0> Got payload for stream 1 ts:897:31:07.056000000 0:00:10.002451239 30630 0x7f41fc04a050 DEBUG asfdemux gstasfdemux.c:1794:gst_asf_demux_push_complete_payloads:<asfdemux0:audio_0> Payload after segment stop 0:00:00.000007525 This error goes on forever as it is in a loop. Any suggestions how I can fix this?
rtpasfdepay doesn't propagate downstream flow returns upstream... looking into this now
Created attachment 324145 [details] [review] rtpasfdepay: Try to let baseclass push buffers to be able to propagate downstream flow returns process_buffer() has no way of returning a GstFlowReturn from downstream, so if we always push buffers downstream from here instead of letting the subclass do that by returning a buffer, errors / eos / etc from downstream are just being ignored.
There's the same problem in other depayloaders. We should probably add new process functions that return a GstFlowReturn. The way it is now doesn't really make sense.
At least 13 other depayloaders to be exact.
There's also bug #739391, which should be the reason why it goes EOS immediately and never outputs anything.
> There's the same problem in other depayloaders. We should probably add new > process functions that return a GstFlowReturn. The way it is now doesn't > really make sense. For passing upstream the flow return we could use GST_PAD_LAST_FLOW_RETURN(src) or gst_pad_get_last_flow_return(src) in the base class instead of adding a new vfunc; that should do the job, there's probably not a need for the subclass to return its own flow errors.
(In reply to Sebastian Dröge (slomo) from comment #2) > Created attachment 324145 [details] [review] [review] > rtpasfdepay: Try to let baseclass push buffers to be able to propagate > downstream flow returns > > process_buffer() has no way of returning a GstFlowReturn from downstream, so > if we always push buffers downstream from here instead of letting the > subclass > do that by returning a buffer, errors / eos / etc from downstream are just > being ignored. This makes the process to stop but my goal is to get it to carry on playing. I think the bug starts somewhere around this point: 0:00:07.980270937 15513 0x7f61c8048850 LOG asfdemux gstasfdemux.c:881:gst_asf_demux_identify_guid: ASF_OBJ_UNDEFINED 0x40000082-0xf505eb5d-0x73c9693b-0x00ed0101
Yes see the other bug I linked, bug #739391
The original stream doesn't work anymore (returns Bad Gateway (502)). Isn't this a more generic issue (and therefore bug title should be renamed) ? Like some payloaders not properly propagating flow returns ?
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/161.