After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 763773 - asfdemux gstasfdemux.c:2294:gst_asf_demux_chain:<asfdemux0> flow: eos
asfdemux gstasfdemux.c:2294:gst_asf_demux_chain:<asfdemux0> flow: eos
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
1.7.91
Other Linux
: Normal critical
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-03-16 17:51 UTC by ion pantalon
Modified: 2018-11-03 12:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rtpasfdepay: Try to let baseclass push buffers to be able to propagate downstream flow returns (1.85 KB, patch)
2016-03-16 21:58 UTC, Sebastian Dröge (slomo)
none Details | Review

Description ion pantalon 2016-03-16 17:51:10 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?
Comment 1 Sebastian Dröge (slomo) 2016-03-16 21:50:10 UTC
rtpasfdepay doesn't propagate downstream flow returns upstream... looking into this now
Comment 2 Sebastian Dröge (slomo) 2016-03-16 21:58:05 UTC
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.
Comment 3 Sebastian Dröge (slomo) 2016-03-16 21:59:21 UTC
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.
Comment 4 Sebastian Dröge (slomo) 2016-03-16 22:00:23 UTC
At least 13 other depayloaders to be exact.
Comment 5 Sebastian Dröge (slomo) 2016-03-17 08:02:57 UTC
There's also bug #739391, which should be the reason why it goes EOS immediately and never outputs anything.
Comment 6 Tim-Philipp Müller 2016-03-17 09:09:10 UTC
> 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.
Comment 7 ion pantalon 2016-03-18 11:12:17 UTC
(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
Comment 8 Sebastian Dröge (slomo) 2016-03-18 11:23:44 UTC
Yes see the other bug I linked, bug #739391
Comment 9 Edward Hervey 2018-05-10 05:48:08 UTC
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 ?
Comment 10 GStreamer system administrator 2018-11-03 12:33:39 UTC
-- 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.