jam at tigger.ws
Mon Mar 29 22:57:35 UTC 2021
> On 29 Mar 2021, at 10:50 pm, gotsring <gotsring at live.com> wrote:
> gst-launch is good for testing pipelines, but it lacks the ability to do any
> monitoring, live changes, error-handling, etc. Building pipelines in code
> takes getting used to, but it allows much more flexibility and robustness.
> For basic pipelines, you can use gst_parse_launch to run a pipeline similar
> to how you would use gst-launch
> For example, a simple pipeline with a tee can be started from the shell
> gst-launch-1.0 videotestsrc ! tee name=t \
> t. ! queue ! videoconvert ! autovideosink \
> t. ! queue ! videoconvert ! autovideosink
> or in C code using gst_parse_launch:
> GError* err = NULL;
> GstElement* pipeline = gst_parse_launch(
> "videotestsrc ! tee name=t "
> "t. ! queue ! videoconvert ! autovideosink "
> "t. ! queue ! videoconvert ! autovideosink"
> , &err);
> gst_element_set_state(pipeline, GST_STATE_PLAYING); // Play it
> You can swap out my test pipeline for whatever you want.
> Not quite sure what you're trying to do in terms of a GUI, but maybe use
> GTK? Check out basic tutorial 5:
I put my exact working command into the gst-parse-launch where it failed with core dump I think. I've done so much wading around in the basic_tutorial 7 and 8 I don't remember exactly.
What I've done is to explicitly link the tee pads. Now I'm just trying to track down 2 gstreamer-CRITICAL errors before a core dump.
I find the whole toolkit rather nice, just oh so complex and I see my original question of how do I code this pipeline is extremely non-trivial
More information about the gstreamer-devel