i am follow streaming guide.
pipeline = gst_parse_launch ("playbin uri=https://www.w3schools.com/html/movie.mp4", NULL);
gave me this info:
(streaming:27278): GLib-GObject-WARNING **: 15:04:19.414: invalid class cast from (NULL) pointer to 'GObject'
(streaming:27278): GLib-GIO-WARNING **: 15:04:19.414: Tried to register an extension of the type GProxyResolverGnome to extension point gio-proxy-resolver. Expected type is GProxyResolver.
(streaming:27278): GLib-GIO-WARNING **: 15:04:19.417: Tried to register an extension of the type GLibproxyResolver to extension point gio-proxy-resolver. Expected type is GProxyResolver.
(streaming:27278): GLib-GObject-CRITICAL **: 15:04:19.422: g_type_plugin_use: assertion 'G_IS_TYPE_PLUGIN (plugin)' failed
(streaming:27278): GLib-GObject-CRITICAL **: 15:04:19.422: g_type_plugin_complete_type_info: assertion 'G_IS_TYPE_PLUGIN (plugin)' failed
(streaming:27278): GLib-GObject-CRITICAL **: 15:04:19.422: specified class size for type 'GTlsBackendGnutls' is smaller than 'GTypeClass' size
**
GLib-GObject:ERROR:../src/glib-2-322e03f702.clean/gobject/gtype.c:2257:type_class_init_Wm: assertion failed: (node->is_classed && node->data && node->data->class.class_size && !node->data->class.class && g_atomic_int_get (&node->data->class.init_state) == UNINITIALIZED)
Bail out! GLib-GObject:ERROR:../src/glib-2-322e03f702.clean/gobject/gtype.c:2257:type_class_init_Wm: assertion failed: (node->is_classed && node->data && node->data->class.class_size && !node->data->class.class && g_atomic_int_get (&node->data->class.init_state) == UNINITIALIZED)
[1] + Done "/usr/bin/gdb" --interpreter=mi --tty=${DbgTerm} 0<"/tmp/Microsoft-MIEngine-In-qgwt00wz.bm3" 1>"/tmp/Microsoft-MIEngine-Out-qulo5vdt.w5y"
but use command tool works fine.
gst-launch-1.0 -v playbin uri=https://www.w3schools.com/html/movie.mp4
i am behind a proxy, through set GST_DEBUG=5, i found both uridecodebin and souphttpsrc was created. then i set env Manually, i got different info
g_setenv("http_proxy", "127.0.0.1:7890", TRUE);
(streaming:28380): GLib-GObject-WARNING **: 15:24:27.833: invalid class cast from (NULL) pointer to 'GObject'
(streaming:28380): GLib-GObject-CRITICAL **: 15:24:27.839: g_type_plugin_use: assertion 'G_IS_TYPE_PLUGIN (plugin)' failed
(streaming:28380): GLib-GObject-CRITICAL **: 15:24:27.839: g_type_plugin_complete_type_info: assertion 'G_IS_TYPE_PLUGIN (plugin)' failed
(streaming:28380): GLib-GObject-CRITICAL **: 15:24:27.839: specified class size for type 'GTlsBackendGnutls' is smaller than 'GTypeClass' size
**
GLib-GObject:ERROR:../src/glib-2-322e03f702.clean/gobject/gtype.c:2257:type_class_init_Wm: assertion failed: (node->is_classed && node->data && node->data->class.class_size && !node->data->class.class && g_atomic_int_get (&node->data->class.init_state) == UNINITIALIZED)
Bail out! GLib-GObject:ERROR:../src/glib-2-322e03f702.clean/gobject/gtype.c:2257:type_class_init_Wm: assertion failed: (node->is_classed && node->data && node->data->class.class_size && !node->data->class.class && g_atomic_int_get (&node->data->class.init_state) == UNINITIALIZED)
[1] + Done "/usr/bin/gdb" --interpreter=mi --tty=${DbgTerm} 0<"/tmp/Microsoft-MIEngine-In-i4tj5ckp.fwr" 1>"/tmp/Microsoft-MIEngine-Out-li2razlv.c4a"
what make me confused is even i close proxy, it still create souphttpsrc.
can anyone help me, please
here is my code and debug info:
#include <gst/gst.h>
#include <string.h>
typedef struct _CustomData
{
gboolean is_live;
GstElement *pipeline;
GMainLoop *loop;
} CustomData;
static void cb_message(GstBus *bus, GstMessage *msg, CustomData *data)
{
switch (GST_MESSAGE_TYPE(msg))
{
case GST_MESSAGE_ERROR:
{
GError *err;
gchar *debug;
gst_message_parse_error(msg, &err, &debug);
g_print("Error: %s\n", err->message);
g_error_free(err);
g_free(debug);
gst_element_set_state(data->pipeline, GST_STATE_READY);
g_main_loop_quit(data->loop);
break;
}
case GST_MESSAGE_EOS:
/* end-of-stream */
gst_element_set_state(data->pipeline, GST_STATE_READY);
g_main_loop_quit(data->loop);
break;
case GST_MESSAGE_BUFFERING:
{
gint percent = 0;
/* If the stream is live, we do not care about buffering. */
if (data->is_live)
break;
gst_message_parse_buffering(msg, &percent);
g_print("Buffering (%3d%%)\r", percent);
/* Wait until buffering is complete before start/resume playing */
if (percent < 100)
gst_element_set_state(data->pipeline, GST_STATE_PAUSED);
else
gst_element_set_state(data->pipeline, GST_STATE_PLAYING);
break;
}
case GST_MESSAGE_CLOCK_LOST:
/* Get a new clock */
gst_element_set_state(data->pipeline, GST_STATE_PAUSED);
gst_element_set_state(data->pipeline, GST_STATE_PLAYING);
break;
default:
/* Unhandled message */
break;
}
}
int main(int argc, char *argv[])
{
g_setenv("http_proxy", "http://127.0.0.1:7890", TRUE);
// g_setenv("https_proxy", "http://127.0.0.1:7890", TRUE);
g_setenv("GST_DEBUG", "5", TRUE);
GstElement *pipeline;
GstBus *bus;
GstStateChangeReturn ret;
GMainLoop *main_loop;
CustomData data;
/* Initialize GStreamer */
gst_init(&argc, &argv);
/* Initialize our data structure */
memset(&data, 0, sizeof(data));
//
GstElement *src = gst_element_factory_make("souphttpsrc", "souphttpsrc");
g_object_set (src, "location", "https://www.w3schools.com/html/movie.mp4", NULL);
GstElement *decodebin = gst_element_factory_make("decodebin", "decodebin");
GstElement *autovideosink = gst_element_factory_make("autovideosink", "autovideosink");
pipeline = gst_pipeline_new("test-pipeline");
if (!pipeline || !src || !decodebin || !autovideosink)
{
g_printerr("Not all elements could be created.\n");
return -1;
}
/* Build the pipeline */
gst_bin_add_many(GST_BIN(pipeline), src, decodebin, autovideosink, NULL);
if (!gst_element_link_many(src, decodebin, autovideosink, NULL))
{
g_printerr("Elements could not be linked.\n");
gst_object_unref(pipeline);
return -1;
}
//
/* Build the pipeline */
// pipeline = gst_parse_launch("playbin uri=https://www.w3schools.com/html/movie.mp4", NULL);
bus = gst_element_get_bus(pipeline);
/* Start playing */
ret = gst_element_set_state(pipeline, GST_STATE_PLAYING);
if (ret == GST_STATE_CHANGE_FAILURE)
{
g_printerr("Unable to set the pipeline to the playing state.\n");
gst_object_unref(pipeline);
return -1;
}
else if (ret == GST_STATE_CHANGE_NO_PREROLL)
{
data.is_live = TRUE;
}
main_loop = g_main_loop_new(NULL, FALSE);
data.loop = main_loop;
data.pipeline = pipeline;
gst_bus_add_signal_watch(bus);
g_signal_connect(bus, "message", G_CALLBACK(cb_message), &data);
g_main_loop_run(main_loop);
/* Free resources */
g_main_loop_unref(main_loop);
gst_object_unref(bus);
gst_element_set_state(pipeline, GST_STATE_NULL);
gst_object_unref(pipeline);
return 0;
}
0:00:00.485783587 11038 0x5555557960a0 DEBUG GST_BUS gstbus.c:377:gst_bus_post:<bus2> [msg 0x555555a3ceb0] dropped
0:00:00.485786631 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstutils.c:1948:gst_element_link_pads_full: linked pad souphttpsrc:src to pad decodebin:sink
0:00:00.485789313 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstutils.c:1816:gst_element_link_pads_full: trying to link element decodebin:(any) to element autovideosink:(any)
0:00:00.485791130 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstutils.c:1925:gst_element_link_pads_full: looping through allowed src and dest pads
0:00:00.485793199 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstutils.c:1928:gst_element_link_pads_full: trying src pad decodebin:sink
0:00:00.485795284 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstutils.c:1991:gst_element_link_pads_full: trying dest pad autovideosink:sink
0:00:00.485797466 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstutils.c:1148:gst_element_get_compatible_pad: finding pad in decodebin compatible with autovideosink:sink
0:00:00.485799793 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstutils.c:1244:gst_element_get_compatible_pad:<decodebin> Could not find a compatible unlinked always pad to link to autovideosink:sink, now checking request pads
0:00:00.485802034 11038 0x5555557960a0 DEBUG GST_CAPS gstutils.c:3108:gst_pad_query_caps:<autovideosink:sink> get pad caps with filter (NULL)
0:00:00.485804296 11038 0x5555557960a0 DEBUG query gstquery.c:679:gst_query_new_custom: creating new query 0x555555a4c170 caps
0:00:00.485806378 11038 0x5555557960a0 DEBUG GST_PADS gstpad.c:4183:gst_pad_query:<autovideosink:sink> doing query 0x555555a4c170 (caps)
0:00:00.485808781 11038 0x5555557960a0 DEBUG GST_CAPS gstpad.c:3264:gst_pad_query_caps_default:<autovideosink:sink> query caps caps query: 0x555555a4c170, GstQueryCaps, filter=(GstCaps)"NULL", caps=(GstCaps)"NULL";
0:00:00.485810983 11038 0x5555557960a0 DEBUG GST_PADS gstutils.c:2853:gst_pad_proxy_query_caps:<autovideosink:sink> proxying caps query for autovideosink:sink
0:00:00.485813364 11038 0x5555557960a0 DEBUG GST_PADS gstpad.c:4310:gst_pad_peer_query:<sink:proxypad1> peer query 0x555555a4c170 (caps)
0:00:00.485815480 11038 0x5555557960a0 DEBUG GST_PADS gstpad.c:4183:gst_pad_query:<fake-video-sink:sink> doing query 0x555555a4c170 (caps)
0:00:00.485818192 11038 0x5555557960a0 DEBUG GST_PADS gstpad.c:4206:gst_pad_query:<fake-video-sink:sink> sent query 0x555555a4c170 (caps), result 1
0:00:00.485820257 11038 0x5555557960a0 DEBUG default gstutils.c:2816:query_caps_func:<sink:proxypad1> intersect with result ANY
0:00:00.485822205 11038 0x5555557960a0 DEBUG default gstutils.c:2818:query_caps_func:<sink:proxypad1> intersected ANY
0:00:00.485824653 11038 0x5555557960a0 DEBUG GST_PADS gstpad.c:3519:gst_pad_query_default:<autovideosink:sink> not forwarding 0x555555a4c170 (caps) query
0:00:00.485826723 11038 0x5555557960a0 DEBUG GST_PADS gstpad.c:4206:gst_pad_query:<autovideosink:sink> sent query 0x555555a4c170 (caps), result 1
0:00:00.485828669 11038 0x5555557960a0 DEBUG GST_CAPS gstutils.c:3115:gst_pad_query_caps:<autovideosink:sink> query returned ANY
0:00:00.485833206 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstutils.c:943:gst_element_get_compatible_pad_template: Looking for a suitable pad template in decodebin out of 2 templates...
0:00:00.485835472 11038 0x5555557960a0 DEBUG GST_CAPS gstutils.c:958:gst_element_get_compatible_pad_template: compatible direction: found src pad template "src_%u"
0:00:00.485837259 11038 0x5555557960a0 DEBUG GST_CAPS gstutils.c:963:gst_element_get_compatible_pad_template: intersecting ANY
0:00:00.485839098 11038 0x5555557960a0 DEBUG GST_CAPS gstutils.c:965:gst_element_get_compatible_pad_template: ..and ANY
0:00:00.485840949 11038 0x5555557960a0 DEBUG GST_CAPS gstutils.c:971:gst_element_get_compatible_pad_template: caps are compatible
0:00:00.485842796 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstutils.c:983:gst_element_get_compatible_pad_template: Returning new pad template 0x555555a3c870
0:00:00.485845016 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstelement.c:1013:gst_element_get_static_pad: no such pad 'src_%u' in element "decodebin"
0:00:00.485848826 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstutils.c:1270:gst_element_get_compatible_pad:<decodebin> Could not find a compatible pad to link to autovideosink:sink
0:00:00.485850824 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstutils.c:2043:gst_element_link_pads_full: we might have request pads on both sides, checking...
0:00:00.485852884 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstutils.c:2097:gst_element_link_pads_full: no link possible from decodebin to autovideosink
Elements could not be linked.
0:00:00.485861419 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstpipeline.c:258:gst_pipeline_dispose:<test-pipeline> 0x555555a4b9c0 dispose
0:00:00.485863549 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstbin.c:517:gst_bin_dispose:<test-pipeline> 0x555555a4b9c0 dispose
0:00:00.485865992 11038 0x5555557960a0 DEBUG GST_PARENTAGE gstbin.c:1864:gst_bin_remove: removing element autovideosink from bin test-pipeline
0:00:00.485867896 11038 0x5555557960a0 DEBUG bin gstbin.c:1563:gst_bin_remove_func:<test-pipeline> element :autovideosink
0:00:00.485869908 11038 0x5555557960a0 DEBUG bin gstbin.c:1644:gst_bin_remove_func:<test-pipeline> we removed the last sink
0:00:00.485872357 11038 0x5555557960a0 DEBUG bin gstbin.c:1762:gst_bin_remove_func:<test-pipeline> recalc state preroll: 0, other async: 0, this async 0
0:00:00.485874286 11038 0x5555557960a0 DEBUG GST_PARENTAGE gstelement.c:3488:gst_element_set_bus_func:<autovideosink> setting bus to (nil)
0:00:00.485876233 11038 0x5555557960a0 DEBUG GST_CLOCK gstelement.c:443:gst_element_set_clock:<autovideosink> setting clock (nil)
0:00:00.485878294 11038 0x5555557960a0 DEBUG GST_CLOCK gstelement.c:443:gst_element_set_clock:<fake-video-sink> setting clock (nil)
0:00:00.485880203 11038 0x5555557960a0 DEBUG bin gstbin.c:723:gst_bin_set_clock_func:<autovideosink> iterator done
0:00:00.485882126 11038 0x5555557960a0 DEBUG bin gstbin.c:1790:gst_bin_remove_func:<test-pipeline> Removing sink that had not EOSed. Re-checking overall EOS status
0:00:00.485884353 11038 0x5555557960a0 INFO GST_PARENTAGE gstbin.c:1805:gst_bin_remove_func:<test-pipeline> removed child "autovideosink"
0:00:00.485888424 11038 0x5555557960a0 DEBUG GST_STATES gstelement.c:2967:gst_element_set_state_func:<fake-video-sink> set_state to NULL
0:00:00.485891471 11038 0x5555557960a0 DEBUG GST_STATES gstelement.c:3001:gst_element_set_state_func:<fake-video-sink> current NULL, old_pending VOID_PENDING, next VOID_PENDING, old return SUCCESS
0:00:00.485893855 11038 0x5555557960a0 DEBUG GST_STATES gstelement.c:3037:gst_element_set_state_func:<fake-video-sink> final: setting state from NULL to NULL
0:00:00.485896320 11038 0x5555557960a0 DEBUG GST_STATES gstelement.c:3355:gst_element_change_state_func:<fake-video-sink> element is already in the NULL state
0:00:00.485898254 11038 0x5555557960a0 DEBUG GST_STATES gstelement.c:3128:gst_element_change_state:<fake-video-sink> element changed state SUCCESS
0:00:00.485900238 11038 0x5555557960a0 INFO GST_STATES gstelement.c:2816:gst_element_continue_state:<fake-video-sink> completed state change to NULL
0:00:00.485902249 11038 0x5555557960a0 DEBUG GST_STATES gstelement.c:3051:gst_element_set_state_func:<fake-video-sink> returned SUCCESS
0:00:00.485904416 11038 0x5555557960a0 DEBUG GST_PARENTAGE gstbin.c:1864:gst_bin_remove: removing element fake-video-sink from bin autovideosink
0:00:00.485906317 11038 0x5555557960a0 DEBUG bin gstbin.c:1563:gst_bin_remove_func:<autovideosink> element :fake-video-sink
0:00:00.485908629 11038 0x5555557960a0 DEBUG bin gstbin.c:1762:gst_bin_remove_func:<autovideosink> recalc state preroll: 0, other async: 0, this async 0
0:00:00.485910574 11038 0x5555557960a0 DEBUG GST_PARENTAGE gstelement.c:3488:gst_element_set_bus_func:<fake-video-sink> setting bus to (nil)
0:00:00.485912405 11038 0x5555557960a0 DEBUG GST_CLOCK gstelement.c:443:gst_element_set_clock:<fake-video-sink> setting clock (nil)
0:00:00.485914162 11038 0x5555557960a0 DEBUG bin gstbin.c:1790:gst_bin_remove_func:<autovideosink> Removing sink that had not EOSed. Re-checking overall EOS status
0:00:00.485917347 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstpad.c:2142:gst_pad_unlink: unlinking sink:proxypad1(0x555555a490c0) and fake-video-sink:sink(0x555555a4b420)
0:00:00.485920324 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstpad.c:2197:gst_pad_unlink: unlinked sink:proxypad1 and fake-video-sink:sink
0:00:00.485922362 11038 0x5555557960a0 INFO GST_PARENTAGE gstbin.c:1805:gst_bin_remove_func:<autovideosink> removed child "fake-video-sink"
0:00:00.485924916 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3392:gst_element_dispose:<fake-video-sink> 0x555555a4b120 dispose
0:00:00.485927002 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstelement.c:3420:gst_element_dispose:<fake-video-sink> removing pad fake-video-sink:sink
0:00:00.485928944 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstelement.c:875:gst_element_remove_pad:<fake-video-sink> removing pad 'sink'
0:00:00.485931700 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstpad.c:712:gst_pad_dispose:<'':sink> 0x555555a4b420 dispose
0:00:00.485936280 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3438:gst_element_dispose:<fake-video-sink> 0x555555a4b120 parent class dispose
0:00:00.485938431 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3470:gst_element_finalize:<fake-video-sink> 0x555555a4b120 finalize
0:00:00.485940477 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3475:gst_element_finalize:<fake-video-sink> 0x555555a4b120 finalize parent
0:00:00.485942565 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstbin.c:517:gst_bin_dispose:<autovideosink> 0x555555a485e0 dispose
0:00:00.485945065 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3392:gst_element_dispose:<autovideosink> 0x555555a485e0 dispose
0:00:00.485947060 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstelement.c:3420:gst_element_dispose:<autovideosink> removing pad autovideosink:sink
0:00:00.485948862 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstelement.c:875:gst_element_remove_pad:<autovideosink> removing pad 'sink'
0:00:00.485950739 11038 0x5555557960a0 DEBUG GST_PADS gstghostpad.c:823:gst_ghost_pad_set_target:<autovideosink:sink> clearing target
0:00:00.485953093 11038 0x5555557960a0 DEBUG GST_PADS gstghostpad.c:475:gst_ghost_pad_dispose:<'':sink> dispose
0:00:00.485954899 11038 0x5555557960a0 DEBUG GST_PADS gstghostpad.c:823:gst_ghost_pad_set_target:<'':sink> clearing target
0:00:00.485957006 11038 0x5555557960a0 DEBUG GST_PADS gstpad.c:1776:gst_pad_set_activatemode_function_full:<sink:proxypad1> activatemodefunc set to (NULL)
0:00:00.485959062 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstpad.c:712:gst_pad_dispose:<'':proxypad1> 0x555555a490c0 dispose
0:00:00.485961425 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstpad.c:712:gst_pad_dispose:<'':sink> 0x555555a48a50 dispose
0:00:00.485963566 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3438:gst_element_dispose:<autovideosink> 0x555555a485e0 parent class dispose
0:00:00.485965567 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3470:gst_element_finalize:<autovideosink> 0x555555a485e0 finalize
0:00:00.485967364 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3475:gst_element_finalize:<autovideosink> 0x555555a485e0 finalize parent
0:00:00.485969689 11038 0x5555557960a0 DEBUG GST_PARENTAGE gstbin.c:1864:gst_bin_remove: removing element decodebin from bin test-pipeline
0:00:00.485971510 11038 0x5555557960a0 DEBUG bin gstbin.c:1563:gst_bin_remove_func:<test-pipeline> element :decodebin
0:00:00.485973753 11038 0x5555557960a0 DEBUG bin gstbin.c:1762:gst_bin_remove_func:<test-pipeline> recalc state preroll: 0, other async: 0, this async 0
0:00:00.485975598 11038 0x5555557960a0 DEBUG GST_PARENTAGE gstelement.c:3488:gst_element_set_bus_func:<decodebin> setting bus to (nil)
0:00:00.485977436 11038 0x5555557960a0 DEBUG GST_CLOCK gstelement.c:443:gst_element_set_clock:<decodebin> setting clock (nil)
0:00:00.485979372 11038 0x5555557960a0 DEBUG GST_CLOCK gstelement.c:443:gst_element_set_clock:<typefind> setting clock (nil)
0:00:00.485981162 11038 0x5555557960a0 DEBUG bin gstbin.c:723:gst_bin_set_clock_func:<decodebin> iterator done
0:00:00.485984178 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstpad.c:2142:gst_pad_unlink: unlinking souphttpsrc:src(0x555555a36af0) and decodebin:sink(0x555555a454e0)
0:00:00.485989003 11038 0x5555557960a0 DEBUG GST_BUS gstbus.c:338:gst_bus_post:<bus2> [msg 0x555555a3ceb0] posting on bus structure-change message: 0x555555a3ceb0, time 99:99:99.999999999, seq-num 6, element 'sink', GstMessageStructureChange, type=(GstStructureChangeType)unlink, owner=(GstElement)"\(GstSoupHTTPSrc\)\ souphttpsrc", busy=(boolean)true;
0:00:00.485991855 11038 0x5555557960a0 DEBUG bin gstbin.c:3694:gst_bin_handle_message_func:<test-pipeline> [msg 0x555555a3ceb0] handling child sink message of type structure-change
0:00:00.485994000 11038 0x5555557960a0 DEBUG bin gstbin.c:882:find_message:<test-pipeline> no message found matching types 00001000
0:00:00.485995852 11038 0x5555557960a0 DEBUG bin gstbin.c:889:find_message:<test-pipeline> structure-change
0:00:00.485998047 11038 0x5555557960a0 DEBUG bin gstbin.c:928:bin_replace_message:<test-pipeline> got new message 0x555555a3ceb0, structure-change from sink
0:00:00.486000087 11038 0x5555557960a0 DEBUG GST_BUS gstbus.c:377:gst_bus_post:<bus2> [msg 0x555555a3ceb0] dropped
0:00:00.486002542 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstpad.c:2197:gst_pad_unlink: unlinked souphttpsrc:src and decodebin:sink
0:00:00.486006477 11038 0x5555557960a0 DEBUG GST_BUS gstbus.c:338:gst_bus_post:<bus2> [msg 0x555555a45bc0] posting on bus structure-change message: 0x555555a45bc0, time 99:99:99.999999999, seq-num 7, element 'sink', GstMessageStructureChange, type=(GstStructureChangeType)unlink, owner=(GstElement)"\(GstSoupHTTPSrc\)\ souphttpsrc", busy=(boolean)false;
0:00:00.486008977 11038 0x5555557960a0 DEBUG bin gstbin.c:3694:gst_bin_handle_message_func:<test-pipeline> [msg 0x555555a45bc0] handling child sink message of type structure-change
0:00:00.486011481 11038 0x5555557960a0 DEBUG bin gstbin.c:956:bin_remove_messages:<decodebin:sink> deleting message 0x555555a3ceb0 of type structure-change (types 0x00001000)
0:00:00.486013739 11038 0x5555557960a0 DEBUG GST_BUS gstbus.c:377:gst_bus_post:<bus2> [msg 0x555555a45bc0] dropped
0:00:00.486015710 11038 0x5555557960a0 INFO GST_PARENTAGE gstbin.c:1805:gst_bin_remove_func:<test-pipeline> removed child "decodebin"
0:00:00.486018993 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstbin.c:517:gst_bin_dispose:<decodebin> 0x555555a3d2c0 dispose
0:00:00.486021082 11038 0x5555557960a0 DEBUG GST_PARENTAGE gstbin.c:1864:gst_bin_remove: removing element typefind from bin decodebin
0:00:00.486023040 11038 0x5555557960a0 DEBUG bin gstbin.c:1563:gst_bin_remove_func:<decodebin> element :typefind
0:00:00.486025326 11038 0x5555557960a0 DEBUG bin gstbin.c:1762:gst_bin_remove_func:<decodebin> recalc state preroll: 0, other async: 0, this async 0
0:00:00.486027104 11038 0x5555557960a0 DEBUG GST_PARENTAGE gstelement.c:3488:gst_element_set_bus_func:<typefind> setting bus to (nil)
0:00:00.486029385 11038 0x5555557960a0 DEBUG GST_CLOCK gstelement.c:443:gst_element_set_clock:<typefind> setting clock (nil)
0:00:00.486032046 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstpad.c:2142:gst_pad_unlink: unlinking sink:proxypad0(0x555555a459a0) and typefind:sink(0x555555a436f0)
0:00:00.486034467 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstpad.c:2197:gst_pad_unlink: unlinked sink:proxypad0 and typefind:sink
0:00:00.486036607 11038 0x5555557960a0 INFO GST_PARENTAGE gstbin.c:1805:gst_bin_remove_func:<decodebin> removed child "typefind"
0:00:00.486040003 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3392:gst_element_dispose:<typefind> 0x555555a434c0 dispose
0:00:00.486042067 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstelement.c:3420:gst_element_dispose:<typefind> removing pad typefind:sink
0:00:00.486043892 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstelement.c:875:gst_element_remove_pad:<typefind> removing pad 'sink'
0:00:00.486045968 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstpad.c:712:gst_pad_dispose:<'':sink> 0x555555a436f0 dispose
0:00:00.486048737 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstelement.c:3420:gst_element_dispose:<typefind> removing pad typefind:src
0:00:00.486050538 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstelement.c:875:gst_element_remove_pad:<typefind> removing pad 'src'
0:00:00.486052608 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstpad.c:712:gst_pad_dispose:<'':src> 0x555555a43c00 dispose
0:00:00.486054994 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3438:gst_element_dispose:<typefind> 0x555555a434c0 parent class dispose
0:00:00.486056924 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3470:gst_element_finalize:<typefind> 0x555555a434c0 finalize
0:00:00.486058737 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3475:gst_element_finalize:<typefind> 0x555555a434c0 finalize parent
0:00:00.486060590 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3392:gst_element_dispose:<decodebin> 0x555555a3d2c0 dispose
0:00:00.486062469 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstelement.c:3420:gst_element_dispose:<decodebin> removing pad decodebin:sink
0:00:00.486064279 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstelement.c:875:gst_element_remove_pad:<decodebin> removing pad 'sink'
0:00:00.486066066 11038 0x5555557960a0 DEBUG GST_PADS gstghostpad.c:823:gst_ghost_pad_set_target:<decodebin:sink> clearing target
0:00:00.486067990 11038 0x5555557960a0 DEBUG GST_PADS gstghostpad.c:475:gst_ghost_pad_dispose:<'':sink> dispose
0:00:00.486069699 11038 0x5555557960a0 DEBUG GST_PADS gstghostpad.c:823:gst_ghost_pad_set_target:<'':sink> clearing target
0:00:00.486071727 11038 0x5555557960a0 DEBUG GST_PADS gstpad.c:1776:gst_pad_set_activatemode_function_full:<sink:proxypad0> activatemodefunc set to (NULL)
0:00:00.486073658 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstpad.c:712:gst_pad_dispose:<'':proxypad0> 0x555555a459a0 dispose
0:00:00.486075987 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstpad.c:712:gst_pad_dispose:<'':sink> 0x555555a454e0 dispose
0:00:00.486078452 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3438:gst_element_dispose:<decodebin> 0x555555a3d2c0 parent class dispose
0:00:00.486080653 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3470:gst_element_finalize:<decodebin> 0x555555a3d2c0 finalize
0:00:00.486082418 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3475:gst_element_finalize:<decodebin> 0x555555a3d2c0 finalize parent
0:00:00.486084670 11038 0x5555557960a0 DEBUG GST_PARENTAGE gstbin.c:1864:gst_bin_remove: removing element souphttpsrc from bin test-pipeline
0:00:00.486086476 11038 0x5555557960a0 DEBUG bin gstbin.c:1563:gst_bin_remove_func:<test-pipeline> element :souphttpsrc
0:00:00.486088171 11038 0x5555557960a0 DEBUG bin gstbin.c:1650:gst_bin_remove_func:<test-pipeline> we removed the last source
0:00:00.486090177 11038 0x5555557960a0 DEBUG bin gstbin.c:1762:gst_bin_remove_func:<test-pipeline> recalc state preroll: 0, other async: 0, this async 0
0:00:00.486091912 11038 0x5555557960a0 DEBUG GST_PARENTAGE gstelement.c:3488:gst_element_set_bus_func:<souphttpsrc> setting bus to (nil)
0:00:00.486094060 11038 0x5555557960a0 DEBUG GST_CLOCK gstelement.c:443:gst_element_set_clock:<souphttpsrc> setting clock (nil)
0:00:00.486096013 11038 0x5555557960a0 INFO GST_PARENTAGE gstbin.c:1805:gst_bin_remove_func:<test-pipeline> removed child "souphttpsrc"
0:00:00.486098327 11038 0x5555557960a0 DEBUG souphttpsrc gstsouphttpsrc.c:603:gst_soup_http_src_dispose:<souphttpsrc> dispose
0:00:00.486100334 11038 0x5555557960a0 DEBUG souphttpsrc gstsouphttpsrc.c:1246:gst_soup_http_src_session_close:<souphttpsrc> Closing session
0:00:00.486102184 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3392:gst_element_dispose:<souphttpsrc> 0x555555a36690 dispose
0:00:00.486104129 11038 0x5555557960a0 DEBUG GST_ELEMENT_PADS gstelement.c:3420:gst_element_dispose:<souphttpsrc> removing pad souphttpsrc:src
0:00:00.486105912 11038 0x5555557960a0 INFO GST_ELEMENT_PADS gstelement.c:875:gst_element_remove_pad:<souphttpsrc> removing pad 'src'
0:00:00.486107898 11038 0x5555557960a0 DEBUG GST_REFCOUNTING gstpad.c:712:gst_pad_dispose:<'':src> 0x555555a36af0 dispose
0:00:00.486110041 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3438:gst_element_dispose:<souphttpsrc> 0x555555a36690 parent class dispose
0:00:00.486111859 11038 0x5555557960a0 DEBUG souphttpsrc gstsouphttpsrc.c:617:gst_soup_http_src_finalize:<souphttpsrc> finalize
0:00:00.486116427 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3470:gst_element_finalize:<souphttpsrc> 0x555555a36690 finalize
0:00:00.486118233 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3475:gst_element_finalize:<souphttpsrc> 0x555555a36690 finalize parent
0:00:00.486120308 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3392:gst_element_dispose:<test-pipeline> 0x555555a4b9c0 dispose
0:00:00.486122350 11038 0x5555557960a0 DEBUG GST_POLL gstpoll.c:772:gst_poll_free: 0x555555a48f70: freeing
0:00:00.486129051 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3438:gst_element_dispose:<test-pipeline> 0x555555a4b9c0 parent class dispose
0:00:00.486131083 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3470:gst_element_finalize:<test-pipeline> 0x555555a4b9c0 finalize
0:00:00.486132848 11038 0x5555557960a0 INFO GST_REFCOUNTING gstelement.c:3475:gst_element_finalize:<test-pipeline> 0x555555a4b9c0 finalize parent