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
  • #404

Closed
Open
Opened Jun 11, 2019 by zhiqiangxu@zhiqiangxu

Hello world tuto not work (no window opened) on macOS High Sierra

$ cat /tmp/tuto.c
#include <gst/gst.h>

int
main (int argc, char *argv[])
{
  GstElement *pipeline;
  GstBus *bus;
  GstMessage *msg;

  /* Initialize GStreamer */
  gst_init (&argc, &argv);

  /* Build the pipeline */
  pipeline =
      gst_parse_launch
      ("playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm",
      NULL);

  /* Start playing */
  gst_element_set_state (pipeline, GST_STATE_PLAYING);

  /* Wait until error or EOS */
  bus = gst_element_get_bus (pipeline);
  msg =
      gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
      GST_MESSAGE_ERROR | GST_MESSAGE_EOS);

  /* Free resources */
  if (msg != NULL)
    gst_message_unref (msg);
  gst_object_unref (bus);
  gst_element_set_state (pipeline, GST_STATE_NULL);
  gst_object_unref (pipeline);
  return 0;
}

$ gcc -framework GStreamer -I/Library/Frameworks/GStreamer.framework/Headers /tmp/tuto.c -o gst
$ ./gst

It runs ok without a window opened(stays running for the length of the media without showing anything).

The windows opens with no problem if I run the pipeline with /Library/Frameworks/GStreamer.framework/Commands/gst-launch-1.0:

/Library/Frameworks/GStreamer.framework/Commands/gst-launch-1.0 playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm

I installed https://gstreamer.freedesktop.org/data/pkg/osx/1.16.0/gstreamer-1.0-1.16.0-x86_64.pkg and https://gstreamer.freedesktop.org/data/pkg/osx/1.16.0/gstreamer-1.0-devel-1.16.0-x86_64.pkg.

A few strange observations:

$ otool -L ./gst 
./gst:
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer (compatibility version 0.0.0, current version 0.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
$ otool -L /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer
/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer:
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer (compatibility version 0.0.0, current version 0.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstcontroller-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstnet-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstallocators-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstapp-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstfft-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstpbutils-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstaudio-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstriff-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstrtp-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstrtsp-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgio-2.0.0.dylib (compatibility version 5601.0.0, current version 5601.1.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstsdp-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgsttag-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstgl-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstbadaudio-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstcodecparsers-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstinsertbin-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstmpegts-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstplayer-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstvideo-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstbase-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstreamer-1.0.0.dylib (compatibility version 1591.0.0, current version 1591.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgobject-2.0.0.dylib (compatibility version 5601.0.0, current version 5601.1.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libglib-2.0.0.dylib (compatibility version 5601.0.0, current version 5601.1.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.5.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.200.5)

$ otool -L /Library/Frameworks/GStreamer.framework/Commands/gst-launch-1.0 
/Library/Frameworks/GStreamer.framework/Commands/gst-launch-1.0:
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstreamer-1.0.0.dylib (compatibility version 1601.0.0, current version 1601.0.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libglib-2.0.0.dylib (compatibility version 5601.0.0, current version 5601.1.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.5.0)
	/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgobject-2.0.0.dylib (compatibility version 5601.0.0, current version 5601.1.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.200.5)

So the hello world example seems to be linking with version 1591.0.0 even though the installed gstreamer version is 1601.0.0?

Edited Jun 11, 2019 by zhiqiangxu
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: gstreamer/gstreamer#404