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 684259 - pad: event push failures cause errors, can't add a non-complete pipeline to a running tee
pad: event push failures cause errors, can't add a non-complete pipeline to a...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: 1.1.x
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-09-17 23:56 UTC by Olivier Crête
Modified: 2013-07-12 19:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
example code (557 bytes, text/plain)
2012-09-17 23:56 UTC, Olivier Crête
  Details
pad: Transform event pushing failures to not-linked (1.17 KB, patch)
2012-09-17 23:58 UTC, Olivier Crête
needs-work Details | Review

Description Olivier Crête 2012-09-17 23:56:51 UTC
Created attachment 224562 [details]
example code

If I have a running pipeline with a tee, in 0.10, I could add a queue and other elements and it would ignore the not-linked errors.

In 1.0, GstPad will convert the non-1 returns to flow-not-negotiated or flow-error when pushing the sticky events before pushing a buffer. This will cause the tee to not ignore them.
Comment 1 Olivier Crête 2012-09-17 23:58:40 UTC
Created attachment 224563 [details] [review]
pad: Transform event pushing failures to not-linked

Instead of transforming the event pushing failures to fatal errors, by
making them into not-linked, the tee can correctly ignore them.

This is one possible approach, another is to ignore all errors in the tee, not just not-linked.

A third approach is to just not support this use-case anymore, in this case, I'll just add valve elements everywhere.
Comment 2 Olivier Crête 2012-09-18 16:43:20 UTC
It seems that also now the "queue" element stops its thread if it gets a flush return from downstream, so that breaks my use-case anyway. I'll just connect the tee only once the downstream stuff is there.
Comment 3 Tim-Philipp Müller 2013-01-05 15:24:03 UTC
Or maybe it should just ignore return values for all sticky events anyway? Wim?
Comment 4 Wim Taymans 2013-04-04 14:47:42 UTC
You should ignore return values from event-push.
Comment 5 Olivier Crête 2013-07-12 19:05:14 UTC
Can't reproduce this anymore, I assume it must have been fixed somehow.