908 Commits

Author SHA1 Message Date
nisse
d71ebd70f6 Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
Reason for revert:
Downstream projects being updated.

For Chrome, relanding depends on cl
https://codereview.chromium.org/2855783003/

Original issue's description:
> Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
>
> Reason for revert:
> Broke Chrome build, see, e.g.,
> http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
>
> Original issue's description:
> > Delete deprecated and transitional stuff related to video frame refactoring.
> >
> > BUG=webrtc:5880
> >
> > Review-Url: https://codereview.webrtc.org/2622263002
> > Cr-Commit-Position: refs/heads/master@{#17928}
> > Committed: 713a3bbcc7
>
> TBR=mflodman@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:5880
>
> Review-Url: https://codereview.webrtc.org/2845333002
> Cr-Commit-Position: refs/heads/master@{#17929}
> Committed: aec49d2b49

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

Review-Url: https://codereview.webrtc.org/2852303002
Cr-Commit-Position: refs/heads/master@{#17974}
2017-05-02 13:13:44 +00:00
nisse
aec49d2b49 Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
Reason for revert:
Broke Chrome build, see, e.g.,
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237

Original issue's description:
> Delete deprecated and transitional stuff related to video frame refactoring.
>
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2622263002
> Cr-Commit-Position: refs/heads/master@{#17928}
> Committed: 713a3bbcc7

TBR=mflodman@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:5880

Review-Url: https://codereview.webrtc.org/2845333002
Cr-Commit-Position: refs/heads/master@{#17929}
2017-04-28 13:03:40 +00:00
nisse
713a3bbcc7 Delete deprecated and transitional stuff related to video frame refactoring.
BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2622263002
Cr-Commit-Position: refs/heads/master@{#17928}
2017-04-28 12:43:20 +00:00
deadbeef
cb3836773c Allow a received audio codec's payload type to change.
This will create another decoder instance, which isn't ideal, but
that's better than the current behavior where things don't work at all.

We still need to fix the root cause of the linked bug, which is that we
don't remember previous payload type mappings when generating an offer.

This CL also adds a check for what is a real error: when a payload type
that was mapped to one codec is changed to map to a different codec.

And lastly, this CL removes a DCHECK for an assumption that was not
valid: that subsequently applied codec lists will always be supersets of
previous lists.

BUG=webrtc:5847

Review-Url: https://codereview.webrtc.org/2831333002
Cr-Commit-Position: refs/heads/master@{#17897}
2017-04-26 23:28:42 +00:00
mbonadei
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
mbonadei
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
mbonadei
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
kjellander
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
kjellander
8a11663219 Enable GN check for webrtc/{p2p,system_wrappers}
Introduce new small header-only targets in system_wrappers:
:cpu_features_api
:field_trial_api
:metrics_api
to untangle and optimize dependencies but still satisfy GN check.

In webrtc/p2p, previously uncovered header "base/fakecandidatepair.h"
is added to :p2p_test_utils target.

Refactor system_wrappers so 'rtc_p2p' can depend on only
system_wrappers:field_trial_api instead of all of system_wrappers
(which led to a breakage in Chromium that called for the revert of
https://codereview.webrtc.org/2735583002).

BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2739863002
Cr-Commit-Position: refs/heads/master@{#17812}
2017-04-21 12:17:08 +00:00
deadbeef
7914b8cb41 Negotiate the same SRTP crypto suites for every DTLS association formed.
Before this CL, we would negotiate:
- No crypto suites for data m= sections.
- A full set for audio m= sections.
- The full set, minus SRTP_AES128_CM_SHA1_32 for video m= sections.

However, this doesn't make sense with BUNDLE, since any DTLS
association could end up being used for any type of media. If
video is "bundled on" the audio transport (which is typical), it
will actually end up using SRTP_AES128_CM_SHA1_32.

So, this CL moves the responsibility of deciding SRTP crypto suites out
of BaseChannel and into DtlsTransport. The only two possibilities are
now "normal set" or "normal set + GCM", if enabled by the PC factory
options.

This fixes an issue (see linked bug) that was occurring when audio/video
were "bundled onto" the data transport. Since the data transport
wasn't negotiating any SRTP crypto suites, none were available to use
for audio/video, so the application would get black video/no audio.

This CL doesn't affect the SDES SRTP crypto suite negotiation;
it only affects the negotiation in the DLTS handshake, through
the use_srtp extension.

BUG=chromium:711243

Review-Url: https://codereview.webrtc.org/2815513012
Cr-Commit-Position: refs/heads/master@{#17810}
2017-04-21 10:23:33 +00:00
deadbeef
d07061c9f3 Add comments about PeerConnection::Close and PeerConnectionObserver.
Documenting that the observer can safely be destroyed after Close has
been called, because it ensures no more callbacks will be invoked. Just
like in JavaScript land, where no more events will be fired after
"close" is called.

This is already covered by unit tests.

BUG=webrtc:7491
NOTRY=True
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2834543005
Cr-Commit-Position: refs/heads/master@{#17798}
2017-04-20 20:19:00 +00:00
zhihuang
0426222f4c Modified the rtp_receiver_unittests.
Implemented operator == in RtpSource and use the gmock EXPECT_THAT to make the test cleaner.

Related CL: https://codereview.webrtc.org/2770233003/

BUG=chromium:703122

Review-Url: https://codereview.webrtc.org/2813753002
Cr-Commit-Position: refs/heads/master@{#17659}
2017-04-11 18:28:10 +00:00
ilnik
00d802b6ee Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2809653004/ )
Reason for revert:
Fix failing bots.

BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2816493002
Cr-Commit-Position: refs/heads/master@{#17658}
2017-04-11 17:34:31 +00:00
ilnik
27c46e2872 Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #4 id:400001 of https://codereview.webrtc.org/2812913002/ )
Reason for revert:
Breaks android buildbots.

Original issue's description:
> Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
>
> Reason for revert:
> Reland with appropriate changes to API to not break depending projects.
>
> Original issue's description:
> > Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
> >
> > Reason for revert:
> > Breaks dependent projects.
> >
> > Original issue's description:
> > > Add content type information to Encoded Images and add corresponding RTP extension header.
> > > Use it to separate UMA e2e delay metric between screenshare from video.
> > > Content type extension is set based on encoder settings and processed and decoders.
> > >
> > > Also,
> > > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> > >
> > > BUG=webrtc:7420
> > >
> > > Review-Url: https://codereview.webrtc.org/2772033002
> > > Cr-Commit-Position: refs/heads/master@{#17640}
> > > Committed: 64e739aeae
> >
> > TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2816463002
> > Cr-Commit-Position: refs/heads/master@{#17644}
> > Committed: 5721866808
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2812913002
> Cr-Commit-Position: refs/heads/master@{#17651}
> Committed: 774f6b4b96

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2809653004
Cr-Commit-Position: refs/heads/master@{#17653}
2017-04-11 13:20:05 +00:00
ilnik
774f6b4b96 Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
Reason for revert:
Reland with appropriate changes to API to not break depending projects.

Original issue's description:
> Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
>
> Reason for revert:
> Breaks dependent projects.
>
> Original issue's description:
> > Add content type information to Encoded Images and add corresponding RTP extension header.
> > Use it to separate UMA e2e delay metric between screenshare from video.
> > Content type extension is set based on encoder settings and processed and decoders.
> >
> > Also,
> > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> >
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2772033002
> > Cr-Commit-Position: refs/heads/master@{#17640}
> > Committed: 64e739aeae
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2816463002
> Cr-Commit-Position: refs/heads/master@{#17644}
> Committed: 5721866808

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2812913002
Cr-Commit-Position: refs/heads/master@{#17651}
2017-04-11 13:12:37 +00:00
ilnik
29dbb1992a Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2811963002/ )
Reason for revert:
Relanded by mistake.

Original issue's description:
> Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
>
> Reason for revert:
> Reland with fixes which break API
>
> Original issue's description:
> > Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
> >
> > Reason for revert:
> > Breaks dependent projects.
> >
> > Original issue's description:
> > > Add content type information to Encoded Images and add corresponding RTP extension header.
> > > Use it to separate UMA e2e delay metric between screenshare from video.
> > > Content type extension is set based on encoder settings and processed and decoders.
> > >
> > > Also,
> > > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> > >
> > > BUG=webrtc:7420
> > >
> > > Review-Url: https://codereview.webrtc.org/2772033002
> > > Cr-Commit-Position: refs/heads/master@{#17640}
> > > Committed: 64e739aeae
> >
> > TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2816463002
> > Cr-Commit-Position: refs/heads/master@{#17644}
> > Committed: 5721866808
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2811963002
> Cr-Commit-Position: refs/heads/master@{#17645}
> Committed: 4fa0c4f97f

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2810923004
Cr-Commit-Position: refs/heads/master@{#17648}
2017-04-11 11:49:07 +00:00
ilnik
4fa0c4f97f Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
Reason for revert:
Reland with fixes which break API

Original issue's description:
> Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
>
> Reason for revert:
> Breaks dependent projects.
>
> Original issue's description:
> > Add content type information to Encoded Images and add corresponding RTP extension header.
> > Use it to separate UMA e2e delay metric between screenshare from video.
> > Content type extension is set based on encoder settings and processed and decoders.
> >
> > Also,
> > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> >
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2772033002
> > Cr-Commit-Position: refs/heads/master@{#17640}
> > Committed: 64e739aeae
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2816463002
> Cr-Commit-Position: refs/heads/master@{#17644}
> Committed: 5721866808

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2811963002
Cr-Commit-Position: refs/heads/master@{#17645}
2017-04-11 11:01:43 +00:00
ilnik
5721866808 Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
Reason for revert:
Breaks dependent projects.

Original issue's description:
> Add content type information to Encoded Images and add corresponding RTP extension header.
> Use it to separate UMA e2e delay metric between screenshare from video.
> Content type extension is set based on encoder settings and processed and decoders.
>
> Also,
> Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
>
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2772033002
> Cr-Commit-Position: refs/heads/master@{#17640}
> Committed: 64e739aeae

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2816463002
Cr-Commit-Position: refs/heads/master@{#17644}
2017-04-11 10:59:43 +00:00
ilnik
64e739aeae Add content type information to Encoded Images and add corresponding RTP extension header.
Use it to separate UMA e2e delay metric between screenshare from video.
Content type extension is set based on encoder settings and processed and decoders.

Also,
Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.

BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2772033002
Cr-Commit-Position: refs/heads/master@{#17640}
2017-04-11 08:46:04 +00:00
hbos
8d609f6b6d Reland of Implemented the GetSources() in native code. (patchset #1 id:1 of https://codereview.webrtc.org/2809613002/ )
Reason for revert:
Re-land, reverting did not fix bug.

https://bugs.chromium.org/p/webrtc/issues/detail?id=7465

Original issue's description:
> Revert of Implemented the GetSources() in native code. (patchset #11 id:510001 of https://codereview.webrtc.org/2770233003/ )
>
> Reason for revert:
> Suspected of WebRtcApprtcBrowserTest.MANUAL_WorksOnApprtc breakage, see
>
> https://bugs.chromium.org/p/webrtc/issues/detail?id=7465
>
> Original issue's description:
> > Added the GetSources() to the RtpReceiverInterface and implemented
> > it for the AudioRtpReceiver.
> >
> > This method returns a vector of RtpSource(both CSRC source and SSRC
> > source) which contains the ID of a source, the timestamp, the source
> > type (SSRC or CSRC) and the audio level.
> >
> > The RtpSource objects are buffered and maintained by the
> > RtpReceiver in webrtc/modules/rtp_rtcp/. When the method is called,
> > the info of the contributing source will be pulled along the object
> > chain:
> > AudioRtpReceiver -> VoiceChannel -> WebRtcVoiceMediaChannel ->
> > AudioReceiveStream -> voe::Channel -> RtpRtcp module
> >
> > Spec:https://w3c.github.io/webrtc-pc/archives/20151006/webrtc.html#widl-RTCRtpReceiver-getContributingSources-sequence-RTCRtpContributingSource
> >
> > BUG=chromium:703122
> > TBR=stefan@webrtc.org, danilchap@webrtc.org
> >
> > Review-Url: https://codereview.webrtc.org/2770233003
> > Cr-Commit-Position: refs/heads/master@{#17591}
> > Committed: 292084c376
>
> TBR=deadbeef@webrtc.org,solenberg@webrtc.org,hbos@webrtc.org,philipel@webrtc.org,stefan@webrtc.org,danilchap@webrtc.org,zhihuang@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=chromium:703122
>
> Review-Url: https://codereview.webrtc.org/2809613002
> Cr-Commit-Position: refs/heads/master@{#17616}
> Committed: fbcc5cb386

TBR=deadbeef@webrtc.org,solenberg@webrtc.org,philipel@webrtc.org,stefan@webrtc.org,danilchap@webrtc.org,zhihuang@webrtc.org,olka@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:703122

Review-Url: https://codereview.webrtc.org/2810623003
Cr-Commit-Position: refs/heads/master@{#17621}
2017-04-10 14:39:05 +00:00
olka
fbcc5cb386 Revert of Implemented the GetSources() in native code. (patchset #11 id:510001 of https://codereview.webrtc.org/2770233003/ )
Reason for revert:
Suspected of WebRtcApprtcBrowserTest.MANUAL_WorksOnApprtc breakage, see

https://bugs.chromium.org/p/webrtc/issues/detail?id=7465

Original issue's description:
> Added the GetSources() to the RtpReceiverInterface and implemented
> it for the AudioRtpReceiver.
>
> This method returns a vector of RtpSource(both CSRC source and SSRC
> source) which contains the ID of a source, the timestamp, the source
> type (SSRC or CSRC) and the audio level.
>
> The RtpSource objects are buffered and maintained by the
> RtpReceiver in webrtc/modules/rtp_rtcp/. When the method is called,
> the info of the contributing source will be pulled along the object
> chain:
> AudioRtpReceiver -> VoiceChannel -> WebRtcVoiceMediaChannel ->
> AudioReceiveStream -> voe::Channel -> RtpRtcp module
>
> Spec:https://w3c.github.io/webrtc-pc/archives/20151006/webrtc.html#widl-RTCRtpReceiver-getContributingSources-sequence-RTCRtpContributingSource
>
> BUG=chromium:703122
> TBR=stefan@webrtc.org, danilchap@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2770233003
> Cr-Commit-Position: refs/heads/master@{#17591}
> Committed: 292084c376

TBR=deadbeef@webrtc.org,solenberg@webrtc.org,hbos@webrtc.org,philipel@webrtc.org,stefan@webrtc.org,danilchap@webrtc.org,zhihuang@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:703122

Review-Url: https://codereview.webrtc.org/2809613002
Cr-Commit-Position: refs/heads/master@{#17616}
2017-04-10 11:38:13 +00:00
zhihuang
292084c376 Added the GetSources() to the RtpReceiverInterface and implemented
it for the AudioRtpReceiver.

This method returns a vector of RtpSource(both CSRC source and SSRC
source) which contains the ID of a source, the timestamp, the source
type (SSRC or CSRC) and the audio level.

The RtpSource objects are buffered and maintained by the
RtpReceiver in webrtc/modules/rtp_rtcp/. When the method is called,
the info of the contributing source will be pulled along the object
chain:
AudioRtpReceiver -> VoiceChannel -> WebRtcVoiceMediaChannel ->
AudioReceiveStream -> voe::Channel -> RtpRtcp module

Spec:https://w3c.github.io/webrtc-pc/archives/20151006/webrtc.html#widl-RTCRtpReceiver-getContributingSources-sequence-RTCRtpContributingSource

BUG=chromium:703122
TBR=stefan@webrtc.org, danilchap@webrtc.org

Review-Url: https://codereview.webrtc.org/2770233003
Cr-Commit-Position: refs/heads/master@{#17591}
2017-04-07 17:57:22 +00:00
deadbeef
225bfc0971 Make PacketTransportInternal inherit from PacketTransportInterface.
Was just overlooked in an earlier CL.

BUG=webrtc:7013
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2806463003
Cr-Commit-Position: refs/heads/master@{#17579}
2017-04-07 04:47:33 +00:00
ossu
a1a040a4a4 Injectable audio encoders: BuiltinAudioEncoderFactory
This CL contains all the changes made to audio_coding while making
audio encoders injectable. Apart from some small changes to
webrtcvoiceengine, nothing here is hooked up to the outside
world. Those changes will be added to a follow-up CL.

BUG=webrtc:5806

Review-Url: https://codereview.webrtc.org/2695243005
Cr-Commit-Position: refs/heads/master@{#17569}
2017-04-06 17:03:21 +00:00
ilnik
d60d06a9f9 Reland of Move video_encoder.h and video_decoder.h to /api and create GN targets for them (patchset #1 id:1 of https://codereview.webrtc.org/2794033002/ )
Reason for revert:
Reland with temporary deprecated API to not break chromium and google3.

Original issue's description:
> Revert of Move video_encoder.h and video_decoder.h to /api and create GN targets for them (patchset #8 id:140001 of https://codereview.webrtc.org/2780943003/ )
>
> Reason for revert:
> Suspect of breaking Chrome FYI bots.
>
> See
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/23065
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder
>
> Example logs:
> ../../content/renderer/media/gpu/rtc_video_encoder_unittest.cc:18:46: fatal error: third_party/webrtc/video_encoder.h: No such file or directory
>  #include "third_party/webrtc/video_encoder.h"
>                                               ^
>
> Original issue's description:
> > Move video_encoder.h and video_decoder.h to /api and create GN targets for them
> >
> > BUG=webrtc:5881
> > # Because PRESUBMIT ignores LINT blacklist for moved files and these
> > # headers have some not easy to resolve issues.
> > NOPRESUBMIT=True
> >
> > Review-Url: https://codereview.webrtc.org/2780943003
> > Cr-Commit-Position: refs/heads/master@{#17511}
> > Committed: c42f540570
>
> TBR=solenberg@webrtc.org,sprang@webrtc.org,ilnik@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5881
>
> Review-Url: https://codereview.webrtc.org/2794033002
> Cr-Commit-Position: refs/heads/master@{#17514}
> Committed: 716d7ac5c1

TBR=solenberg@webrtc.org,sprang@webrtc.org,guidou@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5881

Review-Url: https://codereview.webrtc.org/2795163002
Cr-Commit-Position: refs/heads/master@{#17537}
2017-04-05 10:02:20 +00:00
guidou
716d7ac5c1 Revert of Move video_encoder.h and video_decoder.h to /api and create GN targets for them (patchset #8 id:140001 of https://codereview.webrtc.org/2780943003/ )
Reason for revert:
Suspect of breaking Chrome FYI bots.

See
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/23065
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder

Example logs:
../../content/renderer/media/gpu/rtc_video_encoder_unittest.cc:18:46: fatal error: third_party/webrtc/video_encoder.h: No such file or directory
 #include "third_party/webrtc/video_encoder.h"
                                              ^

Original issue's description:
> Move video_encoder.h and video_decoder.h to /api and create GN targets for them
>
> BUG=webrtc:5881
> # Because PRESUBMIT ignores LINT blacklist for moved files and these
> # headers have some not easy to resolve issues.
> NOPRESUBMIT=True
>
> Review-Url: https://codereview.webrtc.org/2780943003
> Cr-Commit-Position: refs/heads/master@{#17511}
> Committed: c42f540570

TBR=solenberg@webrtc.org,sprang@webrtc.org,ilnik@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5881

Review-Url: https://codereview.webrtc.org/2794033002
Cr-Commit-Position: refs/heads/master@{#17514}
2017-04-03 16:15:52 +00:00
ilnik
c42f540570 Move video_encoder.h and video_decoder.h to /api and create GN targets for them
BUG=webrtc:5881
# Because PRESUBMIT ignores LINT blacklist for moved files and these
# headers have some not easy to resolve issues.
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2780943003
Cr-Commit-Position: refs/heads/master@{#17511}
2017-04-03 15:37:32 +00:00
deadbeef
1dcb16409a Rewrite PeerConnection integration tests using better testing practices.
Also renames "peerconnection_unittests" to "peerconnection_integrationtests",
and moves the ICE URL parsing code to separate files.

The main problem previously was that the test assertions
occurred in various places in the main test class, and this shared test
code was overly complex and stateful. As a result, it was difficult to
tell what a test even does, let alone what assertions it's meant to be
making. And writing a new test that does what you want can be a
frustrating ordeal.

The new code still uses helper methods, but they have intuitive names
and a smaller role; all of the important parts of the test's logic are
in the test case itself.

We're planning on merging PeerConnection and WebRtcSession at some point
soon, so it seemed valuable to do this, so that the WebRtcSession tests
can be rewritten as PeerConnection tests using better patterns.

BUG=None

Review-Url: https://codereview.webrtc.org/2738353003
Cr-Commit-Position: refs/heads/master@{#17458}
2017-03-30 04:08:16 +00:00
magjed
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
oprypin
8e58d65ddf Make lint errors fatal in presubmit and fix files in whitelisted paths
BUG=webrtc:5149

Review-Url: https://codereview.webrtc.org/2762963002
Cr-Commit-Position: refs/heads/master@{#17323}
2017-03-21 14:52:41 +00:00
zstein
7aeabd081f Add CryptoParams to webrtc::MediaSession.
SrtpTransportInterface methods take cricket::CryptoParams, so this
should be enough for now.

BUG=webrtc:7311

Review-Url: https://codereview.webrtc.org/2753343002
Cr-Commit-Position: refs/heads/master@{#17299}
2017-03-18 02:10:37 +00:00
zhihuang
30e0da4a65 Change the type of session_id() from string to int64_t.
BUG=webrtc:7311

Review-Url: https://codereview.webrtc.org/2749493002
Cr-Commit-Position: refs/heads/master@{#17215}
2017-03-13 18:00:54 +00:00
zhihuang
55adc0e1a5 Add skeleton webrtc::SessionDescription and webrtc::MediaDescription classes.
BUG=webrtc:7311

Review-Url: https://codereview.webrtc.org/2743003004
Cr-Commit-Position: refs/heads/master@{#17181}
2017-03-11 02:33:45 +00:00
nisse
7f067663ac Delete deprecated PeerConnection methods, and corresponding using declarations.
BUG=None

Review-Url: https://codereview.webrtc.org/2632203003
Cr-Commit-Position: refs/heads/master@{#17120}
2017-03-08 14:59:45 +00:00
zhihuang
b09b3f9a62 Add the option to disable IPv6 ICE candidates on WiFi.
Add an attribute to the RTCConfiguration which can be used by specific
mobile devices so that the IPv6 ICE candidates on WiFi will not be collected.

BUG=b/35725283

Review-Url: https://codereview.webrtc.org/2731813002
Cr-Commit-Position: refs/heads/master@{#17100}
2017-03-07 22:40:51 +00:00
kjellander
1993b1de1f Reland "Enable GN check for webrtc/examples"
This is a reland of https://codereview.webrtc.org/2714343002
with the errors related to inclusions of test targets in webrtc/api
resolved.

BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2733673002
Cr-Commit-Position: refs/heads/master@{#17053}
2017-03-06 08:29:21 +00:00
zhihuang
d3501adf17 Create the SrtpTransportInterface.
Create the SrtpTransportInterface, a subclass of RtpTransportInterface, which
allows the user to set the send and receive keys. The functionalities are
implemented inside the RtpTransportAdapters on top of BaseChannel.

BUG=webrtc:7013

Review-Url: https://codereview.webrtc.org/2714813004
Cr-Commit-Position: refs/heads/master@{#17023}
2017-03-03 22:39:06 +00:00
kjellander
2f6af9ca7a Revert of GN: Include webrtc/api targets even if rtc_include_tests=false (patchset #2 id:20001 of https://codereview.webrtc.org/2725053008/ )
Reason for revert:
Fails Chromium builds:
b/c/b/linux/src/buildtools/linux64/gn gen //out/Release --check
  -> returned 1
ERROR at //third_party/webrtc/api/BUILD.gn:186:5: Can't load input file.
    "//webrtc/test:test_support",
    ^-------------------------

Original issue's description:
> GN: Include webrtc/api targets even if rtc_include_tests=false
>
> The main purpose with the rtc_include_tests GN variable is to avoid
> generating and compiling all the test targets.
> Some of our examples have dependencies on the test headers in API,
> so therefore this change is relaxing that condition.
>
> BUG=webrtc:6828
> NOTRY=True
> TBR=ehmaldonado@webrtc.org,
>
> Review-Url: https://codereview.webrtc.org/2725053008
> Cr-Commit-Position: refs/heads/master@{#16989}
> Committed: a769ceba65

TBR=ehmaldonado@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/2728073002
Cr-Commit-Position: refs/heads/master@{#16990}
2017-03-03 06:26:23 +00:00
kjellander
a769ceba65 GN: Include webrtc/api targets even if rtc_include_tests=false
The main purpose with the rtc_include_tests GN variable is to avoid
generating and compiling all the test targets.
Some of our examples have dependencies on the test headers in API,
so therefore this change is relaxing that condition.

BUG=webrtc:6828
NOTRY=True
TBR=ehmaldonado@webrtc.org,

Review-Url: https://codereview.webrtc.org/2725053008
Cr-Commit-Position: refs/heads/master@{#16989}
2017-03-03 06:25:03 +00:00
hbos
a7a9be159d Move RTCOutboundRTPStreamStats.roundTripTime to inbound, don't collect.
The value is being moved:
https://github.com/w3c/webrtc-stats/pull/167

Stop collecting this value. Our previous value was incorrect, our RTT
value was a smoothed value based on STUN pings but the spec says it
should be based on RTCP timestamps in RTCP Receiver Report (RR) on
inbound streams with isRemote=true (not supported).

Updated some bug references.

BUG=webrtc:7065, webrtc:7066

Review-Url: https://codereview.webrtc.org/2722633005
Cr-Commit-Position: refs/heads/master@{#16931}
2017-03-01 09:02:45 +00:00
deadbeef
3c8771e929 Fixing "control reaches end of non-void function" compile warning.
Warning is benign in this case, and the returns won't ever actually be
hit.

BUG=chromium:697060

Review-Url: https://codereview.webrtc.org/2726633004
Cr-Commit-Position: refs/heads/master@{#16926}
2017-03-01 02:30:35 +00:00
hbos
13f54b2c56 Rename RTCCodecStats.codec -> mimeType, parameters -> sdpFmtpLine.
As per https://github.com/w3c/webrtc-stats/pull/168.

NOTRY due to broken linux_ubsan_vptr, all other tests passed.

BUG=webrtc:7061
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718383002
Cr-Commit-Position: refs/heads/master@{#16907}
2017-02-28 14:56:04 +00:00
hbos
7562fc8adb Make hbos and hta rtcstats* OWNERS of webrtc/pc, not webrtc/api.
We were already OWNERS of these files, but when these files were moved
from webrtc/api/ to webrtc/pc/ and a new OWNERS file created our
ownership was accidentally not moved.

Becoming per-file=rtcstats* OWNER of webrtc/pc/ which includes:
 rtcstats_integrationtest.cc
 rtcstatscollector.cc
 rtcstatscollector.h
 rtcstatscollector_unittest.cc

Dropping ownership of webrtc/api/ which no longer includes any
rtcstats* files.

Already OWNER of all of webrtc/api/stats/ which includes:
 rtcstats.h
 rtcstats_objects.h
 rtcstatscollectorcallback.h
 rtcstatsreport.h

Already OWNER of all of webrtc/stats/ which includes:
 rtcstats.cc
 rtcstats_objects.cc
 rtcstats_unittest.cc
 rtcstatsreport.cc
 rtcstatsreport_unittest.cc

BUG=webrtc:7060
TBR=hta@webrtc.org, deadbeef@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2726563002
Cr-Commit-Position: refs/heads/master@{#16906}
2017-02-28 14:46:44 +00:00
hbos
bf8d3e572c RTCIceCandidatePairStats.[total/current]RoundTripTime collected.
Collected in accordance with the spec:
https://w3c.github.io/webrtc-stats/#candidatepair-dict*

totalRoundTripTime is collected as the sum of rtt measurements, it was
previously not collected.
currentRoundTripTime is collected as the latest rtt measurement, it
was previously collected as a smoothed value, which was incorrect.

Connection is updated to collect these values which are surfaced
through ConnectionInfo.

BUG=webrtc:7062, webrtc:7204

Review-Url: https://codereview.webrtc.org/2719523002
Cr-Commit-Position: refs/heads/master@{#16905}
2017-02-28 14:34:47 +00:00
deadbeef
8d60a946ae Replace NULL with nullptr or null in webrtc/api/.
BUG=webrtc:7147

Review-Url: https://codereview.webrtc.org/2715103002
Cr-Commit-Position: refs/heads/master@{#16880}
2017-02-27 22:47:33 +00:00
hbos
92eaec6104 RTCIceCandidatePairStats.nominated collected.
Connection::nominated() is updated to mean
(remote_nomination_ || acked_nomination_), which means both a
controlling and controlled agent can be said to be "nominated".
Previously this was (remote_nomination_ > 0) which only applies to the
controlling agent.

PortTest.TestNomination added to test nomination values and nomination
stat.

This value is surfaced through cricket::ConnectionInfo::nominated.
RTCStatsCollector uses this value in its collection of
RTCIceCandidatePairStats.

RTCStatsCollectorTest.CollectRTCIceCandidatePairStats updated to test
that ConnectionInfo::nominated is surfaced using mocks.
rtcstats_integrationtest.cc updated to expect nomination set without
using mocks.

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-nominated

BUG=webrtc:7062, webrtc:7204

Review-Url: https://codereview.webrtc.org/2709293004
Cr-Commit-Position: refs/heads/master@{#16855}
2017-02-27 09:38:08 +00:00
deadbeef
e814a0dee0 Adding "adapter" ORTC objects on top of ChannelManager/BaseChannel/etc.
This CL adds the following interfaces:
* RtpTransportController
* RtpTransport
* RtpSender
* RtpReceiver

They're implemented on top of the "BaseChannel" object, which is normally used
in a PeerConnection, and roughly corresponds to an SDP "m=" section. As a result
of this, there are several limitations:

* You can only have one of each type of sender and receiver (audio/video) on top
  of the same transport controller.
* The sender/receiver with the same media type must use the same RTP transport.
* You can't change the transport after creating the sender or receiver.
* Some of the parameters aren't supported.

Later, these "adapter" objects will be gradually replaced by real objects that don't
have these limitations, as "BaseChannel", "MediaChannel" and related code is
restructured. In this CL, we essentially have:

ORTC adapter objects -> BaseChannel -> Media engine
PeerConnection -> BaseChannel -> Media engine

And later we hope to have simply:

PeerConnection -> "Real" ORTC objects -> Media engine

See the linked bug for more context.

BUG=webrtc:7013
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2675173003
Cr-Commit-Position: refs/heads/master@{#16842}
2017-02-26 02:15:09 +00:00
deadbeef
b5388d7748 Move rtc_api_unittests into rtc_unittests.
This avoids adding an additional test target. Plus, everything in
rtc_api_unittests is (and likely will be) simple utility classes akin to
what's already being tested in rtc_unittests.

BUG=None
TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2709573003
Cr-Commit-Position: refs/heads/master@{#16819}
2017-02-24 09:17:43 +00:00
deadbeef
6038e97e04 Adding RTCErrorOr class to be used by ORTC APIs.
This utility class can be used to represent either an error or a
successful return value. Follows the pattern of StatusOr in the protobuf
library.

This will be used by ORTC factory methods; for instance, CreateRtpSender
will either return an RtpSender or an error if the parameters are
invalid or some other failure occurs.

This CL also moves RTCError classes to a separate file, and adds tests
that were missing before.

BUG=webrtc:7013

Review-Url: https://codereview.webrtc.org/2692723002
Cr-Commit-Position: refs/heads/master@{#16659}
2017-02-17 07:31:33 +00:00
zhihuang
d7e771da7b Add the URL attribute to cricket::Candiate. (Objc wrapper)
The url of the ICE server is added to the IceCandiate class.
This can be used to tell which server this candidate was gathered from.

BUG=webrtc:7128

Review-Url: https://codereview.webrtc.org/2688943003
Cr-Commit-Position: refs/heads/master@{#16652}
2017-02-16 19:29:39 +00:00