Gstreamer IOS教程中缺少符号

时间:2016-05-14 16:12:29

标签: ios gstreamer

我刚刚从https://gstreamer.freedesktop.org/data/pkg/ios/1.8.1/下载了gstreamer ios二进制文件。来自https://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/的gstreamer sdk(7个月没有更新? - 是否有新版本)?

当我在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)

2 个答案:

答案 0 :(得分:0)

这是因为您安装的gstreamer框架与教程不同。根据{{​​1}}和gst_ios_init.h复制到教程项目将解决问题

答案 1 :(得分:0)

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