> On Jul 18, 2014, at 3:17 AM, Jacques-Olivier <jo.ha...@temasys.com.sg> wrote: > > I’m new on this mailing so I’ll start by introducing myself: > My name Jacques-Olivier Haché (J-O), I’m working for Temasys Communication, > and I’m entering the WebKit project to work on the implementation of WebRTC > inside WebKit. > For those who would be following the WebRTC’s news, I’m also the main > developer of the WebRTC plugin released by Temasys. >
Welcome to the WebKit community! > I am now trying to enable the WebRTC related features to get a better > understanding of the current state of this part of the project. > I have to say that I faced a lack of documentation on this area. I found the > features list <https://trac.webkit.org/wiki/FeatureFlags>, a document about > how to add a new feature <https://trac.webkit.org/wiki/AddingFeatures> but > nothing about how to turn a feature on and off (there is actually a TODO > about that in the second link). > > I looked into the files that one needs to change to add a new feature and > found two interesting files: > Source/WTF/wtf/FeatureDefines.h - where the WebRTC related contants were set > to 0 instead of 1 > Source/cmake/WebKitFeatures.cmake - where the contants were set to OFF > I listed the following definitions that look related to WebRTC > ENABLE_MEDIA_CAPTURE This flag is for features in the HTML Media Capture spec: http://www.w3.org/TR/html-media-capture/ > ENABLE_MEDIA_CONTROLS_SCRIPT This is for the JavaScript-based <audio> and <video> controls some ports us. > ENABLE_MEDIA_SOURCE This is for the Media Source Extension spec: http://www.w3.org/TR/media-source/ > ENABLE_MEDIA_STATISTICS This is for an experimental HTMLMediaElement statistics feature enabled by some ports. > ENABLE_MEDIA_STREAM This is for the Media Capture and Streams spec: http://w3c.github.io/mediacapture-main/ > ENABLE_VIDEO This is for <audio> and <video> in general. > ENABLE_VIDEO_TRACK This is for WebVTT. You should not need to change any of these flags to build for the Mac. > I turned those definitions to 1 and ON in the respective file and tried to > build. > The code in the header WebCore/Modules/mediastream/mediastream.h could not > compile apparently because the observer did not have a destructor. I created > one: > class Observer { > public: > virtual void didAddOrRemoveTrack() = 0; > virtual ~Observer() {}; > }; > It sounds like your sources are not up to date, I fixed this in https://trac.webkit.org/r175066 > > I now have a linking error that I do not understand when building WebCore > with Xcode. > > Ld > > Undefined symbols for architecture x86_64: > "__ZN7WebCore11JSNavigator18webkitGetUserMediaEPN3JSC9ExecStateE", > referenced from: > > __ZN7WebCore46jsNavigatorPrototypeFunctionWebkitGetUserMediaEPN3JSC9ExecStateE > in JSNavigator.o > "__ZN7WebCore15RTCOfferOptions6createERKNS_10DictionaryERi", referenced > from: > > __ZN7WebCore17RTCPeerConnection11createOfferEN3WTF10PassRefPtrINS_29RTCSessionDescriptionCallbackEEENS2_INS_30RTCPeerConnectionErrorCallbackEEERKNS_10DictionaryERi > in RTCPeerConnection.o > > "__ZN7WebCore20MediaConstraintsMock17verifyConstraintsEN3WTF10PassRefPtrINS_16MediaConstraintsEEE", > referenced from: > > __ZN7WebCore21MockMediaStreamCenter26validateRequestConstraintsEN3WTF10PassRefPtrINS_25MediaStreamCreationClientEEENS2_INS_16MediaConstraintsEEES6_ > in MockMediaStreamCenter.o > > __ZN7WebCore21MockMediaStreamCenter17createMediaStreamEN3WTF10PassRefPtrINS_25MediaStreamCreationClientEEENS2_INS_16MediaConstraintsEEES6_ > in MockMediaStreamCenter.o > "__ZN7WebCore21RTCOfferAnswerOptions6createERKNS_10DictionaryERi", > referenced from: > > __ZN7WebCore17RTCPeerConnection12createAnswerEN3WTF10PassRefPtrINS_29RTCSessionDescriptionCallbackEEENS2_INS_30RTCPeerConnectionErrorCallbackEEERKNS_10DictionaryERi > in RTCPeerConnection.o > > "__ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_16RTCConfigurationE", > referenced from: > > __ZN7WebCore52jsRTCPeerConnectionPrototypeFunctionGetConfigurationEPN3JSC9ExecStateE > in JSRTCPeerConnection.o > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > I don’t get these errors when I build, I suspect they will go away for you when you update your sources to TOT. > > Is anyone used to turn the WebRTC code on and off? > WebKit’s WebRTC implementation is currently in a state of flux, moving from a platform API that maps closely to the RTC JavaScript API to a more abstract interface will make it easier to use different backend libraries. See bugs https://webkit.org/b/150165 and https://webkit.org/b/150166 for example. eric
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev