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
?