Commit Graph

52 Commits

Author SHA1 Message Date
bcc5d87f09 Add a GN target for unit tests, get them working again and added a test.
BUG=webrtc:3417

Review-Url: https://codereview.webrtc.org/2050153003
Cr-Commit-Position: refs/heads/master@{#14959}
2016-11-07 22:53:35 +00:00
d83bf06167 iOS: Add improved BWE field trial.
BUG=webrtc:6664
NOTRY=True

Review-Url: https://codereview.webrtc.org/2482593002
Cr-Commit-Position: refs/heads/master@{#14958}
2016-11-07 19:39:01 +00:00
3babb99039 Add bitrate section to settings view controller.
BUG=webrtc:6654

Review-Url: https://codereview.webrtc.org/2473783003
Cr-Commit-Position: refs/heads/master@{#14952}
2016-11-07 15:23:59 +00:00
ae70876c00 Remove unnecessary styling for some controls in ARDMainView.m for ios.
They can be removed and we can use the default system controls.
It's less code and also has more native look.

BUG=webrtc:6617

Review-Url: https://codereview.webrtc.org/2455413002
Cr-Commit-Position: refs/heads/master@{#14882}
2016-11-02 10:02:34 +00:00
d17d536577 Add setting to AppRTCMobile for iOS, that can change capture resolution.
To achieve this, several changes needed to be made on both UI and
app logic level.
* Settings view controller is added (modally shown when the settings
button is pressed).
	- From there the user can see the current capture resolution
and select another capture resolution.
* Model class for the capture resolution added.
	- Improves readability and makes separation of concerns cleaner
	- Handles persisting
	- Provides defaults
	- Maps video resolution setting to RTCMediaConstraints dictionary
* Test for the model class

In future it would be possible to extend this CL and add further settings (i.e
bit rate).
Also it would be easy to remove the hardcoded resolutions and use dynamic values
depending on device capability.

BUG=webrtc:6473

Review-Url: https://codereview.webrtc.org/2462623002
Cr-Commit-Position: refs/heads/master@{#14881}
2016-11-02 09:56:16 +00:00
6d6762cb0e Add UINavigationController and settings bar button to AppRTCMobile.
The navigation controller is used to display the title of the app
and to feature the settings button.

This  work is foundation for adding settings screen to the app (see webrtc:6473 for more info)

BUG=webrtc:6618, webrtc:6473

Review-Url: https://codereview.webrtc.org/2455363002
Cr-Commit-Position: refs/heads/master@{#14816}
2016-10-28 11:53:20 +00:00
647915fb95 Add loopback option and improve UX of AppRTCMobile for Mac.
CL introduces changes in the layout of the mac demo app.
Bellow are the listed changes
* The label above the room field is removed and that text is shown in the text field's placeholder.
* Size of the window is decreased to accomodate smaller resolutions
* The local view is shown on top of remote view in 3/rd of it's size
* The log view is bellow the remote view and shows client status messages as well as some simple usage instructions.
* Loopback functionality is added
* Start call button added for improved usability

Note: This file was not following our internal ObjC style guidelines i.e
NSString *a - right
NSString* a - wrong
However I've decided to submit the changes and to follow the current style.
I'll submit a bug to update the style in separate CL

BUG=webrtc:6496

Review-Url: https://codereview.webrtc.org/2396333002
Cr-Commit-Position: refs/heads/master@{#14692}
2016-10-20 08:46:49 +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
41514718a8 Add usage description strings to Info.plist
These are required for apps that use the camera and microphone on iOS 10

BUG=webrtc:6428
R=magjed@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14401}
2016-09-27 16:02:57 +00:00
c1815cf084 Reland of name AppRTCDemo on Android and iOS to AppRTCMobile (patchset #1 id:1 of https://codereview.webrtc.org/2358133003/ )
Reason for revert:
Internal project is updated.

Original issue's description:
> Revert of Rename AppRTCDemo on Android and iOS to AppRTCMobile (patchset #2 id:20001 of https://codereview.webrtc.org/2343403002/ )
>
> Reason for revert:
> Breaks internal project.
>
> Original issue's description:
> > Rename AppRTCDemo on Android and iOS to AppRTCMobile
> >
> > The purpose is to make it clearer it is a mobile application.
> >
> > BUG=webrtc:6359
> > NOPRESUBMIT=true
> >
> > Committed: https://crrev.com/d3af58bdab5b25acd62cd816363becc7003d3e5a
> > Cr-Commit-Position: refs/heads/master@{#14356}
>
> TBR=sakal@webrtc.org,kthelgason@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:6359
>
> Committed: https://crrev.com/87ef6f750126f9f17f4714d696a8e77a2dd0a3f1
> Cr-Commit-Position: refs/heads/master@{#14358}

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

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

Cr-Commit-Position: refs/heads/master@{#14391}
2016-09-27 08:10:52 +00:00
87ef6f7501 Revert of Rename AppRTCDemo on Android and iOS to AppRTCMobile (patchset #2 id:20001 of https://codereview.webrtc.org/2343403002/ )
Reason for revert:
Breaks internal project.

Original issue's description:
> Rename AppRTCDemo on Android and iOS to AppRTCMobile
>
> The purpose is to make it clearer it is a mobile application.
>
> BUG=webrtc:6359
> NOPRESUBMIT=true
>
> Committed: https://crrev.com/d3af58bdab5b25acd62cd816363becc7003d3e5a
> Cr-Commit-Position: refs/heads/master@{#14356}

TBR=sakal@webrtc.org,kthelgason@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:6359

Review-Url: https://codereview.webrtc.org/2358133003
Cr-Commit-Position: refs/heads/master@{#14358}
2016-09-22 17:15:43 +00:00
d3af58bdab Rename AppRTCDemo on Android and iOS to AppRTCMobile
The purpose is to make it clearer it is a mobile application.

BUG=webrtc:6359
NOPRESUBMIT=true

Review-Url: https://codereview.webrtc.org/2343403002
Cr-Commit-Position: refs/heads/master@{#14356}
2016-09-22 16:12:38 +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
314bc5f8e4 Add local capturer on mac
BUG=webrtc:3417

Review-Url: https://codereview.webrtc.org/2283743003
Cr-Commit-Position: refs/heads/master@{#14004}
2016-08-31 17:23:31 +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
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
1f779052c6 Remove outdated symlink
BUG=

Review-Url: https://codereview.webrtc.org/2270853002
Cr-Commit-Position: refs/heads/master@{#13877}
2016-08-24 07:49:33 +00:00
2ddfdba989 GN: Add targets for AppRTCDemo on Mac+iOS
BUG=webrtc:6022
NOTRY=True

Review-Url: https://codereview.webrtc.org/2211413003
Cr-Commit-Position: refs/heads/master@{#13666}
2016-08-08 04:37:56 +00:00
33f00e1272 Fix case-sensitive build system errors.
This is https://codereview.webrtc.org/2141093002/, just wanted to get it in.

NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2214113002
Cr-Commit-Position: refs/heads/master@{#13649}
2016-08-04 19:46:51 +00:00
14d5dbe5b3 Reland of "Move RtcEventLog object from inside VoiceEngine to Call.", "Fix to make the start/stop functions for the Rtc Eventlog non-virtual." and "Fix for RtcEventLog ObjC interface"
The breaking tests in Chromium have been temporarily disabled, they will be fixed and reenabled soon.

Original CLs: https://codereview.webrtc.org/1748403002/, https://codereview.webrtc.org/2107253002/ and https://codereview.webrtc.org/2106103003/.

TBR=solenberg@webrtc.org,tommi@webrtc.org,stefan@webrtc.org,terelius@webrtc.org,tkchin@webrtc.org
BUG=webrtc:4741, webrtc:5603, chromium:609749

Review-Url: https://codereview.webrtc.org/2110113003
Cr-Commit-Position: refs/heads/master@{#13379}
2016-07-04 14:07:03 +00:00
bf02e2070f Revert of Fix for RtcEventLog ObjC interface (patchset #3 id:40001 of https://codereview.webrtc.org/2106103003/ )
Reason for revert:
Reverting all CLs related to moving the eventlog, as they break Chromium tests.

Original issue's description:
> Fix for RtcEventLog ObjC interface
>
> This moves the RtcEventLog start/stop functions to PeerConnection on the objC interface.
>
> BUG=
> R=tkchin@webrtc.org
>
> Committed: c43bf56ef1

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

Review-Url: https://codereview.webrtc.org/2110373002
Cr-Commit-Position: refs/heads/master@{#13338}
2016-06-30 07:55:07 +00:00
c43bf56ef1 Fix for RtcEventLog ObjC interface
This moves the RtcEventLog start/stop functions to PeerConnection on the objC interface.

BUG=
R=tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13337}
2016-06-30 07:32:15 +00:00
ff4def7eb7 Fix stats hud in AppRTC Demo for iOS.
NOTRY=true

Review-Url: https://codereview.webrtc.org/2034033002
Cr-Commit-Position: refs/heads/master@{#13290}
2016-06-26 19:08:47 +00:00
204177f967 Add RTCEventLog API to ObjC.
NOTRY=True

BUG=

Review-Url: https://codereview.webrtc.org/2067683002
Cr-Commit-Position: refs/heads/master@{#13144}
2016-06-14 22:03:19 +00:00
da2ba4dcba Pass around the candidate removals events in IOS clients
When local candidates are removed, signal to RTCPeerConnection
and eventually send to the remote client.
When a candidate-removal message is received, notify the native PeerConnection.

BUG=
R=tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12852}
2016-05-23 18:53:26 +00:00
84f9b98450 Update AppRTCDemo AppRTC URL's on iOS to appr.tc
BUG=webrtc:5886

Review-Url: https://codereview.webrtc.org/1990903002
Cr-Commit-Position: refs/heads/master@{#12805}
2016-05-19 09:43:39 +00:00
d251196d37 Provide isAudioEnabled flag to control audio unit.
- Also removes async invoker usage in favor of thread posting

BUG=

Review-Url: https://codereview.webrtc.org/1945563003
Cr-Commit-Position: refs/heads/master@{#12651}
2016-05-07 01:54:21 +00:00
f3569c8a8f Added the API to create an RTCRtpSender to the Objective C wrapper.
Objective C applications can now create new RTCRtpSenders and change their tracks, which gives them more fine grained control than MediaStreams.

BUG=

Review-Url: https://codereview.webrtc.org/1888633002
Cr-Commit-Position: refs/heads/master@{#12570}
2016-04-29 22:30:24 +00:00
9eeb6240c9 Build dynamic iOS SDK.
- Places most ObjC code into webrtc/sdk/objc instead.
- New gyp targets to build, strip and export symbols for dylib.
- Removes old script used to generate dylib.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12524}
2016-04-27 08:54:27 +00:00
8b9ca953a4 Minor ObjC header updates.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12183}
2016-03-31 19:08:12 +00:00
f3cb49f3ef Refactor some ObjC API init methods.
initWithFactory: is clumsy and makes classes difficult to mock out in
tests. By keeping methods on the factory, we can simply mock out the
factory's methods instead.

We can consider adding regular Obj-C like ctors if we move to making
the factory a singleton, but that requires further discussion.

BUG=
R=haysc@webrtc.org, hjon@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12089}
2016-03-22 17:58:04 +00:00
307a0922c5 Support delayed AudioUnit initialization.
Applications can choose to decide when to give up control of the
AVAudioSession to WebRTC. Otherwise, behavior should be
unchanged.

Adds a toggle to AppRTCDemo so developers can see the different
paths.

BUG=
R=haysc@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12080}
2016-03-21 20:58:01 +00:00
e54467f73e Use RTCAudioSessionDelegateAdapter in AudioDeviceIOS.
Part 3 of refactor. Also:
- better weak pointer delegate storage + tests
- we now ignore route changes when we're interrupted
- fixed bug where preferred sample rate wasn't set if audio session
   wasn't active

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12007}
2016-03-15 23:54:11 +00:00
c4ec4a2e51 Add breaks in switch statement to fix AppRTCDemo crash
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11989}
2016-03-14 21:56:55 +00:00
a9635b83e0 Use the right mirroring state when switching cameras in AppRTCDemo.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11988}
2016-03-14 20:43:41 +00:00
8bbbf2c3da Rename RTCIceConnectionStateMax to RTCIceConnectionStateCount in Objective-C API.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11987}
2016-03-14 20:15:52 +00:00
79858f8e9a Update iOS AppRTCDemo to use the updated Objective-C API.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11973}
2016-03-14 05:08:35 +00:00
0ce3bf9cc4 Fix lock behavior on RTCAudioSession.
In addition:
- Introduces RTCAudioSessionTest
- iOS/Mac gtests now have an autoreleasepool
- Moves ScopedAutoreleasePool to rtc_base_approved
- Introduces route change button in AppRTCDemo

BUG=webrtc:5649

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

Cr-Commit-Position: refs/heads/master@{#11971}
2016-03-13 00:52:13 +00:00
4f735d16ad Enable iOS AppRTCDemo send side BWE.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11865}
2016-03-04 01:54:37 +00:00
615fabb661 Add looping sound button to AppRTCDemo
This exposes the issue where AVAudioPlayer will stop playing when the
VoiceProcessing I/O audio unit is initialized.

BUG=
R=haysc@webrtc.org, henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11750}
2016-02-24 18:58:58 +00:00
d1fb26d457 Add iOS tracing.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11469}
2016-02-03 09:51:22 +00:00
6043f2e5d6 Revert of Adding "first packet received" notification to PeerConnectionObserver. (patchset #5 id:80001 of https://codereview.webrtc.org/1581693006/ )
Reason for revert:
onFirstMediaPacketReceived() breaks bot.

Original issue's description:
> Adding "first packet received" notification to PeerConnectionObserver.
>
> R=glaznev@webrtc.org, pthatcher@webrtc.org, tkchin@webrtc.org
>
> Committed: https://crrev.com/42265a8cc3b3f3db4aa2c29005aed2fb4393adef
> Cr-Commit-Position: refs/heads/master@{#11401}
>
> Committed: https://crrev.com/08a6eab75e13613183509d91d3892c1db57f6fc5
> Cr-Commit-Position: refs/heads/master@{#11404}

TBR=pthatcher@webrtc.org,tkchin@webrtc.org,glaznev@webrtc.org,deadbeef@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#11415}
2016-01-28 13:06:16 +00:00
08a6eab75e Adding "first packet received" notification to PeerConnectionObserver.
R=glaznev@webrtc.org, pthatcher@webrtc.org, tkchin@webrtc.org

Committed: https://crrev.com/42265a8cc3b3f3db4aa2c29005aed2fb4393adef
Cr-Commit-Position: refs/heads/master@{#11401}

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

Cr-Commit-Position: refs/heads/master@{#11404}
2016-01-27 21:38:57 +00:00
7b3c72ffa9 Revert of Adding "first packet received" notification to PeerConnectionObserver. (patchset #4 id:60001 of https://codereview.webrtc.org/1581693006/ )
Reason for revert:
Seems that the end-to-end unit tests are now flaky: https://build.chromium.org/p/client.webrtc/builders/Win64%20Debug/builds/6283

Will reland after fixing the test flakiness.

Original issue's description:
> Adding "first packet received" notification to PeerConnectionObserver.
>
> R=glaznev@webrtc.org, pthatcher@webrtc.org, tkchin@webrtc.org
>
> Committed: https://crrev.com/42265a8cc3b3f3db4aa2c29005aed2fb4393adef
> Cr-Commit-Position: refs/heads/master@{#11401}

TBR=pthatcher@webrtc.org,tkchin@webrtc.org,glaznev@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#11402}
2016-01-27 21:03:47 +00:00
42265a8cc3 Adding "first packet received" notification to PeerConnectionObserver.
R=glaznev@webrtc.org, pthatcher@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11401}
2016-01-27 20:10:44 +00:00
edd8fefa9b Add new view that renders local video using AVCaptureLayerPreview.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10940}
2015-12-08 19:08:44 +00:00
a41ab9326c Switch usage of _DEBUG macro to NDEBUG.
http://stackoverflow.com/a/29253284/5237416

BUG=None
R=tommi@webrtc.org
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#10468}
2015-10-30 23:08:54 +00:00
913e645e10 Loopback and audio only mode.
Adds a loopback button that will connect to itself by simulating another client connection to the web socket server.

Adds an audio only mode switch.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10153}
2015-10-02 18:45:13 +00:00
abd0d1a3f7 Handle all RTCICEConnectionState values in ARDVideoCallViewController
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9839}
2015-09-01 22:35:42 +00:00