我正在尝试使用Xcode 7.2在我的MacOS 10.11.3上编译本教程Tutorial_01并且没有获得任何视频:我可以听到音频,但似乎视频窗口在某处丢失。
我尝试使用命令行gat-launch-1.0播放相同的媒体:
gst-launch-1.0 -v playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm
它可以很好地在OpenGL Renderer中打开媒体。
有什么想法吗?
提前致谢, 最大
更新:在调试模式下获取此警告:
0:00:00.314802000 [336m64763[00m 0x7f93e4854a30 [32;01mFIXME [00m [00m videodecoder gstvideodecoder.c:1057:GstFlowReturn gst_video_decoder_drain_out(GstVideoDecoder *, gboolean):<vp8dec0>[00m Sub-class should implement drain()
答案 0 :(得分:4)
看起来你需要在mac上运行Glib事件循环。
定义变量
GMainLoop *main_loop;
然后在管道创建后运行循环:
main_loop = g_main_loop_new (NULL, FALSE);
g_main_loop_run (main_loop);
可能你需要回调来控制循环以便你可以使用
g_timeout_add
。
希望有所帮助
<强>更新强>
GStreamer Bus - 此链接也应该有帮助
答案 1 :(得分:1)
我认为playbin2
仍然不再是有效的源插件。它的功能已迁移到playbin
(我认为)。
但无论如何 - 检查错误代码是否有效。他们通常会给出错误的错误。
gstreamer.com不是gstreamer项目的官方资源,并专注于过时的0.10版本分支。我建议在http://gstreamer.freedesktop.org查找示例。即使是gstreamer.com首页也建议使用。