Commit Graph

105 Commits

Author SHA1 Message Date
5a8724564c iOS: Optimize video scaling and cropping
This CL makes scaling and cropping lazy in AVFoundationVideoCapturer and
provides optimized paths for SW and HW encoding. For SW encoding, an
efficient NV12 -> I420 cropping and scaling is implemented in
CoreVideoFrameBuffer::NativeToI420. For HW encoding, an efficient NV12 ->
NV12 cropping and scaling is implemented in
CoreVideoFrameBuffer::CropAndScaleTo. The performance improvement over
the existing cropping and scaling is that it is now done in one step
instead of making an intermediary copy of the Y plane.

There might still be room for improvement in the HW path using some HW
support. That will be explored in a future CL.

BUG=b/30939444

Review-Url: https://codereview.webrtc.org/2394483005
Cr-Commit-Position: refs/heads/master@{#14701}
2016-10-20 10:34:32 +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
09347858f7 Reland of Make cricket::VideoFrame inherit webrtc::VideoFrame. (patchset #1 id:1 of https://codereview.webrtc.org/2402853002/ )
This cl now makes cricket::VideoFrame and cricket::WebRtcVideoFrame aliases for webrtc::VideoFrame.

Reason for revert:
Fixing backwards compatibility issues.

Original issue's description:
> Revert of Make cricket::VideoFrame inherit webrtc::VideoFrame. (patchset #9 id:160001 of https://codereview.webrtc.org/2315663002/ )
>
> Reason for revert:
> Breaks compile for Chromium builds:
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/10761
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/18142
>
> FAILED: obj/remoting/protocol/protocol/webrtc_video_renderer_adapter.o
> ../../remoting/protocol/webrtc_video_renderer_adapter.cc:110:52: error: no member named 'transport_frame_id' in 'cricket::VideoFrame'
>                  weak_factory_.GetWeakPtr(), frame.transport_frame_id(),
>                                              ~~~~~ ^
> 1 error generated.
>
> Please run chromium trybots as described at https://webrtc.org/contributing/#tryjobs-on-chromium-trybots before relanding.
>
> Original issue's description:
> > Make cricket::VideoFrame inherit webrtc::VideoFrame. Delete
> > all methods but a few constructors. And similarly for the
> > subclass cricket::WebRtcVideoFrame.
> >
> > TBR=tkchin@webrtc.org  # Added an include line
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/dda6ec008a0fc8d52e118814fb779032e8931968
> > Cr-Commit-Position: refs/heads/master@{#14576}
>
> TBR=perkj@webrtc.org,pthatcher@webrtc.org,pthatcher@chromium.org,tkchin@webrtc.org,nisse@webrtc.org
> NOTRY=True
> NOPRESUBMIT=True
> BUG=webrtc:5682
>
> Committed: https://crrev.com/d36dd499c8f253cbcf37364c2a070c2e8c7100e9
> Cr-Commit-Position: refs/heads/master@{#14583}

TBR=perkj@webrtc.org,pthatcher@webrtc.org,pthatcher@chromium.org,tkchin@webrtc.org,kjellander@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2411953002
Cr-Commit-Position: refs/heads/master@{#14678}
2016-10-19 07:30:35 +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
c6ca544295 Using relative path for GN for iOS.
BUG=653594

R=tkchin@webrtc.org

Review-Url: https://codereview.webrtc.org/2393133007
Cr-Commit-Position: refs/heads/master@{#14605}
2016-10-11 23:12:47 +00:00
dd0e1e0070 GN: Build iOS framework in build_ios_libs.sh
BUG=webrtc:6372
NOTRY=True
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14603}
2016-10-11 20:27:34 +00:00
d36dd499c8 Revert of Make cricket::VideoFrame inherit webrtc::VideoFrame. (patchset #9 id:160001 of https://codereview.webrtc.org/2315663002/ )
Reason for revert:
Breaks compile for Chromium builds:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/10761
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/18142

FAILED: obj/remoting/protocol/protocol/webrtc_video_renderer_adapter.o
../../remoting/protocol/webrtc_video_renderer_adapter.cc:110:52: error: no member named 'transport_frame_id' in 'cricket::VideoFrame'
                 weak_factory_.GetWeakPtr(), frame.transport_frame_id(),
                                             ~~~~~ ^
1 error generated.

Please run chromium trybots as described at https://webrtc.org/contributing/#tryjobs-on-chromium-trybots before relanding.

Original issue's description:
> Make cricket::VideoFrame inherit webrtc::VideoFrame. Delete
> all methods but a few constructors. And similarly for the
> subclass cricket::WebRtcVideoFrame.
>
> TBR=tkchin@webrtc.org  # Added an include line
> BUG=webrtc:5682
>
> Committed: https://crrev.com/dda6ec008a0fc8d52e118814fb779032e8931968
> Cr-Commit-Position: refs/heads/master@{#14576}

TBR=perkj@webrtc.org,pthatcher@webrtc.org,pthatcher@chromium.org,tkchin@webrtc.org,nisse@webrtc.org
NOTRY=True
NOPRESUBMIT=True
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2402853002
Cr-Commit-Position: refs/heads/master@{#14583}
2016-10-09 05:21:40 +00:00
9e31cca8f4 iOS: Fix rotation bug for back camera
The rotation is currently incorrect for the back camera in landscape
mode. The reason is that device rotation needs to be reversed for the
back camera compared to the front camera. The camera sensor can also be
mounted with a specific orientation. So when front camera rotation goes
through: 0->90->180->270, back camera rotation goes in reverse:
180->90->0->270.

BUG=b/31984246,b/30651939

Review-Url: https://codereview.webrtc.org/2401033002
Cr-Commit-Position: refs/heads/master@{#14580}
2016-10-08 09:57:55 +00:00
dda6ec008a Make cricket::VideoFrame inherit webrtc::VideoFrame. Delete
all methods but a few constructors. And similarly for the
subclass cricket::WebRtcVideoFrame.

TBR=tkchin@webrtc.org  # Added an include line
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2315663002
Cr-Commit-Position: refs/heads/master@{#14576}
2016-10-07 15:16:59 +00:00
9cc012daf5 GN: Add missing config //webrtc:common_objc for rtc_sdk_common_objc
This makes this target not include the precompiled header, which
is different from GYP.

BUG=webrtc:6412
NOTRY=True

Review-Url: https://codereview.webrtc.org/2402493002
Cr-Commit-Position: refs/heads/master@{#14559}
2016-10-07 05:18:16 +00:00
4f15ca5d74 Replaces the SessionPresets with AVCaptureDeviceFormats.
It eliminates the need for hardcoded enumerations of the supported presets.
Hopefully it enables us to support slightly bigger set of resolutions and make the code slightly cleaner.

BUG=webrtc:6355

Review-Url: https://codereview.webrtc.org/2349223002
Cr-Commit-Position: refs/heads/master@{#14547}
2016-10-06 09:32:10 +00:00
5fa51e2947 Add iOS static library GN build script.
NOTRY=True

BUG=webrtc:6372

Review-Url: https://codereview.webrtc.org/2391123002
Cr-Commit-Position: refs/heads/master@{#14532}
2016-10-05 20:16:07 +00:00
edbae5e0ac Remove Crit::Scope lock by using atomic bool property.
The clang static analyzer seems unable to resolve cpp locks in ObjC code.
As of current time, the clang analyzer has known limitations documented
http://clang.llvm.org/docs/ThreadSafetyAnalysis.html#known-limitations.
From the documentation: "The analysis currently does not do any checking
inside constructors or destructors.
In other words, every constructor and destructor is treated
as if it was annotated with NO_THREAD_SAFETY_ANALYSIS."
This is 'probably' why the analyzer is unable to resolve the lock when
used in ObjC land (the cpp works fine).
The lock can be removed by using atomic property instead.
It's not on performance critical path and we expect updates on just one queue and reads from others. That's why the thread assurance atomic properties bring is enough.
The CL removes rtc_sdk_peerconnection_objc_warnings_config as well as it's no longer needed.

BUG=webrtc:6308

Review-Url: https://codereview.webrtc.org/2372513004
Cr-Commit-Position: refs/heads/master@{#14450}
2016-09-30 07:21:28 +00:00
15e4ec334c Remove compat for iOS 7/8
BUG=None
R=magjed@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14448}
2016-09-30 06:56:44 +00:00
77eab70470 Enable the -Wundef warning for clang
NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2358993004
Cr-Commit-Position: refs/heads/master@{#14425}
2016-09-29 00:42:08 +00:00
8fea1992f8 [GN] Add missing framework headers
This CL adds headers that are present in the /Headers directory but not included in the framework target.

BUG=none
NOTRY=true

Review-Url: https://codereview.webrtc.org/2342293002
Cr-Commit-Position: refs/heads/master@{#14413}
2016-09-28 09:07:00 +00:00
b62dbbe985 GN: Change rtc_source_set targets --> rtc_static_library
This changes most non-test related rtc_source_set targets to be
rtc_static_library instead. Targets without any .cc files are excluded.
This should bring back the build behavior we used to have with GYP
(i.e. same symbols exported in the libjingle_peerconnection.a file, which
are used by some downstream projects).

After doing an Android build with these changes:
$ nm --defined-only -g -C out/Release/lib.unstripped/libjingle_peerconnection_so.so | grep -i createpeerconnectionf
00077c51 T Java_org_webrtc_PeerConnectionFactory_nativeCreatePeerConnectionFactory
$ nm --defined-only -g -C out/Release/obj/webrtc/api/libjingle_peerconnection.a | grep -i createpeerconnectionf
00000001 T webrtc::CreatePeerConnectionFactory(rtc::Thread*, rtc::Thread*, rtc::Thread*, webrtc::AudioDeviceModule*, cricket::WebRtcVideoEncoderFactory*, cricket::WebRtcVideoDecoderFactory*)
00000001 T webrtc::CreatePeerConnectionFactory()

See https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/cookbook.md#Note-on-static-libraries
for more details on this.

NOTICE: This should be further cleaned up in the future, to reduce
binary bloat and unnecessary linking time. Right now it's more
important to restore the desired build output though.

BUG=webrtc:6410, chromium:630755

Review-Url: https://codereview.webrtc.org/2361623004
Cr-Commit-Position: refs/heads/master@{#14364}
2016-09-23 07:38:58 +00:00
4a9abad208 GN: Enable rtc_common_config for more targets.
In the migration to GN templates, some targets got the whole
rtc_common_config removed, which can have unpredicted consequences
in terms of different code behavior due to defines not being set
as expected etc.
It's better to enable this config and only disable the warnings
that fails the build.

BUG=webrtc:6306,webrtc:6307,webrtc:6308
NOTRY=True

Review-Url: https://codereview.webrtc.org/2347263002
Cr-Commit-Position: refs/heads/master@{#14280}
2016-09-18 15:12:36 +00:00
edebf45712 Use I420Buffer rather than VideoFrameBuffer when writing pixels.
Prepares for deleting VideoFrameBuffer::MutableDataY{,U,V}. objc
changes extracted from cl https://codereview.webrtc.org/2278883002/.

BUG=webrtc:5921

Review-Url: https://codereview.webrtc.org/2346453002
Cr-Commit-Position: refs/heads/master@{#14236}
2016-09-15 14:20:48 +00:00
ebc34e78db [GN] Add rtc_sdk_framework_objc target to GN
The build artifacts don't look completely identical to the ones generated
by the GYP targets, but manual review shows the same symbols are exported.

On iOS,  the version generated by the GN follows convention, including
a "Headers" directory, and the .modulemap file. I think this is preferred
over the gyp version.

BUG=webrtc:6320
NOTRY=True
TESTED=Run AppRTCDemo on iOS + Mac and verified with nm that they export the same symbols.

Review-Url: https://codereview.webrtc.org/2340633003
Cr-Commit-Position: refs/heads/master@{#14228}
2016-09-15 11:30:21 +00:00
a41c13e6a2 OWNERS: Make everyone able to change *.gn,*.gni files.
Project-wide change to make it possible for all team members
to do changes to GN files.

NOTRY=True
R=kwiberg@webrtc.org
TBR=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14163}
2016-09-09 12:51:48 +00:00
bd3dda6c86 Renamed RTCStatsReport to RTCLegacyStatsReport in objc files.
This is to avoid a naming conflict with webrtc::RTCStatsReport that is
surfaced if you try to include it in peerconnectioninterface.h.

Background: The current stats is very much non-spec-compliant. A new
stats collection API is underway that is meant to be spec-compliant.
Some classes in Chromium and webrtc/sdk/objc have spec-compliant names
but non-spec-compliant behavior. These are being renamed to "Legacy" so
that new spec-compliant classes can be added with the correct names.

BUG=chromium:627816
TBR=tkchin@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2313943002
Cr-Commit-Position: refs/heads/master@{#14150}
2016-09-09 08:36:32 +00:00
71eb61cf37 Reland of Ignore Camera and Flip bits in CVO when parsing video rotation (patchset #1 id:1 of https://codereview.webrtc.org/2300323002/ )
Reason for revert:
Downstream build is fixed.

Original issue's description:
> Revert of Ignore Camera and Flip bits in CVO when parsing video rotation (patchset #3 id:80001 of https://codereview.webrtc.org/2280703002/ )
>
> Reason for revert:
> Breaks downstream build.
>
> Original issue's description:
> > Ignore Camera and Flip bits in CVO when parsing video rotation
> >
> > Currently, if WebRTC receives a CVO byte where the Camera or Flip bit is
> > set, then rotation is incorrectly parsed as 0. This CL fixes that issue.
> > The Camera and Flip bit is still unimplemented and will just be ignored
> > though.
> >
> > BUG=webrtc:6120
> > R=danilchap@webrtc.org, pthatcher@webrtc.org, tommi@webrtc.org
> >
> > Committed: f9e1b922ef
>
> TBR=pthatcher@webrtc.org,danilchap@webrtc.org,tommi@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6120
>
> Committed: https://crrev.com/97667c7746282704acccd896e26175decee349c0
> Cr-Commit-Position: refs/heads/master@{#14035}

TBR=pthatcher@webrtc.org,danilchap@webrtc.org,tommi@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6120

Review-Url: https://codereview.webrtc.org/2320913003
Cr-Commit-Position: refs/heads/master@{#14124}
2016-09-08 10:25:05 +00:00
a264ecc456 Copy RTCAudioSource.h and RTCMediaSource.h with other public header files when building the WebRTC framework for iOS / Mac
NOTRY=True

Review-Url: https://codereview.webrtc.org/2313473002
Cr-Commit-Position: refs/heads/master@{#14117}
2016-09-08 06:11:29 +00:00
4016a0b2e8 GN: Move variables from //build_overrides/webrtc.gni to //webrtc/build/webrtc.gni
There is no clear reason to have them in build_overrides, and
webrtc/build seems to be a better place.

Also, delete build_overrides/webrtc.gni

NOTRY=True
BUG=webrtc:5949

Review-Url: https://codereview.webrtc.org/2309253004
Cr-Commit-Position: refs/heads/master@{#14108}
2016-09-07 13:50:23 +00:00
306d52b0fd Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2315703002/ )
Reason for revert:
Chrome has now been updated (cl https://codereview.chromium.org/2317673002/).

Original issue's description:
> Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #2 id:150001 of https://codereview.webrtc.org/2310043002/ )
>
> Reason for revert:
> Broke Chrome fyi bots. See, e.g.,
>
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/6730/steps/compile/logs/stdio
>
> Use of GetTimeStamp must be eliminated in Chrome before relanding.
>
> Original issue's description:
> > Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2306953002/ )
> >
> > Reason for revert:
> > Will reland after downstream projects are updated.
> >
> > Original issue's description:
> > > Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2305623002/ )
> > >
> > > Reason for revert:
> > > Broke downstream project.
> > >
> > > Original issue's description:
> > > > Delete cricket::VideoFrame::GetTimeStamp.
> > > >
> > > > TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
> > > > BUG=webrtc:5682
> > > >
> > > > Committed: https://crrev.com/fd6c99e43137d01fa6c120f7160f7c2999d1d8a3
> > > > Cr-Commit-Position: refs/heads/master@{#14037}
> > >
> > > TBR=perkj@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5682
> > >
> > > Committed: https://crrev.com/bca69e87de5df290f728833a4b3d8af3ae5d88e6
> > > Cr-Commit-Position: refs/heads/master@{#14038}
> >
> > TBR=perkj@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/fa1ba19c5c7c57c8d16fae1a5da51877770fd53e
> > Cr-Commit-Position: refs/heads/master@{#14089}
>
> TBR=perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/92b2e0852fcbe7765926755ccee884db965b6231
> Cr-Commit-Position: refs/heads/master@{#14090}

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

Review-Url: https://codereview.webrtc.org/2316493003
Cr-Commit-Position: refs/heads/master@{#14093}
2016-09-06 14:52:47 +00:00
92b2e0852f Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #2 id:150001 of https://codereview.webrtc.org/2310043002/ )
Reason for revert:
Broke Chrome fyi bots. See, e.g.,

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/6730/steps/compile/logs/stdio

Use of GetTimeStamp must be eliminated in Chrome before relanding.

Original issue's description:
> Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2306953002/ )
>
> Reason for revert:
> Will reland after downstream projects are updated.
>
> Original issue's description:
> > Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2305623002/ )
> >
> > Reason for revert:
> > Broke downstream project.
> >
> > Original issue's description:
> > > Delete cricket::VideoFrame::GetTimeStamp.
> > >
> > > TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
> > > BUG=webrtc:5682
> > >
> > > Committed: https://crrev.com/fd6c99e43137d01fa6c120f7160f7c2999d1d8a3
> > > Cr-Commit-Position: refs/heads/master@{#14037}
> >
> > TBR=perkj@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/bca69e87de5df290f728833a4b3d8af3ae5d88e6
> > Cr-Commit-Position: refs/heads/master@{#14038}
>
> TBR=perkj@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5682
>
> Committed: https://crrev.com/fa1ba19c5c7c57c8d16fae1a5da51877770fd53e
> Cr-Commit-Position: refs/heads/master@{#14089}

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

Review-Url: https://codereview.webrtc.org/2315703002
Cr-Commit-Position: refs/heads/master@{#14090}
2016-09-06 12:13:48 +00:00
fa1ba19c5c Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2306953002/ )
Reason for revert:
Will reland after downstream projects are updated.

Original issue's description:
> Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2305623002/ )
>
> Reason for revert:
> Broke downstream project.
>
> Original issue's description:
> > Delete cricket::VideoFrame::GetTimeStamp.
> >
> > TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/fd6c99e43137d01fa6c120f7160f7c2999d1d8a3
> > Cr-Commit-Position: refs/heads/master@{#14037}
>
> TBR=perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/bca69e87de5df290f728833a4b3d8af3ae5d88e6
> Cr-Commit-Position: refs/heads/master@{#14038}

TBR=perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2310043002
Cr-Commit-Position: refs/heads/master@{#14089}
2016-09-06 11:46:25 +00:00
e9cc686293 GN Templates: Move common_inherited_config to the template.
Remove common_inherited_config from the targets and add it to the
template instead.

BUG=webrtc:6187
NOTRY=True

Review-Url: https://codereview.webrtc.org/2311843002
Cr-Commit-Position: refs/heads/master@{#14069}
2016-09-05 13:10:23 +00:00
7a2ce0b738 GN Templates: Move common_config to the template.
Remove common_config from the targets' config and add
it to the template instead.

BUG=webrtc:6187
NOTRY=True

Review-Url: https://codereview.webrtc.org/2300413002
Cr-Commit-Position: refs/heads/master@{#14063}
2016-09-05 08:35:48 +00:00
38a2132b02 GN: Introduce templates.
Defines the rtc_executable, rtc_source_set, rtc_test and
rtc_static_library templates.

These templates provide no functionality yet, but will enable common
configuration to be introduced, avoiding repetition in every target

Changes summary:
- Prepend rtc_ to test, source_set, executable and static_library targets
- Change "configs -= [" to "suppressed_configs += ["
- Include webrtc/build/webrtc.gni where it wasn't included yet
- Delete import("//testing/test.gni"), since rtc_test makes it unnecessary.

BUG=webrtc:6187
TBR=henrik.lundin@webrtc.org,tommi@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2301053002
Cr-Commit-Position: refs/heads/master@{#14043}
2016-09-02 11:10:41 +00:00
06a5e1aa39 Enable send-side BWE by default.
BUG=webrtc:4173
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14041}
2016-09-02 10:37:02 +00:00
bca69e87de Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2305623002/ )
Reason for revert:
Broke downstream project.

Original issue's description:
> Delete cricket::VideoFrame::GetTimeStamp.
>
> TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
> BUG=webrtc:5682
>
> Committed: https://crrev.com/fd6c99e43137d01fa6c120f7160f7c2999d1d8a3
> Cr-Commit-Position: refs/heads/master@{#14037}

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

Review-Url: https://codereview.webrtc.org/2306953002
Cr-Commit-Position: refs/heads/master@{#14038}
2016-09-02 09:07:11 +00:00
fd6c99e431 Delete cricket::VideoFrame::GetTimeStamp.
TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2305623002
Cr-Commit-Position: refs/heads/master@{#14037}
2016-09-02 08:34:01 +00:00
97667c7746 Revert of Ignore Camera and Flip bits in CVO when parsing video rotation (patchset #3 id:80001 of https://codereview.webrtc.org/2280703002/ )
Reason for revert:
Breaks downstream build.

Original issue's description:
> Ignore Camera and Flip bits in CVO when parsing video rotation
>
> Currently, if WebRTC receives a CVO byte where the Camera or Flip bit is
> set, then rotation is incorrectly parsed as 0. This CL fixes that issue.
> The Camera and Flip bit is still unimplemented and will just be ignored
> though.
>
> BUG=webrtc:6120
> R=danilchap@webrtc.org, pthatcher@webrtc.org, tommi@webrtc.org
>
> Committed: f9e1b922ef

TBR=pthatcher@webrtc.org,danilchap@webrtc.org,tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6120

Review-Url: https://codereview.webrtc.org/2300323002
Cr-Commit-Position: refs/heads/master@{#14035}
2016-09-02 08:03:28 +00:00
f7ddc06a43 Use AggressiveConfiguration as the default configuration in IOS
R=haysc@webrtc.org, pthatcher@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14030}
2016-09-01 22:34:12 +00:00
f9e1b922ef Ignore Camera and Flip bits in CVO when parsing video rotation
Currently, if WebRTC receives a CVO byte where the Camera or Flip bit is
set, then rotation is incorrectly parsed as 0. This CL fixes that issue.
The Camera and Flip bit is still unimplemented and will just be ignored
though.

BUG=webrtc:6120
R=danilchap@webrtc.org, pthatcher@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14027}
2016-09-01 17:58:28 +00:00
0bade0df3b AVFoundation Video Capturer: Remove thread jump when delivering frames
WebRTC no longer has any restriction on what thread frames should be
delivered on. One possible problem with this CL is that NV21->I420
conversion and scaling is done on the thread that delivers frames, which
might cause fps regressions.

R=nisse@webrtc.org, perkj@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14021}
2016-09-01 13:15:12 +00:00
fce0e2c2f6 Update AecDump API to match RtcEventLog API signature.
This will ease Swift interop.

NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2279293003
Cr-Commit-Position: refs/heads/master@{#13978}
2016-08-30 19:58:14 +00:00
ab1293ad76 Update iOS AppRTCDemo to use level controller.
NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2294913003
Cr-Commit-Position: refs/heads/master@{#13977}
2016-08-30 19:35:11 +00:00
d4bfbfc75a iOS: Add ability to specify audio constraints.
NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2290583003
Cr-Commit-Position: refs/heads/master@{#13976}
2016-08-30 18:56:09 +00:00
5085b0ca94 Adding AecDump functionality to AppRTCDemo for iOS
BUG=webrtc:6229

Review-Url: https://codereview.webrtc.org/2253013006
Cr-Commit-Position: refs/heads/master@{#13927}
2016-08-26 05:15:22 +00:00
2ab012c41e Implement CVO for iOS capturer
The rotation is currently always applied by AVFoundation by
reconfiguring the capture connection video orientation. This CL sets the
rotation field in the frame instead. This avoids the current flash in
the video when the device is rotated, and also avoids reconfiguring the
local encoder and remote decoder when the device is rotated.

BUG=b/30651939

Review-Url: https://codereview.webrtc.org/2271583003
Cr-Commit-Position: refs/heads/master@{#13916}
2016-08-25 10:25:13 +00:00
118402520f Restart capture session if needed on active.
We've seen some cases of nonrecoverable runtime error when entering the foreground. This is a theoretical fix to see if we can restart after willEnterForeground in didBecomeActive instead.

NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2258583004
Cr-Commit-Position: refs/heads/master@{#13903}
2016-08-24 19:06:01 +00:00
4a85abb80e Add support for more resolutions on iOS/macOS
BUG=

Review-Url: https://codereview.webrtc.org/2231033002
Cr-Commit-Position: refs/heads/master@{#13828}
2016-08-19 08:24:49 +00:00
72333d2ca0 Add kjellander@webrtc.org to more BUILD.gn OWNERS files.
NOTRY=True

Review-Url: https://codereview.webrtc.org/2258983003
Cr-Commit-Position: refs/heads/master@{#13826}
2016-08-19 07:48:39 +00:00
96b6b8336a iOS: add type to peer connection local streams
BUG=

Review-Url: https://codereview.webrtc.org/2249173002
Cr-Commit-Position: refs/heads/master@{#13825}
2016-08-18 21:21:27 +00:00
41a3287472 Nil out EAGLContext explicitly on RTCEAGLVideoView dealloc.
Theoretical fix to address some EAGLContext issues from other UIImageViews that could be active.

NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2259513002
Cr-Commit-Position: refs/heads/master@{#13806}
2016-08-17 23:03:09 +00:00
78810b633c Expose media constraint string constants as ObjC NSStrings
Review-Url: https://codereview.webrtc.org/2252783003
Cr-Commit-Position: refs/heads/master@{#13801}
2016-08-17 18:07:44 +00:00
3e3ebe6937 remove unnecessary double allocation
BUG=

Review-Url: https://codereview.webrtc.org/2226933005
Cr-Commit-Position: refs/heads/master@{#13744}
2016-08-15 10:42:08 +00:00