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 598682 - make check fails due to fpsdisplaysink if xvimagesink does not exist
make check fails due to fpsdisplaysink if xvimagesink does not exist
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 0.10.18
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-10-16 14:20 UTC by Peter Kjellerstedt
Modified: 2009-12-17 23:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fail rather than use a sink which is NULL (1016 bytes, patch)
2009-10-16 14:20 UTC, Peter Kjellerstedt
none Details | Review
Fail rather than use a sink which is NULL (1.59 KB, patch)
2009-12-14 12:30 UTC, Peter Kjellerstedt
none Details | Review
Fail rather than use a sink which is NULL (575 bytes, patch)
2009-12-17 09:14 UTC, Peter Kjellerstedt
none Details | Review

Description Peter Kjellerstedt 2009-10-16 14:20:17 UTC
Created attachment 145604 [details] [review]
Fail rather than use a sink which is NULL

In case fpsdisplaysink cannot create an xvimagesink during its initialization,
it will fail later when trying to change state. This causes the generic/states
check test to fail. The attached patch solves the problem. However, as
suggested by Edward Hervey, a better solution would be to move the
initialization to the NULL=>READY state transition.
Comment 1 Stefan Sauer (gstreamer, gtkdoc dev) 2009-10-31 22:57:18 UTC
Thanks! I'll apply the patch soon and also implement the suggestion.
Comment 2 Peter Kjellerstedt 2009-12-14 12:30:59 UTC
Created attachment 149689 [details] [review]
Fail rather than use a sink which is NULL

Updated the patch to match recent development in git.
Comment 3 Peter Kjellerstedt 2009-12-17 09:14:13 UTC
Created attachment 149899 [details] [review]
Fail rather than use a sink which is NULL

Recent changes has fixed most of the problem. One small fix remains to be done though.
Comment 4 Tim-Philipp Müller 2009-12-17 09:42:56 UTC
This fixes the problem, but isn't very nice (IMHO).

For one, if you fail the state change, please use GST_ELEMENT_ERROR() to post an appropriate error message  on the bus.

Secondly, it should be sufficient to do the check in the NULL -> READY state change really. Maybe the autovideosink that's now created in the instance init function should really be created there? Also, we should make sure the caller doesn't try to change the video sink via g_object_set_property() while we're in state > NULL, or something along those lines.
Comment 5 Thiago Sousa Santos 2009-12-17 23:43:44 UTC
I can't see any fpsdisplaysinks on make check here, but my make check is currently full of other errors and I haven't looked why yet. Please reopen if it still isn't fixed for you

Module: gst-plugins-bad
Branch: master
Commit: 87bfdef68379eafefc27b1c413942697f0bac8ee
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=87bfdef68379eafefc27b1c413942697f0bac8ee

Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk>
Date:   Thu Dec 17 11:04:28 2009 -0300

fpsdisplaysink: Internal sink improvements

Does some general improvements with the internal sink handling.
1) Do not remove and re-add the ghostpad when changing
internal sink
2) Only instantiate the default sink when changing from NULL
to READY if there is no other available
3) Avoid changing the internal sink if not on NULL state

Fixes #598682