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 150546 - [api] Error for calling gst_pad_push in a get function is not informative
[api] Error for calling gst_pad_push in a get function is not informative
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: 0.8.9
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-08-19 13:37 UTC by Jan Schmidt
Modified: 2005-01-31 17:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (532 bytes, patch)
2005-01-29 11:04 UTC, Ronald Bultje
none Details | Review
better approach (7.46 KB, patch)
2005-01-29 19:31 UTC, Ronald Bultje
none Details | Review
more (12.95 KB, patch)
2005-01-29 20:26 UTC, Ronald Bultje
needs-work Details | Review

Description Jan Schmidt 2004-08-19 13:37:42 UTC
Calling gst_pad_push from a get function should provide a more informative error
than:
(process:20393): GStreamer-WARNING **: internal error: push on pad
ffdemux_mpegts0:sink but it has no chainhandler
Comment 1 David Schleef 2004-10-26 06:03:13 UTC
I don't think that this is the problem it is complaining about.  AFAICT, there
is no check for pushing from a get function.
Comment 2 Jan Schmidt 2004-10-26 07:21:29 UTC
See http://bugzilla.gnome.org/show_bug.cgi?id=150449 for the context this came
up in.

http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/udp/gstudpsrc.c?r1=1.26&r2=1.27
and
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/udp/gstudpsrc.h?r1=1.9&r2=1.10
for the fix I did.

I think the problem is that schedulers _don't_ check for pushing from a get
function. It's not a case they handle, and results in an error as I think it
should, it's just not one that tells you anything about what is going on.
Comment 3 Ronald Bultje 2005-01-29 11:04:27 UTC
Created attachment 36681 [details] [review]
proposed patch

Patch adds a g_return_if_fail for the getfunction.
Comment 4 Ronald Bultje 2005-01-29 13:38:37 UTC
Applied.
Comment 5 Ronald Bultje 2005-01-29 17:32:03 UTC
Eh, no, make check breaks now. Working on it...
Comment 6 Ronald Bultje 2005-01-29 19:31:42 UTC
Created attachment 36694 [details] [review]
better approach

This adds flags to realpads to see in what function they are (get, chain) and
assures that get-based pads don't push and chain-based pads don't pull.
Includes tests for the testsuite (both fail as expected).
Comment 7 Ronald Bultje 2005-01-29 20:26:49 UTC
Created attachment 36696 [details] [review]
more

This adds one more test to assure that other actions are still allowed. Kind of
redundant, but it never hurts.
Comment 8 Ronald Bultje 2005-01-31 15:44:56 UTC
Comment on attachment 36696 [details] [review]
more

Testsuite is added, but the gstpad.[ch] patch isn't (yet). Wim prefers doing
this in the scheduler since we're currently having an overload of flags.
Comment 9 Ronald Bultje 2005-01-31 17:39:42 UTC
Applied patch after all...