GNOME Bugzilla – Bug 721100
App Dev Manual: Dynamically Changing the Pipeline example hangs
Last modified: 2014-02-04 20:37:16 UTC
Created attachment 264910 [details] Code from "Dynamically Changing the Pipeline" When running the example included here: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html ... the code always gets stuck with the warning like the following: basetransform gstbasetransform.c:2130:gst_base_transform_handle_buffer:<vertigotv0> could not get buffer from pool: flushing ... after which all processing appears to cease, though the program keeps running. I don't know whether the problem is in the code sample provided with the documentation or whether there's really a bug in gstreamer core. But this seems to be the key example available for reconfiguring a running pipeline, so it's probably important to anyone who's trying to learn how to do this (including me!) I've included the code from the referenced chapter as an attachment.
fwiw, it behaves the same way when compiled against the 1.2 branch.
For what it's worth, there is also a (hopefully working) demo here: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/tests/icles/test-effect-switch.c
Thanks! That works for me, compiled against both master and the 1.2 branch on Linux. On OSX, ximagesink has trouble allocating shared memory, which causes it to bail after the second or third effect switches. I guess that might be a problem with osxvideosink? Or maybe something about my specific setup? Regardless, the example you provided seems like it might be a better selection for the Developer Manual.
Yes, the docs should just include the test-effect-switch example. It's like a newer and better version of what is there now :) Todd, do you want to provide a patch?
Created attachment 265224 [details] [review] Updates "dynamically changing the pipeline" example in manual Here it is. Note that I removed the copyright block as there don't seem to be any others in the manual. If the copyright holder (which happens to be Tim) objects, I'd be happy to provide another patch.
Review of attachment 265224 [details] [review]: ::: docs/manual/advanced-dataaccess.xml @@ +1515,3 @@ g_option_context_free (ctx); + GST_FIXME ("Multiple things to check/fix, see source code"); That's not so nice to have in the documentation :) What is it about? Maybe we should fix that first or remove that GST_FIXME() if there's no problem anymore. Tim, do you know?
Ok, whatever :) The code is definitely better than the old one... cleaned that up a bit now commit b110286e9531131f610ad4d27580051f91eb09d2 Author: Sebastian Dröge <sebastian@centricular.com> Date: Tue Feb 4 21:36:18 2014 +0100 manual: Clean up code a bit to be suitable for the docs commit cb1657fcea1a5e913839ede84aa97a5b917cb391 Author: Todd Agulnick <todd@agulnick.com> Date: Fri Jan 3 07:25:37 2014 -0800 manual: Replace manual's effectswitch.c with newer test-effect-switch.c https://bugzilla.gnome.org/show_bug.cgi?id=721100