1applemedia_sources = [ 2 'plugin.m', 3 'vtutil.c', 4 'corevideomemory.c', 5 'corevideobuffer.c', 6 'coremediabuffer.c', 7 'videotexturecache.m', 8 'atdec.c', 9 'glcontexthelper.c' 10] 11 12applemedia_args = [ 13 '-Dgst_core_media_buffer_new=gst_core_media_buffer_priv_new', 14 '-Dgst_core_media_buffer_get_type=gst_core_media_buffer_priv_get_type', 15 '-Dgst_core_media_buffer_get_pixel_buffer=gst_core_media_buffer_priv_get_pixel_buffer', 16 '-Dgst_core_video_buffer_new=gst_core_video_buffer_priv_new', 17 '-Dgst_core_video_buffer_get_type=gst_core_video_buffer_priv_get_type' 18] 19 20applemedia_objc_args = [] 21applemedia_option = get_option('applemedia') 22if not ['darwin', 'ios'].contains(host_system) or applemedia_option.disabled() 23 subdir_done() 24endif 25 26applemedia_frameworks = [] 27corefoundation_dep = dependency('CoreFoundation', required : applemedia_option) 28coremedia_dep = dependency('CoreMedia', required : applemedia_option) 29corevideo_dep = dependency('CoreVideo', required : applemedia_option) 30audiotoolbox_dep = dependency('AudioToolbox', required : applemedia_option) 31applemedia_frameworks += [corefoundation_dep, coremedia_dep, corevideo_dep, audiotoolbox_dep] 32 33avfoundation_dep = dependency('AVFoundation', required : applemedia_option) 34if avfoundation_dep.found() 35 applemedia_sources += [ 36 'avfvideosrc.m', 37 'avfassetsrc.m', 38 'avsamplevideosink.m', 39 'avfdeviceprovider.m', 40 ] 41 applemedia_frameworks += [avfoundation_dep] 42endif 43 44videotoolbox_dep = dependency('VideoToolbox', required : applemedia_option) 45if videotoolbox_dep.found() 46 applemedia_sources += [ 47 'vtenc.c', 48 'vtdec.c' 49 ] 50 applemedia_frameworks += [videotoolbox_dep] 51endif 52 53if host_system == 'ios' 54 applemedia_sources += [ 55 'iosassetsrc.m', 56 'iosglmemory.c' 57 ] 58 applemedia_objc_args += ['-fobjc-abi-version=2', '-fobjc-legacy-dispatch'] 59 60 ios_media_dep = dependency('appleframeworks', modules : ['Foundation', 'AssetsLibrary'], required : applemedia_option) 61 applemedia_frameworks += [ios_media_dep] 62else 63 applemedia_sources += [ 64 'iosurfacememory.c' 65 ] 66 applemedia_objc_args += ['-mmacosx-version-min=10.8'] 67 cocoa_dep = dependency('Cocoa', required : applemedia_option) 68 iosurface_dep = dependency('IOSurface', required : applemedia_option) 69 applemedia_opengl_dep = dependency('appleframeworks', modules : ['OpenGL'], required : applemedia_option) 70 applemedia_frameworks += [cocoa_dep, applemedia_opengl_dep, iosurface_dep] 71endif 72 73applemedia_found_deps = true 74foreach framework : applemedia_frameworks 75 if not framework.found() 76 applemedia_found_deps = false 77 endif 78endforeach 79 80if applemedia_found_deps 81 gstapplemedia = library('gstapplemedia', 82 applemedia_sources, 83 c_args : gst_plugins_bad_args + applemedia_args, 84 objc_args : gst_plugins_bad_args + applemedia_args + applemedia_objc_args, 85 link_args : noseh_link_args, 86 include_directories : [configinc, libsinc], 87 dependencies : [gstvideo_dep, gstaudio_dep, gstpbutils_dep, gst_dep, gstbase_dep, gstgl_dep] + applemedia_frameworks, 88 install : true, 89 install_dir : plugins_install_dir, 90 ) 91 pkgconfig.generate(gstapplemedia, install_dir : plugins_pkgconfig_install_dir) 92endif 93