Bug 156724

Summary: [OS X] AVKit is not available on all systems
Product: WebKit Reporter: Eric Carlson <eric.carlson>
Component: MediaAssignee: Eric Carlson <eric.carlson>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, darin, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Proposed patch none

Description Eric Carlson 2016-04-18 17:45:38 PDT
Soft link the framework and classes optionally.
Comment 1 Eric Carlson 2016-04-18 17:47:00 PDT
<rdar://problem/25501587>
Comment 2 Eric Carlson 2016-04-18 17:51:27 PDT
Created attachment 276683 [details]
Proposed patch
Comment 3 WebKit Commit Bot 2016-04-18 18:52:09 PDT
Comment on attachment 276683 [details]
Proposed patch

Clearing flags on attachment: 276683

Committed r199701: <http://trac.webkit.org/changeset/199701>
Comment 4 WebKit Commit Bot 2016-04-18 18:52:14 PDT
All reviewed patches have been landed.  Closing bug.
Comment 5 Alexey Proskuryakov 2016-04-18 21:34:01 PDT
As EWS predicted, this broke iOS build:

CompileC /Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/WebCore.build/Release-iphonesimulator/WebCore.build/Objects-normal/x86_64/WebAVPlayerController.o platform/ios/WebAVPlayerController.mm normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
    cd /Volumes/Data/slave/ios-simulator-9-release/build/Source/WebCore
    export LANG=en_US.US-ASCII
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++11 -stdlib=libc++ -gmodules -Wno-trigraphs -fno-exceptions -fno-rtti -fpascal-strings -O3 -fno-common -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wunreachable-code -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wnon-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wsign-compare -Wno-shorten-64-to-32 -Wnewline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -Wno-c++11-extensions -DNDEBUG -DENABLE_3D_TRANSFORMS -DENABLE_ACCELERATED_OVERFLOW_SCROLLING -DENABLE_AVF_CAPTIONS -DENABLE_ATTACHMENT_ELEMENT -DENABLE_CACHE_PARTITIONING -DENABLE_CANVAS_PATH -DENABLE_CHANNEL_MESSAGING -DENABLE_ES6_ARROWFUNCTION_SYNTAX -DENABLE_ES6_GENERATORS -DENABLE_CONTENT_FILTERING -DENABLE_CSS_ANIMATIONS_LEVEL_2 -DENABLE_CSS_BOX_DECORATION_BREAK -DENABLE_CSS_COMPOSITING -DENABLE_CSS_GRID_LAYOUT -DENABLE_CSS_REGIONS -DENABLE_CSS_SELECTORS_LEVEL4 -DENABLE_CSS_SHAPES -DENABLE_CURSOR_VISIBILITY -DENABLE_DETAILS_ELEMENT -DENABLE_DEVICE_ORIENTATION -DENABLE_DOM4_EVENTS_CONSTRUCTOR -DENABLE_FETCH_API -DENABLE_FILTERS_LEVEL_2 -DENABLE_GEOLOCATION -DENABLE_INDEXED_DATABASE -DENABLE_INDIE_UI -DENABLE_INPUT_TYPE_DATE -DENABLE_INPUT_TYPE_DATETIMELOCAL -DENABLE_INPUT_TYPE_MONTH -DENABLE_INPUT_TYPE_TIME -DENABLE_INPUT_TYPE_WEEK -DENABLE_WIRELESS_PLAYBACK_TARGET -DENABLE_INTL -DENABLE_IOS_TEXT_AUTOSIZING -DENABLE_LEGACY_CSS_VENDOR_PREFIXES -DENABLE_LEGACY_VENDOR_PREFIXES -DENABLE_LEGACY_WEB_AUDIO -DENABLE_LETTERPRESS -DENABLE_MATHML -DENABLE_MEDIA_CONTROLS_SCRIPT -DENABLE_MEDIA_STREAM -DENABLE_NAVIGATOR_HWCONCURRENCY -DENABLE_PUBLIC_SUFFIX_LIST -DENABLE_REQUEST_ANIMATION_FRAME -DENABLE_REMOTE_INSPECTOR -DENABLE_RESOURCE_USAGE -DENABLE_CSS_SCROLL_SNAP -DENABLE_SPEECH_SYNTHESIS -DENABLE_STREAMS_API -DENABLE_SUBTLE_CRYPTO -DENABLE_SVG_FONTS -DENABLE_TELEPHONE_NUMBER_DETECTION -DENABLE_TEMPLATE_ELEMENT -DENABLE_CSS_TRAILING_WORD -DENABLE_USERSELECT_ALL -DENABLE_VIDEO -DENABLE_VIDEO_TRACK -DENABLE_DATACUE_VALUE -DENABLE_WEBGL -DENABLE_WEBGL2 -DENABLE_WEB_ANIMATIONS -DENABLE_WEB_AUDIO -DENABLE_WEB_SOCKETS -DENABLE_WEB_TIMING -DENABLE_XSLT -DENABLE_SHADOW_DOM -DENABLE_CUSTOM_ELEMENTS -DENABLE_VIDEO_PRESENTATION_MODE -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -mios-simulator-version-min=9.0 -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -fobjc-abi-version=2 -fobjc-legacy-dispatch -I/Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/WebCore.build/Release-iphonesimulator/WebCore.build/WebCore.hmap -I/Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/Release-iphonesimulator/include -IForwardingHeaders -Iicu -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/usr/include/libxslt -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/usr/include/libxml2 -I/Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/Release-iphonesimulator/DerivedSources/WebCore -I/Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/Release-iphonesimulator/usr/local/include -I/Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/Release-iphonesimulator/usr/local/include/WebKitAdditions -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/usr/local/include/WebKitAdditions -I/Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/WebCore.build/Release-iphonesimulator/WebCore.build/DerivedSources/x86_64 -I/Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/WebCore.build/Release-iphonesimulator/WebCore.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -Wno-unknown-warning-option -F/Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/Release-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/System/Library/PrivateFrameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/System/Library/Frameworks/Carbon.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/System/Library/Frameworks/Quartz.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/System/Library/PrivateFrameworks -include /Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/PrecompiledHeaders/WebCorePrefix-gvgfpqhuzfsctpdpdxldyxugsolg/WebCorePrefix.h -MMD -MT dependencies -MF /Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/WebCore.build/Release-iphonesimulator/WebCore.build/Objects-normal/x86_64/WebAVPlayerController.d --serialize-diagnostics /Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/WebCore.build/Release-iphonesimulator/WebCore.build/Objects-normal/x86_64/WebAVPlayerController.dia -c /Volumes/Data/slave/ios-simulator-9-release/build/Source/WebCore/platform/ios/WebAVPlayerController.mm -o /Volumes/Data/slave/ios-simulator-9-release/build/WebKitBuild/WebCore.build/Release-iphonesimulator/WebCore.build/Objects-normal/x86_64/WebAVPlayerController.o
/Volumes/Data/slave/ios-simulator-9-release/build/Source/WebCore/platform/ios/WebAVPlayerController.mm:53:10: error: use of undeclared identifier 'getAVPlayerController'; did you mean 'initAVPlayerController'?
    if (!getAVPlayerController())
         ^~~~~~~~~~~~~~~~~~~~~
         initAVPlayerController
/Volumes/Data/slave/ios-simulator-9-release/build/Source/WebCore/platform/ios/WebAVPlayerController.mm:45:1: note: 'initAVPlayerController' declared here
SOFT_LINK_CLASS_OPTIONAL(AVKit, AVPlayerController)
^
Comment 6 Alexey Proskuryakov 2016-04-18 22:39:33 PDT
Fixed by Alex Christensen in https://trac.webkit.org/changeset/199707