commit | 2475ae2e4cdbb7cbfa2a4801cbc36ff7eb73aacd | [log] [tgz] |
---|---|---|
author | magjed <magjed@webrtc.org> | Tue Sep 12 04:42:15 2017 -0700 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Sep 12 11:42:15 2017 +0000 |
tree | 88c1c5edc4de9f592a83d5eacb68f1dac4bd2882 | |
parent | 1e7dd31001cfa13b066e27352a24947c5ff95c31 [diff] |
Simplify passing video coded factories in media engine We soon want to be able to pass in a new type of video codec factories, see issue 7925 for more information. We currently plumb these video codec factories in a clumsy way from the media engine to the video engine, which will require us to update a lot of places when we add new video codec factory types. This CL cleans up the way we pass in video codec factories to make it easier to add the new factory types. In particular, this CL: * Updates WebRtcVideoEngine to take the video codec factories as arguments in ctor instead of in SetExternalVideoCodec functions. * Remove the Init() function from the vidoe engines - this function is not used. * Update CompositeMediaEngine to take generic variadic arguments, so we can send different arguments for different engines, without having to update this class. * Simplify ownership of video codec factories in WebRtcVideoEngine. WebRtcVideoEngine outlives WebRtcVideoChannel, WebRtcVideoSendStream and WebRtcVideoReceiveStream, so it can keep ownership without having to share ownership with these classes. BUG=webrtc:7925 Review-Url: https://codereview.webrtc.org/3008043002 Cr-Commit-Position: refs/heads/master@{#19794}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.