Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gstreamer
gstreamer
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 409
    • Issues 409
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 84
    • Merge Requests 84
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gstreamergstreamer
  • Issues
  • #295

Closed
Open
Opened May 23, 2018 by Bugzilla Migration User@bugzilla-migration

Pipeline with single named bin inside is incorrectly created

Submitted by Daniel F

Link to original bug (#796351)

Description

I tried to create pipeline which contained rtpbin with assigned name. Pipeline was created successfully, but I was not able to get bin from pipeline - gst_bin_get_by_name() returned NULL.

Example code:

#include <gst/gst.h>

int main(int argc, char* argv[])
{
GOptionContext* context = g_option_context_new("");
g_option_context_add_group(context, gst_init_get_option_group());
g_option_context_parse(context, &argc, &argv, NULL);
GMainLoop* loop = g_main_loop_new(NULL, FALSE);
const char* p = "rtpbin name=bin";
//GstElement* pipe = gst_parse_launch(p, NULL);
GstElement* pipe = gst_parse_launch_full(p, NULL, GST_PARSE_FLAG_NONE, NULL);
GstElement* bin = gst_bin_get_by_name(GST_BIN(pipe), "bin");
g_assert_nonnull(bin);
//gst_element_set_state(GST_ELEMENT(pipe), GST_STATE_PLAYING);
g_main_loop_run(loop);
return 0;
}

Logs:

GST_DEBUG="*:4" ./test2

0:00:00.000197464 27515 0x1586800 INFO GST_INIT gst.c:586:init_pre: Initializing GStreamer Core Library version 1.14.0
0:00:00.000448052 27515 0x1586800 INFO GST_INIT gst.c:587:init_pre: Using library installed in /home/daniel/cerbero/build/dist/linux_x86_64/lib
0:00:00.000480487 27515 0x1586800 INFO GST_INIT gst.c:607:init_pre: Linux daniel.localdomain 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64
0:00:00.001184472 27515 0x1586800 INFO GST_INIT gstmessage.c:127:_priv_gst_message_initialize: init messages
0:00:00.002469879 27515 0x1586800 INFO GST_INIT gstcontext.c:84:_priv_gst_context_initialize: init contexts
0:00:00.002989245 27515 0x1586800 INFO GST_PLUGIN_LOADING gstplugin.c:317:_priv_gst_plugin_initialize: registering 0 static plugins
0:00:00.003220841 27515 0x1586800 INFO GST_PLUGIN_LOADING gstplugin.c:225:gst_plugin_register_static: registered static plugin "staticelements"
0:00:00.003287932 27515 0x1586800 INFO GST_PLUGIN_LOADING gstplugin.c:227:gst_plugin_register_static: added static plugin "staticelements", result: 1
0:00:00.003405086 27515 0x1586800 INFO GST_REGISTRY gstregistry.c:1727:ensure_current_registry: reading registry cache: /root/.cache/gstreamer-1.0/registry.x86_64.bin
0:00:00.045722933 27515 0x1586800 INFO GST_REGISTRY gstregistrybinary.c:621:priv_gst_registry_binary_read_cache: loaded /root/.cache/gstreamer-1.0/registry.x86_64.bin in 0.042258 seconds
0:00:00.045827509 27515 0x1586800 INFO GST_REGISTRY gstregistry.c:1583:scan_and_update_registry: Validating plugins from registry cache: /root/.cache/gstreamer-1.0/registry.x86_64.bin
0:00:00.048939530 27515 0x1586800 INFO GST_REGISTRY gstregistry.c:1685:scan_and_update_registry: Registry cache has not changed
0:00:00.048952699 27515 0x1586800 INFO GST_REGISTRY gstregistry.c:1762:ensure_current_registry: registry reading and updating done, result = 1
0:00:00.048964067 27515 0x1586800 INFO GST_INIT gst.c:807:init_post: GLib runtime version: 2.54.3
0:00:00.048973419 27515 0x1586800 INFO GST_INIT gst.c:809:init_post: GLib headers version: 2.54.3
0:00:00.048984738 27515 0x1586800 INFO GST_INIT gst.c:810:init_post: initialized GStreamer successfully
0:00:00.049035232 27515 0x1586800 INFO GST_PIPELINE gstparse.c:337:gst_parse_launch_full: parsing pipeline description 'rtpbin name=bin'
0:00:00.050520790 27515 0x1586800 INFO GST_PLUGIN_LOADING gstplugin.c:901:_priv_gst_plugin_load_file_for_registry: plugin "/home/daniel/cerbero/build/dist/linux_x86_64/lib/gstreamer-1.0/libgstrtpmanager.so" loaded
0:00:00.050544098 27515 0x1586800 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "rtpbin"
0:00:00.050944770 27515 0x1586800 INFO GST_PARENTAGE gstbin.c:4466:gst_bin_get_by_name: [bin]: looking up child element bin
**
ERROR:test2.c:13:main: 'bin' should not be NULL
Aborted (core dumped)

Version: 1.14.0

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: gstreamer/gstreamer#295