How to stream out two pipelines?

Nicolas Dufresne nicolas at ndufresne.ca
Tue Jul 30 12:31:14 UTC 2019


Le mar. 30 juill. 2019 02 h 55, Erickson.LU <ericksonlushan at gmail.com> a
écrit :

> Hi Nicolas,
>     I  want to stream out two pipelines with GStreamer.
> push2nabble.cpp
> <http://gstreamer-devel.966125.n4.nabble.com/file/t378216/push2nabble.cpp>
>
> Here is the code, I created want to create two different GstPipeline. But I
> use
> *gst_init(NULL, NULL);
> loop = g_main_loop_new(NULL, FALSE);*
> twice.
>
> Here is the code I used in Main
>
> *    char pipeline_char0[MAX_PIPELINE_STR_LEN];
>     char pipeline_char1[MAX_PIPELINE_STR_LEN];
>
>     sprintf(pipeline_char0, Tx2_test_3220, Stream_BGR_width,
> Stream_BGR_height, Stream_OUT_width, Stream_OUT_height);
>     sprintf(pipeline_char0, Tx2_test_3221, Stream_BGR_width,
> Stream_BGR_height, Stream_OUT_width, Stream_OUT_height);
>     Gst_handle0 *gst_handle0 = new Gst_handle0(pipeline_char0);
>     Gst_handle1 *gst_handle1 = new Gst_handle1(pipeline_char1);
>     gst_handle0->start_stream();
>     gst_handle1->start_stream();
>     while (active) {
>             gst_handle0->push_out_UYVY(v4l2_cam->fbuffer);
>
>
> gst_handle1->push_out_UYVY(v4l2_cam->fbuffer+Stream_BGR_width*Stream_BGR_height*2*1);
>     }
>
> *
>
> Here is the log from terminal.
>
>   *GStreamer-CRITICAL **: gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)'
> failed
>

These are due to programming error on your end, wrong type or dead object
(no more ref) being used. Best way to locate the problem is to set the
following env:

  export G_DEBUG=fatal_criticals

Then run your program inside gdb, it will abort instead of doing crash
avoidance. Same can be done for warnings, with fatal_warnings.


>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GStreamer-CRITICAL **: gst_element_get_bus: assertion 'GST_IS_ELEMENT
> (element)' failed
>
>   GStreamer-CRITICAL **: gst_bus_add_watch_full: assertion 'GST_IS_BUS
> (bus)' failed
>
>   GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL'
> failed
>
>   GStreamer-CRITICAL **: gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GStreamer-CRITICAL **: gst_element_get_bus: assertion 'GST_IS_ELEMENT
> (element)' failed
>
>   GStreamer-CRITICAL **: gst_bus_add_watch_full: assertion 'GST_IS_BUS
> (bus)' failed
>
>   GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL'
> failed
>
>   GStreamer-CRITICAL **: gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GStreamer-CRITICAL **: gst_element_get_bus: assertion 'GST_IS_ELEMENT
> (element)' failed
>
>   GStreamer-CRITICAL **: gst_bus_add_watch_full: assertion 'GST_IS_BUS
> (bus)' failed
>
>   GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL'
> failed
>
>   GStreamer-CRITICAL **: gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GStreamer-CRITICAL **: gst_element_get_bus: assertion 'GST_IS_ELEMENT
> (element)' failed
>
>   GStreamer-CRITICAL **: gst_bus_add_watch_full: assertion 'GST_IS_BUS
> (bus)' failed
>
>   GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL'
> failed
>
>   GStreamer-CRITICAL **: gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)'
> failed
>
>   GStreamer-CRITICAL **: gst_element_set_state: assertion 'GST_IS_ELEMENT
> (element)' failed
>   Unable to set the pipeline to playing state
> *
>
> Please give me some hints, reason or advice, thanks for that, Nicolas, you
> are the best.
>
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190730/7f0dbb21/attachment.html>


More information about the gstreamer-devel mailing list