2016-05-14 79 views
2

我刚刚从https://gstreamer.freedesktop.org/data/pkg/ios/1.8.1/下载了gstreamer ios二进制文件。以及来自https://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/的gstreamer sdk(它还没有更新7个月? - 是否有更新的版本)?缺少Gstreamer IOS教程中的符号

当我在gst_ios_init.h中启用以下功能时,我无法解析符号,如下所示。有没有更新的SDK?我不需要liveadder或零散或编辑工具,但ios压缩支持似乎是有用的。

当启用:

#define GST_IOS_PLUGINS_EFFECTS 

我得到:

Undefined symbols for architecture x86_64: 
    "_gst_plugin_liveadder_register", referenced from: 
     _gst_ios_init in gst_ios_init.o 

当启用:

#define GST_IOS_PLUGINS_CODECS 

我得到:

Undefined symbols for architecture x86_64: 
    "_gst_plugin_fragmented_register", referenced from: 
     _gst_ios_init in gst_ios_init.o 

当启用:

#define GST_IOS_PLUGINS_EDITING 

我得到:

Undefined symbols for architecture x86_64: 
    "_gst_plugin_gnonlin_register", referenced from: 
     _gst_ios_init in gst_ios_init.o 

当启用:

#define GST_IOS_PLUGINS_SYS 

我得到:

Undefined symbols for architecture x86_64: 
    "_VTCompressionSessionCompleteFrames", referenced from: 
     _gst_vtenc_finish in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_VTCompressionSessionCreate", referenced from: 
     _plugin_init in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-plugin.o) 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_VTCompressionSessionEncodeFrame", referenced from: 
     _gst_vtenc_handle_frame in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_VTCompressionSessionInvalidate", referenced from: 
     _gst_vtenc_destroy_session in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_VTCompressionSessionPrepareToEncodeFrames", referenced from: 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_VTDecompressionSessionCreate", referenced from: 
     _gst_vtdec_negotiate in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtdec.o) 
    "_VTDecompressionSessionDecodeFrame", referenced from: 
     _gst_vtdec_handle_frame in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtdec.o) 
    "_VTDecompressionSessionInvalidate", referenced from: 
     _gst_vtdec_invalidate_session in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtdec.o) 
    "_VTDecompressionSessionWaitForAsynchronousFrames", referenced from: 
     _gst_vtdec_push_frames_if_needed in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtdec.o) 
    "_VTSessionCopyProperty", referenced from: 
     _gst_vtenc_handle_frame in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
     _gst_vtenc_session_dump_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_VTSessionCopySupportedPropertyDictionary", referenced from: 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_VTSessionSetProperty", referenced from: 
     _gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
     _gst_vtenc_session_configure_property_double in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
     _gst_vtenc_session_configure_property_int in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_kVTCompressionPropertyKey_AllowFrameReordering", referenced from: 
     _gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_kVTCompressionPropertyKey_AllowTemporalCompression", referenced from: 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_kVTCompressionPropertyKey_AverageBitRate", referenced from: 
     _gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_kVTCompressionPropertyKey_ExpectedFrameRate", referenced from: 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_kVTCompressionPropertyKey_MaxKeyFrameInterval", referenced from: 
     _gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration", referenced from: 
     _gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_kVTCompressionPropertyKey_NumberOfPendingFrames", referenced from: 
     _gst_vtenc_handle_frame in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_kVTCompressionPropertyKey_ProfileLevel", referenced from: 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_kVTCompressionPropertyKey_Quality", referenced from: 
     _gst_vtenc_set_quality in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_kVTCompressionPropertyKey_RealTime", referenced from: 
     _gst_vtenc_set_property in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
     _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
    "_kVTEncodeFrameOptionKey_ForceKeyFrame", referenced from: 
     _gst_vtenc_init in GStreamer(libgstapplemedia_a_x86_64_-libgstapplemedia_la-vtenc.o) 
+0

[this](http://stackoverflow.com/questions/36127066/gstreamer-ios-undefined-symbol-gst-plugin-liveadder-register)似乎是相似的 – nayana

+0

你有没有找到答案?我有个类似的问题! –

+0

sdk教程通常包含一个gst_ios_init.m文件。在这个文件中,所有的静态gstreamer函数都被声明了。如果您将liveadder元素的部分和碎片元素的部分注释掉,则应该取得一些进展。这些元素在当前构建的gstreamer ios sdk中不提供。 – jhludwig

回答

0

这是因为你的gstreamer框架在停滞不前的教程不一样。根据gst_ios_init.hgst_ios_init.m复制到教程项目将修复问题

0

只需将VideoToolBox框架添加到您的项目。