Commit Graph

74 Commits

Author SHA1 Message Date
3149e09156 Actually move CoreVideoFrameBuffer from webrtc/common_video/ to webrtc/sdk/objc/
The previous reland https://codereview.webrtc.org/2860033002/ didn't
actually move CoreVideoFrameBuffer because of a rebase mistake. This CL
moves the files.

BUG=None

Review-Url: https://codereview.webrtc.org/2864303002
Cr-Commit-Position: refs/heads/master@{#18048}
2017-05-08 12:32:05 +00:00
c34e730896 Revert of Move CoreVideoFrameBuffer from webrtc/common_video/ to webrtc/sdk/objc/ (patchset #2 id:60001 of https://codereview.webrtc.org/2851563003/ )
Reason for revert:
Breaks downstream targets.

Original issue's description:
> Move CoreVideoFrameBuffer from webrtc/common_video/ to webrtc/sdk/objc/
>
> CoreVideoFrameBuffer is Mac/iPhone specific and should be moved into
> the webrtc/sdk/objc/ folder.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2851563003
> Cr-Commit-Position: refs/heads/master@{#17998}
> Committed: d41631aa27

TBR=kthelgason@webrtc.org,magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None

Review-Url: https://codereview.webrtc.org/2862663003
Cr-Commit-Position: refs/heads/master@{#18004}
2017-05-03 20:25:38 +00:00
d41631aa27 Move CoreVideoFrameBuffer from webrtc/common_video/ to webrtc/sdk/objc/
CoreVideoFrameBuffer is Mac/iPhone specific and should be moved into
the webrtc/sdk/objc/ folder.

BUG=None

Review-Url: https://codereview.webrtc.org/2851563003
Cr-Commit-Position: refs/heads/master@{#17998}
2017-05-03 14:10:10 +00:00
c66e7c1ca6 Revert of Extract iOS SDK helpers to separate target. (patchset #1 id:1 of https://codereview.webrtc.org/2852323003/ )
Reason for revert:
It is still breaking chromium trybots:

Undefined symbols for architecture x86_64:
  "base::allocator::g_replaced_default_zone", referenced from:
      base::allocator::IsAllocatorInitialized() in libbase.a(allocator_check.o)
ld: symbol(s) not found for architecture x86_64

Original issue's description:
> Reland of Extract iOS SDK helpers to separate target. (patchset #1 id:1 of https://codereview.webrtc.org/2853273002/ )
>
> Reason for revert:
> Trying to reland after: https://codereview.webrtc.org/2855103003.
>
> Original issue's description:
> > Revert of Extract iOS SDK helpers to separate target. (patchset #3 id:40001 of https://codereview.webrtc.org/2849823002/ )
> >
> > Reason for revert:
> > https://chromium.googlesource.com/external/webrtc/+/3c1e558449309be965815e1bf...
> >
> > I suspect this breaks Chrome ios.
> > https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bu...
> > https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.mac%2...
> >
> > Undefined symbols for architecture x86_64:
> >   "base::allocator::g_replaced_default_zone", referenced from:
> >       base::allocator::IsAllocatorInitialized() in libbase.a(allocator_check.o)
> > ld: symbol(s) not found for architecture x86_64
> > clang: error: linker command failed with exit code 1 (use -v to see invocation)
> > Traceback (most recent call last):
> >   File "../../build/toolchain/mac/linker_driver.py", line 229, in <module>
> >     Main(sys.argv)
> >   File "../../build/toolchain/mac/linker_driver.py", line 79, in Main
> >     subprocess.check_call(compiler_driver_args)
> >   File
> > "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",
> > line 540, in check_call
> >     raise CalledProcessError(retcode, cmd)
> >
> > Original issue's description:
> > > Extract iOS SDK helpers to separate target.
> > >
> > > This will reduce the redundant objects built
> > > in Chromium when opening up test_support for the fuzzer
> > > tests.
> > >
> > > BUG=webrtc:6828
> > > NOTRY=True
> > >
> > > Review-Url: https://codereview.webrtc.org/2849823002
> > > Cr-Commit-Position: refs/heads/master@{#17972}
> > > Committed: 3c1e558449
> >
> > TBR=mbonadei@webrtc.org,kjellander@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:6828
> >
> > Review-Url: https://codereview.webrtc.org/2853273002
> > Cr-Commit-Position: refs/heads/master@{#17979}
> > Committed: 80e230239e
>
> TBR=kjellander@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6828
>
> Review-Url: https://codereview.webrtc.org/2852323003
> Cr-Commit-Position: refs/heads/master@{#17992}
> Committed: fafd6d850d

TBR=kjellander@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6828

Review-Url: https://codereview.webrtc.org/2857953003
Cr-Commit-Position: refs/heads/master@{#17995}
2017-05-03 13:42:05 +00:00
fafd6d850d Reland of Extract iOS SDK helpers to separate target. (patchset #1 id:1 of https://codereview.webrtc.org/2853273002/ )
Reason for revert:
Trying to reland after: https://codereview.webrtc.org/2855103003.

Original issue's description:
> Revert of Extract iOS SDK helpers to separate target. (patchset #3 id:40001 of https://codereview.webrtc.org/2849823002/ )
>
> Reason for revert:
> https://chromium.googlesource.com/external/webrtc/+/3c1e558449309be965815e1bf...
>
> I suspect this breaks Chrome ios.
> https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bu...
> https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.mac%2...
>
> Undefined symbols for architecture x86_64:
>   "base::allocator::g_replaced_default_zone", referenced from:
>       base::allocator::IsAllocatorInitialized() in libbase.a(allocator_check.o)
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> Traceback (most recent call last):
>   File "../../build/toolchain/mac/linker_driver.py", line 229, in <module>
>     Main(sys.argv)
>   File "../../build/toolchain/mac/linker_driver.py", line 79, in Main
>     subprocess.check_call(compiler_driver_args)
>   File
> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",
> line 540, in check_call
>     raise CalledProcessError(retcode, cmd)
>
> Original issue's description:
> > Extract iOS SDK helpers to separate target.
> >
> > This will reduce the redundant objects built
> > in Chromium when opening up test_support for the fuzzer
> > tests.
> >
> > BUG=webrtc:6828
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2849823002
> > Cr-Commit-Position: refs/heads/master@{#17972}
> > Committed: 3c1e558449
>
> TBR=mbonadei@webrtc.org,kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6828
>
> Review-Url: https://codereview.webrtc.org/2853273002
> Cr-Commit-Position: refs/heads/master@{#17979}
> Committed: 80e230239e

TBR=kjellander@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6828

Review-Url: https://codereview.webrtc.org/2852323003
Cr-Commit-Position: refs/heads/master@{#17992}
2017-05-03 12:56:30 +00:00
80e230239e Revert of Extract iOS SDK helpers to separate target. (patchset #3 id:40001 of https://codereview.webrtc.org/2849823002/ )
Reason for revert:
https://chromium.googlesource.com/external/webrtc/+/3c1e558449309be965815e1bf...

I suspect this breaks Chrome ios.
https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bu...
https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.mac%2...

Undefined symbols for architecture x86_64:
  "base::allocator::g_replaced_default_zone", referenced from:
      base::allocator::IsAllocatorInitialized() in libbase.a(allocator_check.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Traceback (most recent call last):
  File "../../build/toolchain/mac/linker_driver.py", line 229, in <module>
    Main(sys.argv)
  File "../../build/toolchain/mac/linker_driver.py", line 79, in Main
    subprocess.check_call(compiler_driver_args)
  File
"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",
line 540, in check_call
    raise CalledProcessError(retcode, cmd)

Original issue's description:
> Extract iOS SDK helpers to separate target.
>
> This will reduce the redundant objects built
> in Chromium when opening up test_support for the fuzzer
> tests.
>
> BUG=webrtc:6828
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2849823002
> Cr-Commit-Position: refs/heads/master@{#17972}
> Committed: 3c1e558449

TBR=mbonadei@webrtc.org,kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6828

Review-Url: https://codereview.webrtc.org/2853273002
Cr-Commit-Position: refs/heads/master@{#17979}
2017-05-02 14:23:17 +00:00
3c1e558449 Extract iOS SDK helpers to separate target.
This will reduce the redundant objects built
in Chromium when opening up test_support for the fuzzer
tests.

BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2849823002
Cr-Commit-Position: refs/heads/master@{#17972}
2017-05-02 11:51:40 +00:00
c1524301f7 Add unit test class for RTCCameraVideoCapturer.
To achieve higher testability, some internally used ivars needed to be syntesized as properties
and some methods needed to be refactored.

BUG=webrtc:7177

Review-Url: https://codereview.webrtc.org/2815823002
Cr-Commit-Position: refs/heads/master@{#17971}
2017-05-02 10:20:50 +00:00
d208815685 iOS/MacOS:Refactor metal rendering by extracting common implementation
in separate super class.

Included changes:
- Fix rendering on iOS to support NV12 and i420 frames
- Improve code style
- Update build targets
- Update tests

BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2784243003
Cr-Commit-Position: refs/heads/master@{#17923}
2017-04-28 09:14:54 +00:00
ace5c8836d This CL adds RTCMTLVideoView.h and RTCCameraVideoCapturer.h to WebRTC.h
in order to fix a build issue that comes up when using WebRTC.framework from swift code.

BUG=webrtc:7488

Review-Url: https://codereview.webrtc.org/2832803002
Cr-Commit-Position: refs/heads/master@{#17909}
2017-04-27 13:26:19 +00:00
15f0c6815d ObjC: Split out NV12 texture uploading into separate class
This CL splits out the code in RTCNV12Shader.mm for uploading byte
buffers to textures into its own class RTCNV12TextureCache. The purpose
is to prepare for allowing clients to inject their own shaders.
RTCNV12TextureCache will be used in the generic code, while the actual
shaders in RTCNV12Shader will be customizable by the client.

BUG=webrtc:7473

Review-Url: https://codereview.webrtc.org/2835203003
Cr-Commit-Position: refs/heads/master@{#17902}
2017-04-27 08:26:33 +00:00
1140f97e48 Reland of Creating webrtc/modules:module_api (patchset #1 id:1 of https://codereview.webrtc.org/2839963005/ )
Reason for revert:
Fixing the Gn error and try to reland.

Original issue's description:
> Revert of Creating webrtc/modules:module_api (patchset #5 id:80001 of https://codereview.webrtc.org/2838873002/ )
>
> Reason for revert:
> Causes build problem: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Sim%20Debug%20%28iOS%209.0%29/builds/1630/steps/generate%20build%20files%20%28mb%29/logs/stdio
>
> Original issue's description:
> > Creating webrtc/modules:module_api
> >
> > This target keeps track of .h the files under webrtc/modules/include/
> > that are not part of any target.
> > If a .h file is not part of a target the 'gn check' utility is not
> > able to spot if a target is missing a dependency because even if
> > it parses '#include' directives it is not able to find a target that
> > contains these headers.
> >
> > BUG=webrtc:7513
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2838873002
> > Cr-Commit-Position: refs/heads/master@{#17880}
> > Committed: 5a1a092ed0
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7513
>
> Review-Url: https://codereview.webrtc.org/2839963005
> Cr-Commit-Position: refs/heads/master@{#17881}
> Committed: bb08c3e296

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=kjellander@webrtc.org
BUG=webrtc:7513

Review-Url: https://codereview.webrtc.org/2843913002
Cr-Commit-Position: refs/heads/master@{#17884}
2017-04-26 10:38:35 +00:00
8245a85429 ObjC: Split out I420 texture uploading into separate class
This CL splits out the code in RTCI420Shader.mm for uploading byte
buffers to textures into its own class RTCI420TextureCache. The purpose
is to prepare for allowing clients to inject their own shaders.
RTCI420TextureCache will be used in the generic code, while the actual
shaders in RTCI420Shader will be customizable by the client.

BUG=webrtc:7473

Review-Url: https://codereview.webrtc.org/2842453002
Cr-Commit-Position: refs/heads/master@{#17882}
2017-04-26 09:02:10 +00:00
bb08c3e296 Revert of Creating webrtc/modules:module_api (patchset #5 id:80001 of https://codereview.webrtc.org/2838873002/ )
Reason for revert:
Causes build problem: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Sim%20Debug%20%28iOS%209.0%29/builds/1630/steps/generate%20build%20files%20%28mb%29/logs/stdio

Original issue's description:
> Creating webrtc/modules:module_api
>
> This target keeps track of .h the files under webrtc/modules/include/
> that are not part of any target.
> If a .h file is not part of a target the 'gn check' utility is not
> able to spot if a target is missing a dependency because even if
> it parses '#include' directives it is not able to find a target that
> contains these headers.
>
> BUG=webrtc:7513
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2838873002
> Cr-Commit-Position: refs/heads/master@{#17880}
> Committed: 5a1a092ed0

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7513

Review-Url: https://codereview.webrtc.org/2839963005
Cr-Commit-Position: refs/heads/master@{#17881}
2017-04-26 09:00:16 +00:00
5a1a092ed0 Creating webrtc/modules:module_api
This target keeps track of .h the files under webrtc/modules/include/
that are not part of any target.
If a .h file is not part of a target the 'gn check' utility is not
able to spot if a target is missing a dependency because even if
it parses '#include' directives it is not able to find a target that
contains these headers.

BUG=webrtc:7513
NOTRY=True

Review-Url: https://codereview.webrtc.org/2838873002
Cr-Commit-Position: refs/heads/master@{#17880}
2017-04-26 08:53:54 +00:00
e0629c045e GN: Tighten up test target visibility + refactorings
Make all rtc_source_test target that contains tests that
are included in a test executable only be visible to the
rtc_test target. Doing this exposed a couple of errors and
dependency problems that were resolved. Having this could
have prevented duplicated execution of tests like the case that
was recently fixed by deadbeef@ in
https://codereview.webrtc.org/2820263004

New targets:
* //webrtc/modules/rtp_rtcp:fec_test_helper
* //webrtc/modules/rtp_rtcp:mock_rtp_rtcp
* //webrtc/modules/remote_bitrate_estimator:mock_remote_bitrate_observer

The mock files and targets should probably be moved into webrtc/test in
the future, but that's out of the scope of this CL.

BUG=webrtc:5716
NOTRY=True

Review-Url: https://codereview.webrtc.org/2828793003
Cr-Commit-Position: refs/heads/master@{#17863}
2017-04-25 11:04:50 +00:00
c097710cce Reland of GN: Enable ARC for Mac and iOS in rtc_* templates (patchset #1 id:1 of https://codereview.webrtc.org/2827223003/ )
Reason for revert:
Relanding after fixing ARC issue.

Original issue's description:
> Revert of GN: Enable ARC for Mac and iOS in rtc_* templates (patchset #3 id:40001 of https://codereview.webrtc.org/2781713004/ )
>
> Reason for revert:
> Breaks mac build
>
> Original issue's description:
> > GN: Enable ARC for Mac and iOS in rtc_* templates
> >
> > Remove all uses of retain/release and NSAutoreleasePool.
> >
> > This makes transformation to Bazel easier.
> >
> > This CL subsumes https://codereview.webrtc.org/2778163002 and depends on https://codereview.webrtc.org/2784483002/
> >
> > BUG=webrtc:6412
> >
> > Review-Url: https://codereview.webrtc.org/2781713004
> > Cr-Commit-Position: refs/heads/master@{#17780}
> > Committed: 6bda02b51d
>
> TBR=kjellander@webrtc.org,magjed@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6412
>
> Review-Url: https://codereview.webrtc.org/2827223003
> Cr-Commit-Position: refs/heads/master@{#17784}
> Committed: 7c8786ae8f

TBR=kjellander@webrtc.org,magjed@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6412

Review-Url: https://codereview.webrtc.org/2834273002
Cr-Commit-Position: refs/heads/master@{#17836}
2017-04-24 07:57:16 +00:00
1e060c6b0c Enabling 'gn check' on webrtc/sdk
BUG=webrtc:7499

Review-Url: https://codereview.webrtc.org/2818433003
Cr-Commit-Position: refs/heads/master@{#17805}
2017-04-21 07:02:02 +00:00
7c8786ae8f Revert of GN: Enable ARC for Mac and iOS in rtc_* templates (patchset #3 id:40001 of https://codereview.webrtc.org/2781713004/ )
Reason for revert:
Breaks mac build

Original issue's description:
> GN: Enable ARC for Mac and iOS in rtc_* templates
>
> Remove all uses of retain/release and NSAutoreleasePool.
>
> This makes transformation to Bazel easier.
>
> This CL subsumes https://codereview.webrtc.org/2778163002 and depends on https://codereview.webrtc.org/2784483002/
>
> BUG=webrtc:6412
>
> Review-Url: https://codereview.webrtc.org/2781713004
> Cr-Commit-Position: refs/heads/master@{#17780}
> Committed: 6bda02b51d

TBR=kjellander@webrtc.org,magjed@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6412

Review-Url: https://codereview.webrtc.org/2827223003
Cr-Commit-Position: refs/heads/master@{#17784}
2017-04-20 10:54:22 +00:00
6bda02b51d GN: Enable ARC for Mac and iOS in rtc_* templates
Remove all uses of retain/release and NSAutoreleasePool.

This makes transformation to Bazel easier.

This CL subsumes https://codereview.webrtc.org/2778163002 and depends on https://codereview.webrtc.org/2784483002/

BUG=webrtc:6412

Review-Url: https://codereview.webrtc.org/2781713004
Cr-Commit-Position: refs/heads/master@{#17780}
2017-04-20 08:38:01 +00:00
2f7f9b8dad ObjC: Remove RTCOpenGLVideoRenderer
RTCOpenGLVideoRenderer is currently shared between RTCEAGLVideoView and
RTCNSGLVideoView, and contains some iOS specific code and some Mac
specific code. We plan on adding an interface for injectable OpenGL ES
shaders to RTCEAGLVideoView, and it's easier if RTCEAGLVideoView and
RTCNSGLVideoView have separate code paths. This CL removes
RTCOpenGLVideoRenderer and inlines the necessary code in
RTCEAGLVideoView and RTCNSGLVideoView.

BUG=webrtc:7473

Review-Url: https://codereview.webrtc.org/2812613003
Cr-Commit-Position: refs/heads/master@{#17693}
2017-04-13 11:15:53 +00:00
4eeb53748a [iOS] Added an initialization method to RTCConfiguration that takes a
native configuration.
Added a getConfiguration getter method to RTCPeerConnection to return
the RTCConfiguration.

BUG=webrtc:7431

Review-Url: https://codereview.webrtc.org/2790833002
Cr-Commit-Position: refs/heads/master@{#17517}
2017-04-03 22:06:37 +00:00
3883ccb5d7 New RTCCameraVideoCapturer.
Implements a new capturer based on the new video source design.

BUG=webrtc:7177

Review-Url: https://codereview.webrtc.org/2776703002
Cr-Commit-Position: refs/heads/master@{#17486}
2017-03-31 12:12:12 +00:00
124a6fcddf MacOS: Add metal renderer and view.
BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2778693003
Cr-Commit-Position: refs/heads/master@{#17482}
2017-03-31 09:47:29 +00:00
abb84b8128 iOS: Add new RTCVideoSource interface
The new RTCVideoSource interface can be used by custom implementations of RTCVideoCapturer.

BUG=webrtc:7177
TBR=tommi

Review-Url: https://codereview.webrtc.org/2745193002
Cr-Commit-Position: refs/heads/master@{#17409}
2017-03-28 08:56:41 +00:00
954d9b943b Reland of Add unit tests for RTCMTLVideoView. (patchset #1 id:1 of https://codereview.webrtc.org/2733953006/ )
Reason for revert:
Dependant CL has been relanded

Original issue's description:
> Revert of Add unit tests for RTCMTLVideoView. (patchset #6 id:100001 of https://codereview.webrtc.org/2723903003/ )
>
> Reason for revert:
> This CL depends on a reverted CL.
>
> Original issue's description:
> > Add unit tests for RTCMTLVideoView.
> >
> > To properly test the functionality,  following changes  were needed
> > - Make RTCMTLVideoView compiliable for all cpu architectures not just arm64.
> > This is needed so that the test can run on any device and on simulator as well.
> > - Refactor RTCMTLVideoView to have  mockable class methods.
> > The unittest class, RTCMTLVideoViewTests was designed to provide easy transition
> > to XCTest when the time comes for that.
> > To transition to XCTest it would suffice to inherit from XCTestCase and remove
> > the gtest methods.
> >
> > BUG=webrtc:7079
> >
> > Review-Url: https://codereview.webrtc.org/2723903003
> > Cr-Commit-Position: refs/heads/master@{#17014}
> > Committed: 0ebe0199ac
>
> TBR=magjed@webrtc.org,denicija@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7079
>
> Review-Url: https://codereview.webrtc.org/2733953006
> Cr-Commit-Position: refs/heads/master@{#17118}
> Committed: 96d91524fa

TBR=magjed@webrtc.org,denicija@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2743663002
Cr-Commit-Position: refs/heads/master@{#17140}
2017-03-09 11:36:58 +00:00
96d91524fa Revert of Add unit tests for RTCMTLVideoView. (patchset #6 id:100001 of https://codereview.webrtc.org/2723903003/ )
Reason for revert:
This CL depends on a reverted CL.

Original issue's description:
> Add unit tests for RTCMTLVideoView.
>
> To properly test the functionality,  following changes  were needed
> - Make RTCMTLVideoView compiliable for all cpu architectures not just arm64.
> This is needed so that the test can run on any device and on simulator as well.
> - Refactor RTCMTLVideoView to have  mockable class methods.
> The unittest class, RTCMTLVideoViewTests was designed to provide easy transition
> to XCTest when the time comes for that.
> To transition to XCTest it would suffice to inherit from XCTestCase and remove
> the gtest methods.
>
> BUG=webrtc:7079
>
> Review-Url: https://codereview.webrtc.org/2723903003
> Cr-Commit-Position: refs/heads/master@{#17014}
> Committed: 0ebe0199ac

TBR=magjed@webrtc.org,denicija@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2733953006
Cr-Commit-Position: refs/heads/master@{#17118}
2017-03-08 14:33:52 +00:00
0ebe0199ac Add unit tests for RTCMTLVideoView.
To properly test the functionality,  following changes  were needed
- Make RTCMTLVideoView compiliable for all cpu architectures not just arm64.
This is needed so that the test can run on any device and on simulator as well.
- Refactor RTCMTLVideoView to have  mockable class methods.
The unittest class, RTCMTLVideoViewTests was designed to provide easy transition
to XCTest when the time comes for that.
To transition to XCTest it would suffice to inherit from XCTestCase and remove
the gtest methods.

BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2723903003
Cr-Commit-Position: refs/heads/master@{#17014}
2017-03-03 16:24:06 +00:00
070d5e30a8 Reland of Add metal view, shaders and renderer. (patchset #1 id:1 of https://codereview.webrtc.org/2711003004/ )
Reason for revert:
Re-land

Original issue's description:
> Revert of Add metal view, shaders and renderer. (patchset #18 id:340001 of https://codereview.webrtc.org/2651743007/ )
>
> Reason for revert:
> Reverting due to breakage in the Google3 import
>
> Original issue's description:
> > Add metal view, shaders and renderer.
> >
> > This CL submits standalone Metal view, renderer and shader.
> >
> > BUG=webrtc:7079
> >
> > Review-Url: https://codereview.webrtc.org/2651743007
> > Cr-Commit-Position: refs/heads/master@{#16787}
> > Committed: fc8c97f950
>
> TBR=magjed@webrtc.org,kthelgason@webrtc.org,tkchin@webrtc.org,haysc@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7079
>
> Review-Url: https://codereview.webrtc.org/2711003004
> Cr-Commit-Position: refs/heads/master@{#16788}
> Committed: b681aabdfc

TBR=magjed@webrtc.org,kthelgason@webrtc.org,tkchin@webrtc.org,haysc@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2716703004
Cr-Commit-Position: refs/heads/master@{#16846}
2017-02-26 19:44:13 +00:00
b681aabdfc Revert of Add metal view, shaders and renderer. (patchset #18 id:340001 of https://codereview.webrtc.org/2651743007/ )
Reason for revert:
Reverting due to breakage in the Google3 import

Original issue's description:
> Add metal view, shaders and renderer.
>
> This CL submits standalone Metal view, renderer and shader.
>
> BUG=webrtc:7079
>
> Review-Url: https://codereview.webrtc.org/2651743007
> Cr-Commit-Position: refs/heads/master@{#16787}
> Committed: fc8c97f950

TBR=magjed@webrtc.org,kthelgason@webrtc.org,tkchin@webrtc.org,haysc@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2711003004
Cr-Commit-Position: refs/heads/master@{#16788}
2017-02-23 09:15:07 +00:00
fc8c97f950 Add metal view, shaders and renderer.
This CL submits standalone Metal view, renderer and shader.

BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2651743007
Cr-Commit-Position: refs/heads/master@{#16787}
2017-02-23 08:46:07 +00:00
1f16ee38c1 Compile ios helpers on mac as well.
BUG=webrtc:5582

Review-Url: https://codereview.webrtc.org/2586433002
Cr-Commit-Position: refs/heads/master@{#16604}
2017-02-14 11:07:57 +00:00
d3adbfb13c AppRTCMobile links against framework target.
BUG=None

Review-Url: https://codereview.webrtc.org/2656833002
Cr-Commit-Position: refs/heads/master@{#16287}
2017-01-26 09:14:04 +00:00
9aa3f0a200 Reland of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2657563002/ )
Reason for revert:
Starting to work on a fix (it seems that there are third_party dependencies that depends on the path to the webrtc.gni file)

Original issue's description:
> Revert of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2651543003/ )
>
> Reason for revert:
> This was causing the following failure: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder/builds/838/steps/generate_build_files/logs/stdio
>
> Original issue's description:
> > Moving webrtc.gni up one level from build/
> >
> > BUG=webrtc:7030
> >
> > Review-Url: https://codereview.webrtc.org/2651543003
> > Cr-Commit-Position: refs/heads/master@{#16241}
> > Committed: 35a32700fc
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7030
>
> Review-Url: https://codereview.webrtc.org/2657563002
> Cr-Commit-Position: refs/heads/master@{#16244}
> Committed: 69dc7dbe24

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2654773002
Cr-Commit-Position: refs/heads/master@{#16247}
2017-01-24 14:58:22 +00:00
69dc7dbe24 Revert of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2651543003/ )
Reason for revert:
This was causing the following failure: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder/builds/838/steps/generate_build_files/logs/stdio

Original issue's description:
> Moving webrtc.gni up one level from build/
>
> BUG=webrtc:7030
>
> Review-Url: https://codereview.webrtc.org/2651543003
> Cr-Commit-Position: refs/heads/master@{#16241}
> Committed: 35a32700fc

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2657563002
Cr-Commit-Position: refs/heads/master@{#16244}
2017-01-24 13:14:35 +00:00
35a32700fc Moving webrtc.gni up one level from build/
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2651543003
Cr-Commit-Position: refs/heads/master@{#16241}
2017-01-24 12:49:35 +00:00
7bb87ee4e8 Create //webrtc/api:libjingle_peerconnection_api + refactorings.
Create a new target //webrtc/api:libjingle_peerconnection_api and start moving
things into it. Move remaining parts of //webrtc/api:libjingle_peerconnection
to //webrtc/pc:libjingle_peerconnection.

Moved the RTCStatsCollectorCallback into its own header file, so that
PeerConnectionInterface can include that instead of pulling in
RTCStatsCollector and PeerConnection and everything.

Separated cricket::MediaType into its own header/source set, so that it
can be used in the api.

BUG=webrtc:5883

Review-Url: https://codereview.webrtc.org/2514883002
Cr-Commit-Position: refs/heads/master@{#16210}
2017-01-23 12:56:25 +00:00
da8dcfb43e Refactor rtc_unittests into several targets.
Also fix some warnings.

NOTRY=True
BUG=webrtc:6954

Review-Url: https://codereview.webrtc.org/2611663002
Cr-Commit-Position: refs/heads/master@{#15900}
2017-01-04 15:11:23 +00:00
beafee3009 Move ios_helpers to sdk folder
BUG=webrtc:5582

Review-Url: https://codereview.webrtc.org/2572743004
Cr-Commit-Position: refs/heads/master@{#15649}
2016-12-16 10:12:42 +00:00
5fe4d496c0 Remove unsupported mac framework target.
We don't have a use case for it and have no reason to
support it.

BUG=webrtc:6706

Review-Url: https://codereview.webrtc.org/2543723004
Cr-Commit-Position: refs/heads/master@{#15428}
2016-12-05 19:27:36 +00:00
a974d76c74 Enable VideoToolbox encoder on mac
BUG=webrtc:6317

Review-Url: https://codereview.webrtc.org/2532983006
Cr-Commit-Position: refs/heads/master@{#15348}
2016-12-01 08:16:54 +00:00
18f7c8d4df Remove warning suppression from VideoToolboxEncoder
This warning no longer needs to be supressed as the issue
has been fixed.

BUG=webrtc:6307
TBR=tkchin@webrtc.org

Review-Url: https://codereview.webrtc.org/2537293003
Cr-Commit-Position: refs/heads/master@{#15331}
2016-11-30 13:31:07 +00:00
71caaca254 Split avfoundationcapturer classes in separate files.
Increases readibility and helps with the formating.

BUG=webrtc:6680

Review-Url: https://codereview.webrtc.org/2488973002
Cr-Commit-Position: refs/heads/master@{#15206}
2016-11-23 08:42:06 +00:00
cc2d1c6917 Bump mac deployment target to 10.9
BUG=webrtc:6431

Review-Url: https://codereview.webrtc.org/2488943002
Cr-Commit-Position: refs/heads/master@{#15004}
2016-11-09 15:44:34 +00:00
cbe7435288 Reland of Add a webrtc{en,de}coderfactory implementation for VideoToolbox (patchset #1 id:1 of https://codereview.webrtc.org/2483273002/ )
Reason for revert:
Fix gyp build

Original issue's description:
> Revert of Add a webrtc{en,de}coderfactory implementation for VideoToolbox (patchset #2 id:20001 of https://codereview.webrtc.org/2463313002/ )
>
> Reason for revert:
> Broke dependent project because the .gn changes weren't accompanied by corresponding .gyp changes.
>
> Original issue's description:
> > Add a webrtc{en,de}coderfactory implementation for VideoToolbox
> >
> > This CL removes the coupling of the VideoToolbox h264 implementation
> > to the generic h264 code. The files have been moved into sdb/obj/Framework
> > and all dependency on them has been removed from the rest of WebRTC.
> > We now add it as an external encoder via a factory supplied to the
> > CreatePeerConnectionFactory call. This also brings the iOS implementation
> > closer to what we do on Android for MediaCodec.
> >
> > BUG=webrtc:6619
> >
> > Committed: https://crrev.com/6a5047dad31f14f53dd9f8bc1ecde19e1dede2e4
> > Cr-Commit-Position: refs/heads/master@{#14953}
>
> TBR=magjed@webrtc.org,stefan@webrtc.org,kthelgason@webrtc.org
> BUG=webrtc:6619
>
> Committed: https://crrev.com/d69ad84420d9c0e1c11450c352f6c92e7c9583f1
> Cr-Commit-Position: refs/heads/master@{#14985}

R=magjed@webrtc.org
TBR=kwiberg@webrtc.org, magjed@webrtc.org, stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6619

Review URL: https://codereview.webrtc.org/2487723004 .

Cr-Commit-Position: refs/heads/master@{#14992}
2016-11-09 09:43:38 +00:00
d69ad84420 Revert of Add a webrtc{en,de}coderfactory implementation for VideoToolbox (patchset #2 id:20001 of https://codereview.webrtc.org/2463313002/ )
Reason for revert:
Broke dependent project because the .gn changes weren't accompanied by corresponding .gyp changes.

Original issue's description:
> Add a webrtc{en,de}coderfactory implementation for VideoToolbox
>
> This CL removes the coupling of the VideoToolbox h264 implementation
> to the generic h264 code. The files have been moved into sdb/obj/Framework
> and all dependency on them has been removed from the rest of WebRTC.
> We now add it as an external encoder via a factory supplied to the
> CreatePeerConnectionFactory call. This also brings the iOS implementation
> closer to what we do on Android for MediaCodec.
>
> BUG=webrtc:6619
>
> Committed: https://crrev.com/6a5047dad31f14f53dd9f8bc1ecde19e1dede2e4
> Cr-Commit-Position: refs/heads/master@{#14953}

TBR=magjed@webrtc.org,stefan@webrtc.org,kthelgason@webrtc.org
BUG=webrtc:6619

Review-Url: https://codereview.webrtc.org/2483273002
Cr-Commit-Position: refs/heads/master@{#14985}
2016-11-08 18:42:55 +00:00
6a5047dad3 Add a webrtc{en,de}coderfactory implementation for VideoToolbox
This CL removes the coupling of the VideoToolbox h264 implementation
to the generic h264 code. The files have been moved into sdb/obj/Framework
and all dependency on them has been removed from the rest of WebRTC.
We now add it as an external encoder via a factory supplied to the
CreatePeerConnectionFactory call. This also brings the iOS implementation
closer to what we do on Android for MediaCodec.

BUG=webrtc:6619

Review-Url: https://codereview.webrtc.org/2463313002
Cr-Commit-Position: refs/heads/master@{#14953}
2016-11-07 15:26:05 +00:00
6ceab08322 GN: New conventions, default target and refactorings
Introduce a convention on categorizing GN targets:
1. Production code
2. Tests
3. Examples
4. Tools
The first two have targets spread out all over the tree,
while the latter are isolated to examples/ and tools/ directories.

Another new convention: Each directory's BUILD.gn file shall contain
a target named similar to the directory name. This target shall
contain the 'most common' production code, i.e. so that most
consumers of the directory can depend on only the directory
(which implicitly means that target in GN).

//webrtc:webrtc_tests is changed to depend on all WebRTC tests.
From now on, it's necessary to add new test targets to this dependency
tree in order to get them compiled.

Two new group targets are created:
//webrtc/modules/audio_coding:audio_coding_tests
//webrtc/modules/audio_processing:audio_processing_tests
to reduce the long list of tests in //webrtc:webrtc_tests.

Visibility on //webrtc:webrtc and  //webrtc:webrtc_tests is restricted
to the root target, to avoid circular dependencies due to the monolithic
property of these targets (a problem we've had in the past).

The 'root' target at the top level is renamed to 'default', which means GN will
build this target instead of _all_ generated targets
(see https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/faq.md#Can-I-control-what-targets-are-built-by-default).
This target now depends on everything we want to build, meaning all targets now
explicitly needs to be wired up from the root target in order to get build.
Having this, the number of compiled objects on Android is decreased from 8855 to 6276. It also gives us better control over our build.

BUG=webrtc:6440
TESTED=git cl try --clobber
NOTRY=True

Review-Url: https://codereview.webrtc.org/2441383002
Cr-Commit-Position: refs/heads/master@{#14821}
2016-10-28 12:44:07 +00:00
725e2121ad Prevent stripping of C interfaces in framework
We need to redaclare certain interfaces in the GN build files for the
macOS and iOS framework targets to prevent those symbols being stripped
by the linker.

BUG=webrtc:6434

Review-Url: https://codereview.webrtc.org/2431603002
Cr-Commit-Position: refs/heads/master@{#14691}
2016-10-20 08:31:48 +00:00
e40a7ee007 GN: Exclude suppressions of Chromium Clang warnings for Chromium builds.
These suppressions are causing GN errors when Chromium targets are depending
directly on WebRTC targets (needed for https://codereview.chromium.org/2413103004)

BUG=webrtc:4256
NOTRY=True

Review-Url: https://codereview.webrtc.org/2408133008
Cr-Commit-Position: refs/heads/master@{#14644}
2016-10-17 06:56:20 +00:00