简体   繁体   English

Gstreamer IOS教程中缺少符号

[英]missing symbols in Gstreamer IOS tutorial

I have just downloaded the gstreamer ios binaries from https://gstreamer.freedesktop.org/data/pkg/ios/1.8.1/ . 我刚刚从https://gstreamer.freedesktop.org/data/pkg/ios/1.8.1/下载了gstreamer ios二进制文件。 and the gstreamer sdk from https://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/ (which has not been updated for 7 months? -- is there a newer version)? 和来自https://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/的gstreamer sdk(已经有7个月未更新了?-是否有更新的版本)?

When I enable the following features in gst_ios_init.h, i am unable to resolve the symbols as follows. 在gst_ios_init.h中启用以下功能时,无法按以下方式解析符号。 Is there a newer SDK? 是否有更新的SDK? I don't need liveadder or fragmented or editing tools, but the ios compression support seems like it would be useful. 我不需要liveadder或分段或编辑工具,但ios压缩支持似乎很有用。

When I enable: 当我启用时:

#define GST_IOS_PLUGINS_EFFECTS

I get: 我得到:

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

When I enable: 当我启用时:

#define GST_IOS_PLUGINS_CODECS

I get: 我得到:

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

When I enable: 当我启用时:

#define GST_IOS_PLUGINS_EDITING

I get: 我得到:

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

When I enable: 当我启用时:

#define GST_IOS_PLUGINS_SYS

I get: 我得到:

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)

This is because your gstreamer framework installed is not the same as the tutorial. 这是因为您安装的gstreamer框架与教程不同。 Copy according gst_ios_init.h and gst_ios_init.m to tutorial project will fix the issue 根据gst_ios_init.hgst_ios_init.m复制到教程项目将解决此问题

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM