87 Commits

Author SHA1 Message Date
Kári Tristan Helgason
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
tkchin
d924ff3554 iOS: Fix improved BWE field trial.
BUG=webrtc:6664
NOTRY=True

Review-Url: https://codereview.webrtc.org/2488863002
Cr-Commit-Position: refs/heads/master@{#14990}
2016-11-08 23:39:26 +00:00
kwiberg
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
tkchin
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
kthelgason
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
brandtr
87d7d77700 Add new codec for FlexFEC.
This CL does nothing except adding new strings and enums corresponding to
the new codec.

R=stefan@webrtc.org
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2470103002
Cr-Commit-Position: refs/heads/master@{#14943}
2016-11-07 11:04:03 +00:00
nisse
7341ab8e25 Revert of Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame. (patchset #7 id:120001 of https://codereview.webrtc.org/2383093002/ )
Reason for revert:
Breaks chrome, see https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/19019/steps/compile/logs/stdio

Analysis: Chrome uses cricket::VideoFrame, without explicitly including webrtc/media/base/videoframe.h, and breaks when that file is no longer included by any other webrtc headers. Will reland after updating Chrome.

Original issue's description:
> Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame.
>
> Replaced with webrtc::VideoFrame.
>
> TBR=mflodman@webrtc.org
> BUG=webrtc:5682
>
> Committed: https://crrev.com/45c8b8940042bd2574c39920804ade8343cefdba
> Cr-Commit-Position: refs/heads/master@{#14885}

TBR=perkj@webrtc.org,pthatcher@webrtc.org,tkchin@webrtc.org,mflodman@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:5682

Review-Url: https://codereview.webrtc.org/2471783002
Cr-Commit-Position: refs/heads/master@{#14886}
2016-11-02 10:40:05 +00:00
nisse
45c8b89400 Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame.
Replaced with webrtc::VideoFrame.

TBR=mflodman@webrtc.org
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2383093002
Cr-Commit-Position: refs/heads/master@{#14885}
2016-11-02 10:20:28 +00:00
magjed
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
nisse
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
kjellander
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
magjed
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
nisse
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
denicija
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
tkchin
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
denicija
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
Kári Tristan Helgason
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
kwiberg
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
nisse
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
hbos
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
nisse
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
nisse
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
nisse
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
Stefan Holmer
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
nisse
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
nisse
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
Honghai Zhang
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
Magnus Jedvert
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
tkchin
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
tkchin
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
tkchin
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
peah
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
magjed
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
tkchin
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
kthelgason
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
vopatop.skam
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
tkchin
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
magjed
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
kthelgason
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
skvlad
588783adcd Return nil from RTCPeerConnectionFactory when creation fails
RTCPeerConnectionFactory.createPeerConnection did not check the return
value of the native createPeerConnection() - so when the native PC
fails to be created, it could end up attempting to use a null pointer.

The change makes it return nil when the creation fails. The application
can then detect and respond to the failure.

Review-Url: https://codereview.webrtc.org/2240633004
Cr-Commit-Position: refs/heads/master@{#13732}
2016-08-11 21:29:32 +00:00
magjed
fb372f0074 iOS render: Handle frame rotation in OpenGL
This CL handles frame rotation by updating the OpenGL vertex data in
RTCOpenGLVideoRenderer, instead of calling the expensive
libyuv::I420Rotate that will rotate the actual memory. Also, we can
handle rotated native frames instead of falling back to
NativeToI420Buffer.

Review-Url: https://codereview.webrtc.org/2176623002
Cr-Commit-Position: refs/heads/master@{#13715}
2016-08-10 14:58:35 +00:00
tkchin
04dbb34d51 iOS: Add support for rendering native CVPixelBuffers directly
This CL adds support in RTCEAGLVideoView for rendering CVPixelBuffers as
OpenGL ES textures directly, compared to the current code that first
converts the CVPixelBuffers to I420, and then reuploads them as
textures. This is only supported on iOS with the use of a
CVOpenGLESTextureCache.

The I420 rendering and native rendering are separated in two different
implementations of a simple shader interface:
@protocol Shader
- (BOOL)drawFrame:(RTCVideoFrame*)frame;
@end
GL resources are allocated when the shader is instantiated and released
when the shader is destroyed. RTCEAGLVideoView will lazily instantiate
the necessary shader when it receives the first frame of that kind. This
is primarily done to avoid allocating GL resources for both I420 and
native rendering.

Some other changes are:
 - Print GL shader compilation errors.
 - Remove updateTextureSizesForFrame() function. The textures will
   resize automatically anyway when the texture data is uploaded with
   glTexImage2D().

patch from issue 2154243002 at patchset 140001 (http://crrev.com/2154243002#ps140001)
Continuing magjed@'s work since he is OOO this week.

BUG=

Review-Url: https://codereview.webrtc.org/2202823004
Cr-Commit-Position: refs/heads/master@{#13668}
2016-08-08 10:10:12 +00:00
tkchin
6ce738da31 Disable encoder scaling on iPhone4S.
Scaling causes us to work the CPU too much, which very quickly degrades quality. This causes us to at least behave better on good networks.

NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2205763002
Cr-Commit-Position: refs/heads/master@{#13630}
2016-08-03 19:57:18 +00:00
tkchin
9dfa249796 Use 352x288 for iPhone 4S.
NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2206773002
Cr-Commit-Position: refs/heads/master@{#13629}
2016-08-03 18:39:09 +00:00
Sergey Ulanov
19ee1e6eb1 Add cricket::VideoFrame::transport_frame_id() and set it to RTP timestamp.
Passing transport_frame_id() to VideoSink will allow to identify incoming video
frames, which will make it possible to correlate video frames on the
sender and on the receiver.

BUG=chromium:621691
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13596}
2016-08-01 20:36:04 +00:00
haysc
7a11ae3c7c Print entire error object for capture session error handler
NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2189133002
Cr-Commit-Position: refs/heads/master@{#13580}
2016-07-29 19:03:58 +00:00
tkchin
d762910592 Use 15fps for iPhone 4S
NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2188883002
Cr-Commit-Position: refs/heads/master@{#13564}
2016-07-28 21:53:01 +00:00
magjed
39607c9e34 AVFoundationVideoCapturer: Output native frames instead of I420 frames
BUG=webrtc:4081

Review-Url: https://codereview.webrtc.org/2135953002
Cr-Commit-Position: refs/heads/master@{#13478}
2016-07-14 15:12:23 +00:00
honghaiz
af6b6e021f Prefix bool variable with "should".
This is to address a comment in a CL landed earlier.

BUG=

Review-Url: https://codereview.webrtc.org/2137223002
Cr-Commit-Position: refs/heads/master@{#13435}
2016-07-11 22:09:32 +00:00
ivoc
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