Commit graph

707 commits

Author SHA1 Message Date
Sebastian Jansson
09a9f1ba72 Adds simulated time controller API.
Bug: webrtc:11255
Change-Id: I68289a45b9441b5e612433acd96dc3cb24e47ce4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168122
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30443}
2020-02-03 10:19:08 +00:00
Erik Språng
261f792f83 Allow software fallback on lowest simulcast stream for temporal support
Bug: webrtc:11324
Change-Id: Ie505be0cda74c0444065d86c3727671c62bd4842
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167527
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30437}
2020-01-31 16:44:47 +00:00
Ivo Creusen
d69935c114 Remove function that takes command-line arguments directly
This function is obsolete now that config-based functions are available.
The command-line parsing should not happen here but in the executable
that uses these functions.

Bug: webrtc:11005
Change-Id: I618d12503123e3e1fd6e572a045372c622043a75
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167860
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30421}
2020-01-30 12:42:38 +00:00
Johannes Kron
184ea66aed Reland "Reland "Reland "Distinguish between send and receive codecs"""
This reverts commit a104ceb0ce.

Reason for revert: Keep logic as is.

Original change's description:
> Revert "Reland "Reland "Distinguish between send and receive codecs"""
>
> This reverts commit 9bac68c0cc.
>
> Reason for revert: Breaks perf test on iOS.
>
> Original change's description:
> > Reland "Reland "Distinguish between send and receive codecs""
> >
> > This reverts commit 00a30873c4.
> >
> > Reason for revert: Flaky test in Chromium fixed.
> >
> > Original change's description:
> > > Revert "Reland "Distinguish between send and receive codecs""
> > >
> > > This reverts commit 133bf2bd28.
> > >
> > > Reason for revert: Breaks Chromium import due to flaky test in Chromium.
> > >
> > > Original change's description:
> > > > Reland "Distinguish between send and receive codecs"
> > > >
> > > > This reverts commit e57b266a20.
> > > >
> > > > Reason for revert: Fixed negotiation of send-only clients.
> > > >
> > > > Original change's description:
> > > > > Revert "Distinguish between send and receive codecs"
> > > > >
> > > > > This reverts commit c0f25cf762.
> > > > >
> > > > > Reason for revert: breaks negotiation with send-only clients
> > > > >
> > > > > (webrtc_video_engine.cc:985): SetRecvParameters called with unsupported video codec: VideoCodec[96:H264]
> > > > > (peer_connection.cc:6043): Failed to set local video description recv parameters. (INVALID_PARAMETER)
> > > > > (peer_connection.cc:2591): Failed to set local offer sdp: Failed to set local video description recv parameters.
> > > > >
> > > > > Original change's description:
> > > > > > Distinguish between send and receive codecs
> > > > > >
> > > > > > Even though send and receive codecs may be the same, they might have
> > > > > > different support in HW. Distinguish between send and receive codecs
> > > > > > to be able to keep track of which codecs have HW support.
> > > > > >
> > > > > > Bug: chromium:1029737
> > > > > > Change-Id: Id119560becadfe0aaf861c892a6485f1c2eb378d
> > > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165763
> > > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > > > Cr-Commit-Position: refs/heads/master@{#30284}
> > > > >
> > > > > TBR=steveanton@webrtc.org,kron@webrtc.org
> > > > >
> > > > > Change-Id: Iacb7059436b2313b52577b65f164ee363c4816aa
> > > > > No-Presubmit: true
> > > > > No-Tree-Checks: true
> > > > > No-Try: true
> > > > > Bug: chromium:1029737
> > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166420
> > > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > > Commit-Queue: Steve Anton <steveanton@webrtc.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#30292}
> > > >
> > > > TBR=steveanton@webrtc.org,kron@webrtc.org
> > > >
> > > >
> > > > Bug: chromium:1029737
> > > > Change-Id: I287efcfdcd1c9a3f2c410aeec8fe26a84204d1fd
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166604
> > > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30348}
> > >
> > > TBR=steveanton@webrtc.org,kron@webrtc.org
> > >
> > > Change-Id: I9f8731309749e07ce7e651e1550ecfabddb1735f
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: chromium:1029737
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167205
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30360}
> >
> > TBR=steveanton@webrtc.org,kron@webrtc.org
> >
> > Change-Id: I1cc2d83bd884f10685503a9c31288f96c935d6a3
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:1029737
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167206
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30367}
>
> TBR=steveanton@webrtc.org,kron@webrtc.org
>
> Change-Id: I0a9b0b58922ce7c558b3d31b64cc12086b2a6a55
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029737
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167364
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30373}

TBR=steveanton@webrtc.org,kron@webrtc.org


Bug: chromium:1029737
Change-Id: Id381cb6d8e03b0fca941e392978362af6fdab0b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167531
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30415}
2020-01-29 18:53:54 +00:00
Bjorn A Mellem
0cda7b832a Allow non-identical datagram transport parameters.
Currently, datagram transports must report identical transport
parameters in order to negotiate use of the datagram transport.  This is
not strictly necessary, they just need parameters that fit some notion
of "compatability" (eg. both ends share some mutually-supported version
of the datagram protocol).

This change allows datagram transports to implement their own notion of
compatible transport parameters, by adding a
SetRemoteTransportParameters method to DatagramTransportInterface which
checks if the remote parameters are compatible with the local endpoint
and returns an error if they are not.

Bug: webrtc:9719
Change-Id: I166c787b468b89d9082d7e3c9995a6ed50a1650a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167741
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30412}
2020-01-29 18:14:24 +00:00
Ivo Creusen
182c2b8334 Expose run function to NetEqSimulator
Bug: webrtc:11005
Change-Id: I84f01536b40ba17e66877cdced194e05b882b5c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167537
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30405}
2020-01-29 11:55:05 +00:00
Johannes Kron
a104ceb0ce Revert "Reland "Reland "Distinguish between send and receive codecs"""
This reverts commit 9bac68c0cc.

Reason for revert: Breaks perf test on iOS.

Original change's description:
> Reland "Reland "Distinguish between send and receive codecs""
> 
> This reverts commit 00a30873c4.
> 
> Reason for revert: Flaky test in Chromium fixed.
> 
> Original change's description:
> > Revert "Reland "Distinguish between send and receive codecs""
> > 
> > This reverts commit 133bf2bd28.
> > 
> > Reason for revert: Breaks Chromium import due to flaky test in Chromium.
> > 
> > Original change's description:
> > > Reland "Distinguish between send and receive codecs"
> > > 
> > > This reverts commit e57b266a20.
> > > 
> > > Reason for revert: Fixed negotiation of send-only clients.
> > > 
> > > Original change's description:
> > > > Revert "Distinguish between send and receive codecs"
> > > >
> > > > This reverts commit c0f25cf762.
> > > >
> > > > Reason for revert: breaks negotiation with send-only clients
> > > >
> > > > (webrtc_video_engine.cc:985): SetRecvParameters called with unsupported video codec: VideoCodec[96:H264]
> > > > (peer_connection.cc:6043): Failed to set local video description recv parameters. (INVALID_PARAMETER)
> > > > (peer_connection.cc:2591): Failed to set local offer sdp: Failed to set local video description recv parameters.
> > > >
> > > > Original change's description:
> > > > > Distinguish between send and receive codecs
> > > > >
> > > > > Even though send and receive codecs may be the same, they might have
> > > > > different support in HW. Distinguish between send and receive codecs
> > > > > to be able to keep track of which codecs have HW support.
> > > > >
> > > > > Bug: chromium:1029737
> > > > > Change-Id: Id119560becadfe0aaf861c892a6485f1c2eb378d
> > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165763
> > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#30284}
> > > >
> > > > TBR=steveanton@webrtc.org,kron@webrtc.org
> > > >
> > > > Change-Id: Iacb7059436b2313b52577b65f164ee363c4816aa
> > > > No-Presubmit: true
> > > > No-Tree-Checks: true
> > > > No-Try: true
> > > > Bug: chromium:1029737
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166420
> > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > Commit-Queue: Steve Anton <steveanton@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30292}
> > > 
> > > TBR=steveanton@webrtc.org,kron@webrtc.org
> > > 
> > > 
> > > Bug: chromium:1029737
> > > Change-Id: I287efcfdcd1c9a3f2c410aeec8fe26a84204d1fd
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166604
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30348}
> > 
> > TBR=steveanton@webrtc.org,kron@webrtc.org
> > 
> > Change-Id: I9f8731309749e07ce7e651e1550ecfabddb1735f
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:1029737
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167205
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30360}
> 
> TBR=steveanton@webrtc.org,kron@webrtc.org
> 
> Change-Id: I1cc2d83bd884f10685503a9c31288f96c935d6a3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029737
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167206
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30367}

TBR=steveanton@webrtc.org,kron@webrtc.org

Change-Id: I0a9b0b58922ce7c558b3d31b64cc12086b2a6a55
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167364
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30373}
2020-01-24 16:44:17 +00:00
Artem Titov
1e02339ea6 Add ability to set custom adapter type on emulated endpoint
Bug: webrtc:10138
Change-Id: I2f53b42a2c377c9c0c9d36b61eb1c6ce96da480a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167209
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30371}
2020-01-24 12:53:07 +00:00
Johannes Kron
9bac68c0cc Reland "Reland "Distinguish between send and receive codecs""
This reverts commit 00a30873c4.

Reason for revert: Flaky test in Chromium fixed.

Original change's description:
> Revert "Reland "Distinguish between send and receive codecs""
> 
> This reverts commit 133bf2bd28.
> 
> Reason for revert: Breaks Chromium import due to flaky test in Chromium.
> 
> Original change's description:
> > Reland "Distinguish between send and receive codecs"
> > 
> > This reverts commit e57b266a20.
> > 
> > Reason for revert: Fixed negotiation of send-only clients.
> > 
> > Original change's description:
> > > Revert "Distinguish between send and receive codecs"
> > >
> > > This reverts commit c0f25cf762.
> > >
> > > Reason for revert: breaks negotiation with send-only clients
> > >
> > > (webrtc_video_engine.cc:985): SetRecvParameters called with unsupported video codec: VideoCodec[96:H264]
> > > (peer_connection.cc:6043): Failed to set local video description recv parameters. (INVALID_PARAMETER)
> > > (peer_connection.cc:2591): Failed to set local offer sdp: Failed to set local video description recv parameters.
> > >
> > > Original change's description:
> > > > Distinguish between send and receive codecs
> > > >
> > > > Even though send and receive codecs may be the same, they might have
> > > > different support in HW. Distinguish between send and receive codecs
> > > > to be able to keep track of which codecs have HW support.
> > > >
> > > > Bug: chromium:1029737
> > > > Change-Id: Id119560becadfe0aaf861c892a6485f1c2eb378d
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165763
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30284}
> > >
> > > TBR=steveanton@webrtc.org,kron@webrtc.org
> > >
> > > Change-Id: Iacb7059436b2313b52577b65f164ee363c4816aa
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: chromium:1029737
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166420
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Commit-Queue: Steve Anton <steveanton@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30292}
> > 
> > TBR=steveanton@webrtc.org,kron@webrtc.org
> > 
> > 
> > Bug: chromium:1029737
> > Change-Id: I287efcfdcd1c9a3f2c410aeec8fe26a84204d1fd
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166604
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30348}
> 
> TBR=steveanton@webrtc.org,kron@webrtc.org
> 
> Change-Id: I9f8731309749e07ce7e651e1550ecfabddb1735f
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029737
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167205
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30360}

TBR=steveanton@webrtc.org,kron@webrtc.org

Change-Id: I1cc2d83bd884f10685503a9c31288f96c935d6a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167206
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30367}
2020-01-23 23:02:59 +00:00
Johannes Kron
00a30873c4 Revert "Reland "Distinguish between send and receive codecs""
This reverts commit 133bf2bd28.

Reason for revert: Breaks Chromium import due to flaky test in Chromium.

Original change's description:
> Reland "Distinguish between send and receive codecs"
> 
> This reverts commit e57b266a20.
> 
> Reason for revert: Fixed negotiation of send-only clients.
> 
> Original change's description:
> > Revert "Distinguish between send and receive codecs"
> >
> > This reverts commit c0f25cf762.
> >
> > Reason for revert: breaks negotiation with send-only clients
> >
> > (webrtc_video_engine.cc:985): SetRecvParameters called with unsupported video codec: VideoCodec[96:H264]
> > (peer_connection.cc:6043): Failed to set local video description recv parameters. (INVALID_PARAMETER)
> > (peer_connection.cc:2591): Failed to set local offer sdp: Failed to set local video description recv parameters.
> >
> > Original change's description:
> > > Distinguish between send and receive codecs
> > >
> > > Even though send and receive codecs may be the same, they might have
> > > different support in HW. Distinguish between send and receive codecs
> > > to be able to keep track of which codecs have HW support.
> > >
> > > Bug: chromium:1029737
> > > Change-Id: Id119560becadfe0aaf861c892a6485f1c2eb378d
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165763
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30284}
> >
> > TBR=steveanton@webrtc.org,kron@webrtc.org
> >
> > Change-Id: Iacb7059436b2313b52577b65f164ee363c4816aa
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:1029737
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166420
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Commit-Queue: Steve Anton <steveanton@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30292}
> 
> TBR=steveanton@webrtc.org,kron@webrtc.org
> 
> 
> Bug: chromium:1029737
> Change-Id: I287efcfdcd1c9a3f2c410aeec8fe26a84204d1fd
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166604
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30348}

TBR=steveanton@webrtc.org,kron@webrtc.org

Change-Id: I9f8731309749e07ce7e651e1550ecfabddb1735f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167205
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30360}
2020-01-23 13:10:53 +00:00
Sebastian Jansson
7aa2edf936 Adds CreateTimeControllerBasedCallFactory.
Bug: webrtc:11255
Change-Id: I9614823761ff5d2eb4fe03342f255a81087b6449
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166960
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30358}
2020-01-23 10:29:30 +00:00
Sebastian Jansson
094ce2ef83 Adds CreateTaskQueueFactory to TimeController
Bug: webrtc:11255
Change-Id: I02bdc944c7081590f40a77b315f64c63adbc6ff8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166921
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30349}
2020-01-22 14:19:15 +00:00
Johannes Kron
133bf2bd28 Reland "Distinguish between send and receive codecs"
This reverts commit e57b266a20.

Reason for revert: Fixed negotiation of send-only clients.

Original change's description:
> Revert "Distinguish between send and receive codecs"
>
> This reverts commit c0f25cf762.
>
> Reason for revert: breaks negotiation with send-only clients
>
> (webrtc_video_engine.cc:985): SetRecvParameters called with unsupported video codec: VideoCodec[96:H264]
> (peer_connection.cc:6043): Failed to set local video description recv parameters. (INVALID_PARAMETER)
> (peer_connection.cc:2591): Failed to set local offer sdp: Failed to set local video description recv parameters.
>
> Original change's description:
> > Distinguish between send and receive codecs
> >
> > Even though send and receive codecs may be the same, they might have
> > different support in HW. Distinguish between send and receive codecs
> > to be able to keep track of which codecs have HW support.
> >
> > Bug: chromium:1029737
> > Change-Id: Id119560becadfe0aaf861c892a6485f1c2eb378d
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165763
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30284}
>
> TBR=steveanton@webrtc.org,kron@webrtc.org
>
> Change-Id: Iacb7059436b2313b52577b65f164ee363c4816aa
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029737
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166420
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30292}

TBR=steveanton@webrtc.org,kron@webrtc.org


Bug: chromium:1029737
Change-Id: I287efcfdcd1c9a3f2c410aeec8fe26a84204d1fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166604
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30348}
2020-01-22 13:55:41 +00:00
Sebastian Jansson
6ce033a863 Moves ownership of time controller into NetworkEmulationManager.
This makes it easier to maintain consistency between real time
and simulated time modes.

The RealTimeController is updated to use an explicit main thread,
this ensures that pending destruction tasks are run as the network
emulator goes out of scope.

Bug: webrtc:11255
Change-Id: Ie73ab778c78a68d7c58c0f857f14a8d8ac027c67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166164
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30342}
2020-01-22 11:12:27 +00:00
Ivo Creusen
cee751abff Reland "Enable using a custom NetEqFactory in simulations"
This is a reland of 2a11b2451a
There are no changes compared to the first attempt.

Original change's description:
> Enable using a custom NetEqFactory in simulations
>
> Bug: webrtc:11005
> Change-Id: I8a15f77953cbd3c29a75c7cfc77f926b138994b9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165580
> Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30286}

TBR=kwiberg

Bug: webrtc:11005
Change-Id: I4aa377e05916bd23f8f63aece9d0e27731c80d3e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166465
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30319}
2020-01-20 12:46:34 +00:00
Artem Titov
9fbe9ae1c1 Add support of negotiating multiple codecs in PC framework
Bug: webrtc:10138
Change-Id: Iec7df60a4185a039bd81de200c0691747e92c10c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166601
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30318}
2020-01-20 12:13:04 +00:00
Sebastian Jansson
77bd385b55 Using EmulatedEndpoint in Scenario tests.
Bug: webrtc:9883
Change-Id: I7d1dc9d8efbdddc14e1fbe08d7b6a71c4bbe24ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166341
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30300}
2020-01-17 12:50:20 +00:00
Artem Titov
524417f3f7 Move method to right place in the PC API
Bug: webrtc:10138
Change-Id: I46f353cea0dee986b211c475acbb3b39fe2df16f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166460
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30299}
2020-01-17 12:49:00 +00:00
Sebastian Jansson
c9f42ad909 Simplifies transport overhead mechanism in Scenario test framework.
This changes the behavior for adding virtual transport overhead so it
doesn't change the size of the actual payload buffer, only the
calculated packet size.

Bug: webrtc:9883
Change-Id: I6e24598378c4dd6a591d36ca3b162e933ff4ef7c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/164523
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30298}
2020-01-17 11:30:02 +00:00
Sebastian Jansson
fc8279d66c Reland "Using simulated rtc::Thread for peer connection scenario tests."
This is a reland of b70c5c5ce9

Original change's description:
> Using simulated rtc::Thread for peer connection scenario tests.
> 
> Bug: webrtc:11255
> Change-Id: I5d29e997a7209ffc64595082358cca9b2115d07a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165689
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30258}

Bug: webrtc:11255
Change-Id: If65cd56b59158cebec5609407a721fbdb47cfd1b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166046
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30294}
2020-01-17 09:22:18 +00:00
Steve Anton
e57b266a20 Revert "Distinguish between send and receive codecs"
This reverts commit c0f25cf762.

Reason for revert: breaks negotiation with send-only clients

(webrtc_video_engine.cc:985): SetRecvParameters called with unsupported video codec: VideoCodec[96:H264]
(peer_connection.cc:6043): Failed to set local video description recv parameters. (INVALID_PARAMETER)
(peer_connection.cc:2591): Failed to set local offer sdp: Failed to set local video description recv parameters.

Original change's description:
> Distinguish between send and receive codecs
> 
> Even though send and receive codecs may be the same, they might have
> different support in HW. Distinguish between send and receive codecs
> to be able to keep track of which codecs have HW support.
> 
> Bug: chromium:1029737
> Change-Id: Id119560becadfe0aaf861c892a6485f1c2eb378d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165763
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30284}

TBR=steveanton@webrtc.org,kron@webrtc.org

Change-Id: Iacb7059436b2313b52577b65f164ee363c4816aa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166420
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30292}
2020-01-17 02:47:23 +00:00
Sandeep Siddhartha
3f0bc2c176 Revert "Enable using a custom NetEqFactory in simulations"
This reverts commit 2a11b2451a.

Reason for revert: Causes b/147826709

Original change's description:
> Enable using a custom NetEqFactory in simulations
> 
> Bug: webrtc:11005
> Change-Id: I8a15f77953cbd3c29a75c7cfc77f926b138994b9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165580
> Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30286}

TBR=kwiberg@webrtc.org,ivoc@webrtc.org

Change-Id: I14a0bd6ad2a90f1686b8b1a78f18aea9325871fe
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11005
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166403
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Sandeep Siddhartha <sansid@google.com>
Cr-Commit-Position: refs/heads/master@{#30288}
2020-01-16 22:56:21 +00:00
Ivo Creusen
2a11b2451a Enable using a custom NetEqFactory in simulations
Bug: webrtc:11005
Change-Id: I8a15f77953cbd3c29a75c7cfc77f926b138994b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165580
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30286}
2020-01-16 18:26:44 +00:00
Johannes Kron
c0f25cf762 Distinguish between send and receive codecs
Even though send and receive codecs may be the same, they might have
different support in HW. Distinguish between send and receive codecs
to be able to keep track of which codecs have HW support.

Bug: chromium:1029737
Change-Id: Id119560becadfe0aaf861c892a6485f1c2eb378d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165763
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30284}
2020-01-16 15:42:05 +00:00
Jonas Oreland
c7bce99540 Make it possible to inject IceTransport in pc quality test fixture
Bug: chromium:1024965
Change-Id: I55296a31e1638c8c00bd6c53151fc4898202b033
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166168
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30279}
2020-01-16 11:56:50 +00:00
Sebastian Jansson
f1173f46e5 Revert "Using simulated rtc::Thread for peer connection scenario tests."
This reverts commit b70c5c5ce9.

Reason for revert: Interferes with other tests in same binary.

Original change's description:
> Using simulated rtc::Thread for peer connection scenario tests.
> 
> Bug: webrtc:11255
> Change-Id: I5d29e997a7209ffc64595082358cca9b2115d07a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165689
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30258}

TBR=steveanton@webrtc.org,srte@webrtc.org

Change-Id: If2e60edae264a4bb0dee3abf66ba2078fd85f493
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11255
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166045
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30259}
2020-01-15 10:10:07 +00:00
Sebastian Jansson
b70c5c5ce9 Using simulated rtc::Thread for peer connection scenario tests.
Bug: webrtc:11255
Change-Id: I5d29e997a7209ffc64595082358cca9b2115d07a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165689
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30258}
2020-01-15 09:35:40 +00:00
Mirko Bonadei
f5ecb5f22e Revert "Reland "Reland "Reland "Distinguish between send and receive video codecs""""
This reverts commit 9cad4dccc9.

Reason for revert: Breaks downstream tests.

Original change's description:
> Reland "Reland "Reland "Distinguish between send and receive video codecs"""
> 
> This is a reland of 4e64e60589
> 
> This CL lands all code except the code that activates the change,
> see media/engine/webrtc_video_engine.cc
> Once downstream projects are fixed, there will be a one-line change to
> activate the change to distinguish between send and receive video codecs.
> 
> Original change's description:
> > Reland "Reland "Distinguish between send and receive video codecs""
> >
> > This is a reland of 77eb338ae4
> >
> > Original change's description:
> > > Reland "Distinguish between send and receive video codecs"
> > >
> > > This reverts commit f2d6fe62f2.
> > >
> > > Reason for revert: Downstream test updated.
> > >
> > > Original change's description:
> > > > Revert "Reland "Distinguish between send and receive video codecs""
> > > >
> > > > This reverts commit 26e6afe93f.
> > > >
> > > > Reason for revert: Breaks another downstream test.
> > > >
> > > > Original change's description:
> > > > > Reland "Distinguish between send and receive video codecs"
> > > > >
> > > > > This reverts commit f22af3cca7.
> > > > >
> > > > > Reason for revert: Downstream tests have been updated.
> > > > >
> > > > > Original change's description:
> > > > > > Revert "Distinguish between send and receive video codecs"
> > > > > >
> > > > > > This reverts commit 18314bd8d2.
> > > > > >
> > > > > > Reason for revert: Breaks downstream test.
> > > > > >
> > > > > > Original change's description:
> > > > > > > Distinguish between send and receive video codecs
> > > > > > >
> > > > > > > Even though send and receive codecs are the same,
> > > > > > > they might have different support in HW.
> > > > > > > Distinguish between send and receive codecs to be able to keep
> > > > > > > track of which codecs have HW support.
> > > > > > >
> > > > > > > Bug: chromium:1029737
> > > > > > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > > > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > > > Cr-Commit-Position: refs/heads/master@{#30041}
> > > > > >
> > > > > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > > > >
> > > > > > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > > > > > No-Presubmit: true
> > > > > > No-Tree-Checks: true
> > > > > > No-Try: true
> > > > > > Bug: chromium:1029737
> > > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > > > > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > > Cr-Commit-Position: refs/heads/master@{#30042}
> > > > >
> > > > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > > >
> > > > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > > > >
> > > > > Bug: chromium:1029737
> > > > > Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> > > > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#30078}
> > > >
> > > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > >
> > > > Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
> > > > No-Presubmit: true
> > > > No-Tree-Checks: true
> > > > No-Try: true
> > > > Bug: chromium:1029737
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
> > > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30079}
> > >
> > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > >
> > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > >
> > > Bug: chromium:1029737
> > > Change-Id: If2c3c5b5e7d86cb852a1f20f02b6ceae62b2e0c8
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162186
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30097}
> >
> > Bug: chromium:1029737
> > Change-Id: I5912822df8169fbb3097c0f440f7924527fa950b
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162483
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30120}
> 
> Bug: chromium:1029737
> Change-Id: Id4f1c6f6f0cf7b96fe93dd22d14310d286af31f3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165682
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30219}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1029737
Change-Id: I377f82866e56862f57383f96a3b96719344eef9e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165780
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30225}
2020-01-13 09:03:37 +00:00
Johannes Kron
9cad4dccc9 Reland "Reland "Reland "Distinguish between send and receive video codecs"""
This is a reland of 4e64e60589

This CL lands all code except the code that activates the change,
see media/engine/webrtc_video_engine.cc
Once downstream projects are fixed, there will be a one-line change to
activate the change to distinguish between send and receive video codecs.

Original change's description:
> Reland "Reland "Distinguish between send and receive video codecs""
>
> This is a reland of 77eb338ae4
>
> Original change's description:
> > Reland "Distinguish between send and receive video codecs"
> >
> > This reverts commit f2d6fe62f2.
> >
> > Reason for revert: Downstream test updated.
> >
> > Original change's description:
> > > Revert "Reland "Distinguish between send and receive video codecs""
> > >
> > > This reverts commit 26e6afe93f.
> > >
> > > Reason for revert: Breaks another downstream test.
> > >
> > > Original change's description:
> > > > Reland "Distinguish between send and receive video codecs"
> > > >
> > > > This reverts commit f22af3cca7.
> > > >
> > > > Reason for revert: Downstream tests have been updated.
> > > >
> > > > Original change's description:
> > > > > Revert "Distinguish between send and receive video codecs"
> > > > >
> > > > > This reverts commit 18314bd8d2.
> > > > >
> > > > > Reason for revert: Breaks downstream test.
> > > > >
> > > > > Original change's description:
> > > > > > Distinguish between send and receive video codecs
> > > > > >
> > > > > > Even though send and receive codecs are the same,
> > > > > > they might have different support in HW.
> > > > > > Distinguish between send and receive codecs to be able to keep
> > > > > > track of which codecs have HW support.
> > > > > >
> > > > > > Bug: chromium:1029737
> > > > > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > > Cr-Commit-Position: refs/heads/master@{#30041}
> > > > >
> > > > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > > >
> > > > > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > > > > No-Presubmit: true
> > > > > No-Tree-Checks: true
> > > > > No-Try: true
> > > > > Bug: chromium:1029737
> > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > > > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#30042}
> > > >
> > > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > >
> > > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > > >
> > > > Bug: chromium:1029737
> > > > Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> > > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30078}
> > >
> > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > >
> > > Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: chromium:1029737
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30079}
> >
> > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> >
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> >
> > Bug: chromium:1029737
> > Change-Id: If2c3c5b5e7d86cb852a1f20f02b6ceae62b2e0c8
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162186
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30097}
>
> Bug: chromium:1029737
> Change-Id: I5912822df8169fbb3097c0f440f7924527fa950b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162483
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30120}

Bug: chromium:1029737
Change-Id: Id4f1c6f6f0cf7b96fe93dd22d14310d286af31f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165682
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30219}
2020-01-10 23:37:11 +00:00
Sebastian Jansson
4442871b13 Adds srte to api/test/OWNERS.
Bug: webrtc:9883
Change-Id: Ie9ff2bddb4c4140df355560317bc508058c36909
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/164524
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30158}
2020-01-07 08:56:04 +00:00
Olga Sharonova
b5159fe4a7 Revert "Reland "Reland "Distinguish between send and receive video codecs"""
This reverts commit 4e64e60589.

Reason for revert: breaks a bunch of WebRtcBrowserTests on Win: https://ci.chromium.org/p/chromium/builders/webrtc.fyi/WebRTC%20Chromium%20FYI%20Win10%20Tester/4843


Original change's description:
> Reland "Reland "Distinguish between send and receive video codecs""
> 
> This is a reland of 77eb338ae4
> 
> Original change's description:
> > Reland "Distinguish between send and receive video codecs"
> >
> > This reverts commit f2d6fe62f2.
> >
> > Reason for revert: Downstream test updated.
> >
> > Original change's description:
> > > Revert "Reland "Distinguish between send and receive video codecs""
> > >
> > > This reverts commit 26e6afe93f.
> > >
> > > Reason for revert: Breaks another downstream test.
> > >
> > > Original change's description:
> > > > Reland "Distinguish between send and receive video codecs"
> > > >
> > > > This reverts commit f22af3cca7.
> > > >
> > > > Reason for revert: Downstream tests have been updated.
> > > >
> > > > Original change's description:
> > > > > Revert "Distinguish between send and receive video codecs"
> > > > >
> > > > > This reverts commit 18314bd8d2.
> > > > >
> > > > > Reason for revert: Breaks downstream test.
> > > > >
> > > > > Original change's description:
> > > > > > Distinguish between send and receive video codecs
> > > > > >
> > > > > > Even though send and receive codecs are the same,
> > > > > > they might have different support in HW.
> > > > > > Distinguish between send and receive codecs to be able to keep
> > > > > > track of which codecs have HW support.
> > > > > >
> > > > > > Bug: chromium:1029737
> > > > > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > > Cr-Commit-Position: refs/heads/master@{#30041}
> > > > >
> > > > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > > >
> > > > > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > > > > No-Presubmit: true
> > > > > No-Tree-Checks: true
> > > > > No-Try: true
> > > > > Bug: chromium:1029737
> > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > > > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#30042}
> > > >
> > > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > >
> > > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > > >
> > > > Bug: chromium:1029737
> > > > Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> > > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30078}
> > >
> > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > >
> > > Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: chromium:1029737
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30079}
> >
> > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> >
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> >
> > Bug: chromium:1029737
> > Change-Id: If2c3c5b5e7d86cb852a1f20f02b6ceae62b2e0c8
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162186
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30097}
> 
> Bug: chromium:1029737
> Change-Id: I5912822df8169fbb3097c0f440f7924527fa950b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162483
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30120}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

Change-Id: I709ee0eb6246aa79dde3aacfc4c47e070c4e90ea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162904
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Commit-Queue: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30122}
2019-12-20 13:57:12 +00:00
Johannes Kron
4e64e60589 Reland "Reland "Distinguish between send and receive video codecs""
This is a reland of 77eb338ae4

Original change's description:
> Reland "Distinguish between send and receive video codecs"
>
> This reverts commit f2d6fe62f2.
>
> Reason for revert: Downstream test updated.
>
> Original change's description:
> > Revert "Reland "Distinguish between send and receive video codecs""
> >
> > This reverts commit 26e6afe93f.
> >
> > Reason for revert: Breaks another downstream test.
> >
> > Original change's description:
> > > Reland "Distinguish between send and receive video codecs"
> > >
> > > This reverts commit f22af3cca7.
> > >
> > > Reason for revert: Downstream tests have been updated.
> > >
> > > Original change's description:
> > > > Revert "Distinguish between send and receive video codecs"
> > > >
> > > > This reverts commit 18314bd8d2.
> > > >
> > > > Reason for revert: Breaks downstream test.
> > > >
> > > > Original change's description:
> > > > > Distinguish between send and receive video codecs
> > > > >
> > > > > Even though send and receive codecs are the same,
> > > > > they might have different support in HW.
> > > > > Distinguish between send and receive codecs to be able to keep
> > > > > track of which codecs have HW support.
> > > > >
> > > > > Bug: chromium:1029737
> > > > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#30041}
> > > >
> > > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > >
> > > > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > > > No-Presubmit: true
> > > > No-Tree-Checks: true
> > > > No-Try: true
> > > > Bug: chromium:1029737
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30042}
> > >
> > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > >
> > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > >
> > > Bug: chromium:1029737
> > > Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30078}
> >
> > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> >
> > Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:1029737
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30079}
>
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: chromium:1029737
> Change-Id: If2c3c5b5e7d86cb852a1f20f02b6ceae62b2e0c8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162186
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30097}

Bug: chromium:1029737
Change-Id: I5912822df8169fbb3097c0f440f7924527fa950b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162483
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30120}
2019-12-20 11:44:42 +00:00
Ilya Nikolaevskiy
f9d92ed2c8 Revert "Reland "Distinguish between send and receive video codecs""
This reverts commit 77eb338ae4.

Reason for revert: Speculative revert, as it seems to have broken webrtc-importer

Original change's description:
> Reland "Distinguish between send and receive video codecs"
> 
> This reverts commit f2d6fe62f2.
> 
> Reason for revert: Downstream test updated.
> 
> Original change's description:
> > Revert "Reland "Distinguish between send and receive video codecs""
> > 
> > This reverts commit 26e6afe93f.
> > 
> > Reason for revert: Breaks another downstream test.
> > 
> > Original change's description:
> > > Reland "Distinguish between send and receive video codecs"
> > > 
> > > This reverts commit f22af3cca7.
> > > 
> > > Reason for revert: Downstream tests have been updated.
> > > 
> > > Original change's description:
> > > > Revert "Distinguish between send and receive video codecs"
> > > > 
> > > > This reverts commit 18314bd8d2.
> > > > 
> > > > Reason for revert: Breaks downstream test.
> > > > 
> > > > Original change's description:
> > > > > Distinguish between send and receive video codecs
> > > > > 
> > > > > Even though send and receive codecs are the same,
> > > > > they might have different support in HW.
> > > > > Distinguish between send and receive codecs to be able to keep
> > > > > track of which codecs have HW support.
> > > > > 
> > > > > Bug: chromium:1029737
> > > > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#30041}
> > > > 
> > > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > > 
> > > > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > > > No-Presubmit: true
> > > > No-Tree-Checks: true
> > > > No-Try: true
> > > > Bug: chromium:1029737
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30042}
> > > 
> > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > 
> > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > > 
> > > Bug: chromium:1029737
> > > Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30078}
> > 
> > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > 
> > Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:1029737
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30079}
> 
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: chromium:1029737
> Change-Id: If2c3c5b5e7d86cb852a1f20f02b6ceae62b2e0c8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162186
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30097}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

Change-Id: I73d4fe3bb18e40a01f1b1b0c71f9dc7b85c513b7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162208
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30100}
2019-12-16 15:28:41 +00:00
Johannes Kron
77eb338ae4 Reland "Distinguish between send and receive video codecs"
This reverts commit f2d6fe62f2.

Reason for revert: Downstream test updated.

Original change's description:
> Revert "Reland "Distinguish between send and receive video codecs""
> 
> This reverts commit 26e6afe93f.
> 
> Reason for revert: Breaks another downstream test.
> 
> Original change's description:
> > Reland "Distinguish between send and receive video codecs"
> > 
> > This reverts commit f22af3cca7.
> > 
> > Reason for revert: Downstream tests have been updated.
> > 
> > Original change's description:
> > > Revert "Distinguish between send and receive video codecs"
> > > 
> > > This reverts commit 18314bd8d2.
> > > 
> > > Reason for revert: Breaks downstream test.
> > > 
> > > Original change's description:
> > > > Distinguish between send and receive video codecs
> > > > 
> > > > Even though send and receive codecs are the same,
> > > > they might have different support in HW.
> > > > Distinguish between send and receive codecs to be able to keep
> > > > track of which codecs have HW support.
> > > > 
> > > > Bug: chromium:1029737
> > > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30041}
> > > 
> > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > 
> > > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: chromium:1029737
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30042}
> > 
> > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > 
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> > 
> > Bug: chromium:1029737
> > Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30078}
> 
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> 
> Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029737
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30079}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1029737
Change-Id: If2c3c5b5e7d86cb852a1f20f02b6ceae62b2e0c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162186
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30097}
2019-12-16 14:03:46 +00:00
Johannes Kron
f2d6fe62f2 Revert "Reland "Distinguish between send and receive video codecs""
This reverts commit 26e6afe93f.

Reason for revert: Breaks another downstream test.

Original change's description:
> Reland "Distinguish between send and receive video codecs"
> 
> This reverts commit f22af3cca7.
> 
> Reason for revert: Downstream tests have been updated.
> 
> Original change's description:
> > Revert "Distinguish between send and receive video codecs"
> > 
> > This reverts commit 18314bd8d2.
> > 
> > Reason for revert: Breaks downstream test.
> > 
> > Original change's description:
> > > Distinguish between send and receive video codecs
> > > 
> > > Even though send and receive codecs are the same,
> > > they might have different support in HW.
> > > Distinguish between send and receive codecs to be able to keep
> > > track of which codecs have HW support.
> > > 
> > > Bug: chromium:1029737
> > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30041}
> > 
> > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > 
> > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:1029737
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30042}
> 
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: chromium:1029737
> Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30078}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30079}
2019-12-12 22:30:25 +00:00
Johannes Kron
26e6afe93f Reland "Distinguish between send and receive video codecs"
This reverts commit f22af3cca7.

Reason for revert: Downstream tests have been updated.

Original change's description:
> Revert "Distinguish between send and receive video codecs"
> 
> This reverts commit 18314bd8d2.
> 
> Reason for revert: Breaks downstream test.
> 
> Original change's description:
> > Distinguish between send and receive video codecs
> > 
> > Even though send and receive codecs are the same,
> > they might have different support in HW.
> > Distinguish between send and receive codecs to be able to keep
> > track of which codecs have HW support.
> > 
> > Bug: chromium:1029737
> > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30041}
> 
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> 
> Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029737
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30042}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1029737
Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30078}
2019-12-12 22:13:02 +00:00
Sebastian Jansson
3927298c22 Adds queue length setter to simulated network node builder.
Bug: webrtc:9883
Change-Id: Icf3d2c78200f0a5e716c872ab973af0e4026f362
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161305
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30071}
2019-12-12 09:15:21 +00:00
Sebastian Jansson
ce911263a4 Allows creating a test network node builder without manager.
This is used to allow using a pre-configured builders as arguments to
fixture code.

Bug: webrtc:9510
Change-Id: I7837d284580fdbc926535ce5b2d8f582056534ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161948
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30070}
2019-12-12 09:14:34 +00:00
Johannes Kron
f22af3cca7 Revert "Distinguish between send and receive video codecs"
This reverts commit 18314bd8d2.

Reason for revert: Breaks downstream test.

Original change's description:
> Distinguish between send and receive video codecs
> 
> Even though send and receive codecs are the same,
> they might have different support in HW.
> Distinguish between send and receive codecs to be able to keep
> track of which codecs have HW support.
> 
> Bug: chromium:1029737
> Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30041}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30042}
2019-12-09 14:48:55 +00:00
Johannes Kron
18314bd8d2 Distinguish between send and receive video codecs
Even though send and receive codecs are the same,
they might have different support in HW.
Distinguish between send and receive codecs to be able to keep
track of which codecs have HW support.

Bug: chromium:1029737
Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30041}
2019-12-09 13:56:55 +00:00
Artem Titov
33f9d2b383 Migrate WebRTC on FrameGeneratorInterface and remove FrameGenerator class
Bug: webrtc:10138
Change-Id: If85290581a72f81cf60181de7a7134cc9db7716e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161327
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30033}
2019-12-07 00:54:26 +00:00
Ivo Creusen
1518fd34d8 Add support for setting a custom NetEqFactory in PeerConnection level tests.
This allows running Peerconnection level tests with a custom NetEqFactory.

Bug: webrtc:11005
Change-Id: If3063cf61a6274a137e4ab74f9ec2665425f21ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161307
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30028}
2019-12-06 12:34:02 +00:00
Sebastian Jansson
cec2433c47 Exposing more features in the network emulation manager API.
Bug: webrtc:9883
Change-Id: I2a687b46e3374db0dd08b0c02dfea1482e6fb89f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161229
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30024}
2019-12-06 08:47:19 +00:00
Artem Titov
78782a806f Fix IVF FrameGenerator factory method name
Bug: webrtc:10138
Change-Id: I8175209beade8a67e63addf30fb0bda1d941f6c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161326
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30013}
2019-12-05 10:14:51 +00:00
Artem Titov
0020226e63 Replace VideoSourceInterface with FrameGeneratorInterface in AddVideoConfig
Replace VideoSourceInterface with FrameGeneratorInterface in
AddVideoConfig in PC quality test fixture.

Bug: webrtc:10138
Change-Id: I6e5fe91d286e0360bfcad1785af1fb1d8f890563
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161239
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30012}
2019-12-05 10:02:22 +00:00
Artem Titov
fd76b5fe86 Introduce factory method for IVF frame generator
Bug: webrtc:10138
Change-Id: I9039aa289c935b7fcc2f3ab4ddec6413eb1302c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161324
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30011}
2019-12-05 09:28:56 +00:00
Artem Titov
503d7237ce Introduce FrameGeneratorInterface
Introduce FrameGeneratorInterface to make FrameGenerator API available
for downstream projects.

Bug: webrtc:10138
Change-Id: I4216775e4b8b54c3f1c72d67ffbda31eb082fd7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161234
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30009}
2019-12-04 21:09:57 +00:00
Sebastian Jansson
340af975e9 Always enter yield policy scope using simulated TimeControllers.
This makes the class easier to use at a minor cost of making it slightly
more magic.

Bug: webrtc:9883
Change-Id: If807cfbf046615333c3bcd3b58a001813102a9f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161231
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30008}
2019-12-04 17:16:32 +00:00
Saurav Das
934afc6ba1 Deprecate RtpReceiver's SetParameters method
This removes the SetParameters method from AudioRtpReceiver and Video
RtpReceiver, which is currently not used and is not part of the
specifications.


Bug: webrtc:11111
Change-Id: I6f67773bfef2d4b51e9ab670bde17b5fbf5f94c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159307
Reviewed-by: Patrik Höglund <phoglund@google.com>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Daniela Jovanoska Petrenko <denicija@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Saurav Das <dinosaurav@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29995}
2019-12-03 19:50:42 +00:00
Markus Handell
486cc55a02 TimeController: Rename Sleep to AdvanceTime.
This change renames TimeController's Sleep method to AdvanceTime, unifying
the same name with the same semantic as for downstream projects.

Bug: webrtc:11154
Change-Id: Id79bcf0eafcd0b47a76407ba220479d84df5a736
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161092
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29989}
2019-12-03 16:08:54 +00:00
Ivo Creusen
39cf3c723e Clean up the NetEqFactory API.
This CL decouples NetEqFactory and AudioDecoderFactory.
AudioDecoderFactory is used in more places than just inside of NetEq, so
decoupling these makes sense.

Bug: webrtc:11005
Change-Id: I78dd856e4248e398e69a65816b062ef30555b055
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161005
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29961}
2019-11-29 14:04:44 +00:00
Bjorn A Mellem
7a9a092708 Delete media transport integration.
MediaTransport is deprecated and the code is unused.

No-Try: True
Bug: webrtc:9719
Change-Id: I5b864c1e74bf04df16c15f51b8fac3d407331dcd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160620
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29923}
2019-11-26 19:19:36 +00:00
Ivo Creusen
68c6572980 Add a CreateNetEq method that takes an AudioDecoderFactory
The NetEqFactory is currently expected to wrap the AudioDecoderFactory,
but this turns out not to be a good idea. Instead, it makes more sense
to pass the AudioDecoderFactory through the CreateNetEq method.

Bug: webrtc:11005
Change-Id: I8027ff6593f40c92072e7e88157631dcf329a984
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160644
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29918}
2019-11-26 14:43:49 +00:00
Bjorn A Mellem
c4f865413a Add TimeController to api/test/ and add a CreateTimeController API.
Creates an abstraction for an "alarm clock" which can schedule
time-controller callbacks and exposes a time controller driven by
an external alarm.

Bug: webrtc:9719
Change-Id: I08c2aa9dba25603043bfba48f55c925716a55bae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158969
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29879}
2019-11-22 17:07:23 +00:00
Artem Titov
b4463eeedc Add ability to specify custom video source for PC framework.
Add ability to provide custom implementation of rtc::VideoSourceInterface
as source for video track in PC-framework based media quality tests.

Bug: webrtc:10138
Change-Id: I8ffd3015230c733a0a9a2e97fd4bb93a0c02b283
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159680
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29776}
2019-11-12 17:08:55 +00:00
Sergey Silkin
df8fd28d0b Add output_path to VideoCodecTestFixture::Config.
This lets test to set output path explicitly.

Bug: none
Change-Id: I756484775f4c7f44cd1bb904c89d9215ffa48fe1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158798
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29702}
2019-11-06 08:48:52 +00:00
Ivo Creusen
3ce44a3540 Move NetEq headers to api/
This CL also introduces NetEqFactory and NetEqControllerFactory
interfaces, as well as several convenience classes for working with
them: DefaultNetEqFactory, DefaultNetEqControllerFactory and
CustomNetEqFactory.

Bug: webrtc:11005
Change-Id: I1e8fc5154636ac2aad1a856828f80a2a758ad392
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/156945
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29671}
2019-10-31 15:43:59 +00:00
Mirko Bonadei
86d053c2db Use source_sets in component builds and static_library in release builds.
Static libraries don't guarantee that an exported symbol gets linked
into a shared library (and in order to support Chromium's component
build mode, WebRTC needs to be linked as a shared library).

Source sets always pass all the object files to the linker.

On the flip side, source_sets link more object files in release builds
and to avoid this, this CL introduces a the GN template "rtc_library" that
expands to static_library during release builds and to source_set during
component builds.

See: https://gn.googlesource.com/gn/+/master/docs/reference.md#func_source_set

Bug: webrtc:9419
Change-Id: I4667e820c2b3fcec417becbd2034acc13e4f04fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157168
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29525}
2019-10-17 21:17:18 +00:00
Artem Titov
9afdddfed0 Enable capturing from camera in PC framework
Bug: webrtc:10138
Change-Id: Idcf10331b9f5208010b2bd29324e0fc1341db2d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/156241
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29431}
2019-10-10 13:06:39 +00:00
Ivo Creusen
99a2096248 Added support for skipping get_audio events, adding dummy packets and setting a field trial string.
Bug: webrtc:10337
Change-Id: I0507da4d955daa914af774c946be16a4168be21a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150780
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29392}
2019-10-07 12:26:44 +00:00
Bjorn A Mellem
8e1343aeda Add an alt-protocol to SDP to indicate which m= sections use a plugin transport.
The plugin transport parameters (a=x-opaque: lines) relate to how to create and
set up a plugin transport.  When SDP bundle is used, the x-opaque line needs to
be copied into the bundled m= section.  This means x-opaque can appear on a
section even if the offerer does not intend to use the transport for the media
described by that section.  Consequently, the answerer cannot currently tell
whether the caller is offering an alternate transport for media, data, or both.

This change adds an a=x-alt-protocol: line to SDP.  The value following this
line matches the <protocol> part of the x-opaque:<protocol>:<params> line.
However, alt-protocol is not bundled--it only ever applies to the m= section
that contains the line.  This allows the offerer to express which m= sections
should actually use an alternate transport, even in the case of bundle.

Note that this is still limited by the available configuration options:
datagram transport can be used for media (audio + video) and/or data.  It is
still not possible to use it for audio but not video, or vice versa.

PeerConnection places an alt-protocol line in each media (audio/video) m=
section if it is configured to use a datagram transport for media.  It places
an alt-protocol line in each data m= section if it is configured to use a
datagram transport for data channels.  PeerConnection leaves alt-protocol in
media (audio/video) m= sections of the answer if it is configured to use a
datagram transport for media, and in data m= sections of the answer if it is
configured to use a datagram transport for data channels.

JsepTransport now negotiates use of the datagram transport independently for
media and data channels.  It only uses it for media if the m= sections for
bundled audio/video have an alt-protocol line matching the x-opaque protocol,
and only uses it for data channels if a bundled m= section for data has an
alt-protocol line matching the x-opaque protocol.

Bug: webrtc:9719
Change-Id: I773e4fc10c57d815afcd76a2a74da38dd0c52b3b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154763
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29351}
2019-09-30 23:10:34 +00:00
Artem Titov
89e7fcb726 Revert "Enable capturing from camera in PC framework"
This reverts commit 482d26ce9d.

Reason for revert: Reduced amount of captured frames on some devices. Will require deeper look on it.

Original change's description:
> Enable capturing from camera in PC framework
> 
> Bug: webrtc:10138
> Change-Id: I6b2eaddf4975ddc7237932511de06744ef962489
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154357
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29318}

TBR=ilnik@webrtc.org,kwiberg@webrtc.org,titovartem@webrtc.org

Change-Id: Ie9db3b1a13fa6ebfd8e277b68b5d808533a84620
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10138
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154560
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29320}
2019-09-26 12:00:01 +00:00
Artem Titov
482d26ce9d Enable capturing from camera in PC framework
Bug: webrtc:10138
Change-Id: I6b2eaddf4975ddc7237932511de06744ef962489
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154357
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29318}
2019-09-26 11:42:29 +00:00
Bjorn A Mellem
bc3eebc722 Reland "Reland "Refactor SCTP data channels to use DataChannelTransportInterface.""
This is a reland of 487f9a17e4

Original change's description:
> Reland "Refactor SCTP data channels to use DataChannelTransportInterface."
> 
> Also clears SctpTransport before deleting JsepTransport.
> 
> SctpTransport is ref-counted, but the underlying transport is deleted when
> JsepTransport clears the rtp_dtls_transport.  This results in crashes when
> usrsctp attempts to send outgoing packets through a dangling pointer to the
> underlying transport.
> 
> Clearing SctpTransport before DtlsTransport removes the pointer to the
> underlying transport before it becomes invalid.
> 
> This fixes a crash in chromium's web platform tests (see
> https://chromium-review.googlesource.com/c/chromium/src/+/1776711).
> 
> Original change's description:
> > Refactor SCTP data channels to use DataChannelTransportInterface.
> >
> > This change moves SctpTransport to be owned by JsepTransport, which now
> > holds a DataChannelTransport implementation for SCTP when it is used for
> > data channels.
> >
> > This simplifies negotiation and fallback to SCTP.  Negotiation can now
> > use a composite DataChannelTransport, just as negotiation for RTP uses a
> > composite RTP transport.
> >
> > PeerConnection also has one fewer way it needs to manage data channels.
> > It now handles SCTP and datagram- or media-transport-based data channels
> > the same way.
> >
> > There are a few leaky abstractions left.  For example, PeerConnection
> > calls Start() on the SctpTransport at a particular point in negotiation,
> > but does not need to call this for other transports.  Similarly, PC
> > exposes an interface to the SCTP transport directly to the user; there
> > is no equivalent for other transports.
> 
> Bug: webrtc:9719
> Change-Id: I64e94b88afb119fdbf5f22750f88c8a084d53937
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151981
> Reviewed-by: Benjamin Wright <benwright@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Benjamin Wright <benwright@webrtc.org>
> Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29120}

Bug: webrtc:9719
Change-Id: I28481a3de64a3506bc57748106383eeba4ef205c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152740
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29290}
2019-09-24 17:10:52 +00:00
Bjorn A Mellem
88db835278 Change DataChannelTransportInterface/Sink methods to pure virtual.
These methods are implemented everywhere, so they no longer need to
provide default implementations.

Bug: webrtc:9719
Change-Id: Idf67a78010a55f545d882793d0d6edbccfae525b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154002
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29262}
2019-09-20 20:06:14 +00:00
Johannes Kron
c12db81e79 Add frame receive to frame rendered metric to video_quality_analyzer
Bug: webrtc:10975
Change-Id: I6b36566efbbb52d27ca6cb44cb3b40aaf0cacb7b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153660
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29243}
2019-09-19 14:43:04 +00:00
Niels Möller
7b04a91f4a Delete almost all default methods on PeerConnectionInterface
Keeping default implementations only for methods involved in
ongoing transitions.

Intended to catch inconsistencies between the interface and the
PeerConnectionProxy class, at compile time.

Bug: webrtc:10716
Change-Id: I4cb126c353855f7288ba09273fa6f87aaa0f32eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140860
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29224}
2019-09-18 16:27:44 +00:00
Johannes Kron
1162ba285d Add max/min encode bitrates to video config of peer connection tests
Extend PeerConnectionE2EQualityTestFixture::VideoConfig with
min_encode_bitrate_bps and max_encode_bitrate_bps.

These are needed to be able to specify the bitrate to be used in tests.

Bug: None
Change-Id: I8af88020e9b364d924e2cecb2bdcc12bf287394d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153352
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29219}
2019-09-18 09:15:03 +00:00
Mirko Bonadei
738bfa7bab Remove api/bitrate_constraints.h.
Bug: webrtc:8733
Change-Id: Iaeb26e07d399f25dc18b0c4af38ed400577a5d3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153220
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29217}
2019-09-18 06:37:58 +00:00
Mirko Bonadei
317a1f09ed Use std::make_unique instead of absl::make_unique.
WebRTC is now using C++14 so there is no need to use the Abseil version
of std::make_unique.

This CL has been created with the following steps:

git grep -l absl::make_unique | sort | uniq > /tmp/make_unique.txt
git grep -l absl::WrapUnique | sort | uniq > /tmp/wrap_unique.txt
git grep -l "#include <memory>" | sort | uniq > /tmp/memory.txt

diff --new-line-format="" --unchanged-line-format="" \
  /tmp/make_unique.txt /tmp/wrap_unique.txt | sort | \
  uniq > /tmp/only_make_unique.txt
diff --new-line-format="" --unchanged-line-format="" \
  /tmp/only_make_unique.txt /tmp/memory.txt | \
  xargs grep -l "absl/memory" > /tmp/add-memory.txt

git grep -l "\babsl::make_unique\b" | \
  xargs sed -i "s/\babsl::make_unique\b/std::make_unique/g"

git checkout PRESUBMIT.py abseil-in-webrtc.md

cat /tmp/add-memory.txt | \
  xargs sed -i \
  's/#include "absl\/memory\/memory.h"/#include <memory>/g'
git cl format
# Manual fix order of the new inserted #include <memory>

cat /tmp/only_make_unique | xargs grep -l "#include <memory>" | \
  xargs sed -i '/#include "absl\/memory\/memory.h"/d'

git ls-files | grep BUILD.gn | \
  xargs sed -i '/\/\/third_party\/abseil-cpp\/absl\/memory/d'

python tools_webrtc/gn_check_autofix.py \
  -m tryserver.webrtc -b linux_rel

# Repead the gn_check_autofix step for other platforms

git ls-files | grep BUILD.gn | \
  xargs sed -i 's/absl\/memory:memory/absl\/memory/g'
git cl format

Bug: webrtc:10945
Change-Id: I3fe28ea80f4dd3ba3cf28effd151d5e1f19aff89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153221
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29209}
2019-09-17 15:47:29 +00:00
Niels Möller
e78fd80cc2 New class DummyPeerConnection
Intended as a utility base class for tests, to make it easier to
delete default implementations of PeerConnectionInterface methods.

Bug: webrtc:10716
Change-Id: Ie125747ad88d209c4797cc13253aef61275ed7b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152820
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29184}
2019-09-13 13:23:34 +00:00
Niels Möller
65f17ca6b4 Move MediaTransportInterface out of the libjingle_peerconnection_api target
And move related files into api/transport/ and api/transport/media/.
The moved files are unchanged, except that
congestion_control_interface.h and datagram_transport_interface.h
no longer include media_transport_interface.h, instead, they forward
declare the few MediaTransport* types they reference.

Bug: webrtc:8733
Change-Id: I4f4000d0d111f10d15a54c99af27ec26c46ae652
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152482
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29178}
2019-09-13 10:49:56 +00:00
Artem Titov
b3f1487cbe Add ability to provide TEXT hint only when requested in PC framework
Bug: webrtc:10138
Change-Id: I1e4d14d7dd02091c656643a77d2d858d5dd606ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151913
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29123}
2019-09-10 07:53:59 +00:00
Artem Titov
ddef8d1b6b Add support of displaying video during the PC level test
Bug: webrtc:10138
Change-Id: Ic74b58bc4f1be1793e0dd1a0c286f8d4200fe6f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151901
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29111}
2019-09-09 14:22:50 +00:00
Danil Chapovalov
9305d11f17 Delete deprecated rtc_event_log_factory_interface.h
Bug: webrtc:10206
Change-Id: I9a2cca368ff19b18218c457f6b1401d89c7f2fe4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151304
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29073}
2019-09-05 08:57:36 +00:00
Niels Möller
340e0c5f7a Delete old version of PeerConnection::SetConfiguration
Followup to https://webrtc-review.googlesource.com/c/src/+/149166

Bug: None
Change-Id: I7b33ee241e3259b8d43f924a38a1e79ec2cd697f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149812
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29057}
2019-09-04 08:23:18 +00:00
Bjorn A Mellem
b689af4c99 Changes to enable use of DatagramTransport as a data channel transport.
PeerConnection now has a new setting in RTCConfiguration to enable use of
datagram transport for data channels.  There is also a corresponding field
trial, which has both a kill-switch and a way to change the default value.

PeerConnection's interaction with MediaTransport for data channels has been
refactored to work with DataChannelTransportInterface instead.

Adds a DataChannelState and OnStateChanged() to the DataChannelSink
callbacks.  This allows PeerConnection to listen to the data channel's
state directly, instead of indirectly by monitoring media transport
state.  This is necessary to enable use of non-media-transport (eg.
datagram transport) data channel transports.

For now, PeerConnection watches the state through MediaTransport as well.
This will persist until MediaTransport implements the new callback.

Datagram transport use is negotiated.  As such, an offer that requests to use
datagram transport for data channels may be rejected by the answerer.  If the
offer includes DTLS, the data channels will be negotiated as SCTP/DTLS data
channels with an extra x-opaque parameter for datagram transport.  If the
opaque parameter is rejected (by an answerer without datagram support), the
offerer may fall back to SCTP.

If DTLS is not enabled, there is no viable fallback.  In this case, the data
channels are negotiated as media transport data channels.  If the receiver does
not understand the x-opaque line, it will reject these data channels, and the
offerer's data channels will be closed.

Bug: webrtc:9719
Change-Id: Ic1bf3664c4bcf9d754482df59897f5f72fe68fcc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147702
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28932}
2019-08-21 18:47:58 +00:00
Artem Titov
728a0ee459 Reland "Introduce ability to test echo in PC level test framework"
This is a reland of 77acb015b6

Original change's description:
> Introduce ability to test echo in PC level test framework
> 
> Bug: webrtc:10138
> Change-Id: Ie638eaec5a46e37dc0eb52e9432fdebd0e4a1c4d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147866
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28892}

Bug: webrtc:10138
Change-Id: I0358239500ffadbdbae8090bf39535386fbfd40c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149805
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28917}
2019-08-20 12:18:28 +00:00
Artem Titov
a854921813 Enable custom metrics gathering from stats API in PC framework.
It is done by making QualityMetricsReporter implements
StatsObserverInterface.

Bug: webrtc:10138
Change-Id: Ied6c9a7e53bf942d0e48ce107f668b6af8e42735
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149807
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28916}
2019-08-20 11:33:18 +00:00
Niels Möller
2579f0c584 RTCError as return type for PeerConnectionInterface::SetConfiguration
Bug: None
Change-Id: I6dd7378ceac617e29945d72906cb8e2e0bd49538
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149166
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28910}
2019-08-20 06:52:05 +00:00
Sami Kalliomäki
5870503d5e Revert "Introduce ability to test echo in PC level test framework"
This reverts commit 77acb015b6.

Reason for revert: Downstream tests are failing.

Original change's description:
> Introduce ability to test echo in PC level test framework
> 
> Bug: webrtc:10138
> Change-Id: Ie638eaec5a46e37dc0eb52e9432fdebd0e4a1c4d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147866
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28892}

TBR=mbonadei@webrtc.org,saza@webrtc.org,kwiberg@webrtc.org,titovartem@webrtc.org

Change-Id: Idc87c1cb679712d701d30902bcae4e2c698cf1cd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10138
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149804
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28896}
2019-08-19 11:46:04 +00:00
Artem Titov
77acb015b6 Introduce ability to test echo in PC level test framework
Bug: webrtc:10138
Change-Id: Ie638eaec5a46e37dc0eb52e9432fdebd0e4a1c4d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147866
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28892}
2019-08-19 10:19:41 +00:00
Sonia-Florina Horchidan
b75d14c802 audioproc_f: input AEC dump as string, output audio to vector
This CL adds the following options:

pass an input AEC dump as a string (currently, the tool can only accept a path to an AEC dump file)
write the processed capture samples to a given vector

Bug: webrtc:10808
Change-Id: I02863c97ec3cd8c03ade2ea8521836f2e7417050
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145208
Commit-Queue: Sonia-Florina Horchidan <soniahorchidan@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28826}
2019-08-12 09:17:36 +00:00
Artem Titov
1e49ab2d40 Migrate part of Vp9 SVC tests on PC framework. Add temporal layers support.
Bug: webrtc:10138
Change-Id: I3f0fc38cbe8c31a2aea2f231fed4428b39e3125a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147260
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28782}
2019-08-07 04:18:46 +00:00
Florent Castelli
8bbdb5b9bd Update VideoBitrateAllocator allocate to take a struct with more fields
We want to evaluate more data in order to make better choices in the
bitrate allocators.
In order to freely update the parameter list without
breaking the API many times for projects customizing them, we'll use a
struct instead.

Bug: webrtc:10126
Change-Id: I443f86781c5134950294cdd1e3197a47447cf973
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141418
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28748}
2019-08-02 13:52:54 +00:00
Artem Titov
46c7a1666a Update documentation on VideoConfig.simulcast_config.
Bug: webrtc:10138
Change-Id: I09acbb5ec833f16e19aa96e25c37ff0eaea3b84d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147262
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28703}
2019-07-30 11:13:17 +00:00
Artem Titov
39483c6662 Migrate some Vp8 simulcast and screen share tests on PC framework
Bug: webrtc:10138
Change-Id: I2fc1cafc128c9604bfad4967066a8718edc62d20
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146083
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28629}
2019-07-22 09:38:26 +00:00
Artem Titov
d70d80d882 Add support of negotiating Vp9 SVC in PC test framework.
SVC support is limited:
During SVC testing there is no SFU, so framework will try to emulate SFU
behavior in regular p2p call. Because of it there are such limitations:
 * if |target_spatial_index| is not equal to the highest spatial layer
   then no packet/frame drops are allowed.

   If there will be any drops, that will affect requested layer, then
   WebRTC SVC implementation will continue decoding only the highest
   available layer and won't restore lower layers, so analyzer won't
   receive required data which will cause wrong results or test failures.

Bug: webrtc:10138
Change-Id: I079566260ca9f1815935bce365d1bca10766663a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144882
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28612}
2019-07-19 10:01:43 +00:00
Mirko Bonadei
824fb38b9f Remove anonymous namespace around ABSL_FLAG.
TBR=tommi@webrtc.org

No-Try: True
Bug: webrtc:10616
Change-Id: I371801b1c32fbf5103ad40b56e6dd396b53a9007
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146201
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28607}
2019-07-19 07:27:24 +00:00
Mirko Bonadei
2ab97f6f8e Migrate WebRTC test infra to ABSL_FLAG.
This is the last CL required to migrate WebRTC to ABSL_FLAG, rtc::Flag
will be removed soon after this one lands.

Bug: webrtc:10616
Change-Id: I2807cec39e28a2737d2c49e2dc23f2a6f98d08f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145727
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28606}
2019-07-19 06:54:04 +00:00
Artem Titov
594597c25d Add ability to turn on conference mode during simulcast in PC framework.
Bug: webrtc:10138
Change-Id: I9ccb9674285121c8561745babc7e2109588d5053
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146081
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28599}
2019-07-18 12:11:07 +00:00
Jonas Olsson
0182a0300f Reland "Remove the injectable bitrate allocation strategy API."
This is a reland of 80cb3f6db6

Original change's description:
> Remove the injectable bitrate allocation strategy API.
>
> This removes PeerConnectionInterface::SetBitrateAllocationStrategy()
> plus a ton of now-dead code.
>
> Bug: webrtc:10556
> Change-Id: Icfae3bdd011588552934d9db4df16000847db7c3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133169
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28523}

TBR=kwiberg@webrtc.org

Bug: webrtc:10556
Change-Id: Ic17a7a7cc447292306876ee9582ad62fd2499765
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145900
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28585}
2019-07-17 10:20:45 +00:00
Mirko Bonadei
e95b57cdfc Revert "Remove the injectable bitrate allocation strategy API."
This reverts commit 80cb3f6db6.

Reason for revert: Performance regression on downstream project.

Original change's description:
> Remove the injectable bitrate allocation strategy API.
> 
> This removes PeerConnectionInterface::SetBitrateAllocationStrategy()
> plus a ton of now-dead code.
> 
> Bug: webrtc:10556
> Change-Id: Icfae3bdd011588552934d9db4df16000847db7c3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133169
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28523}

TBR=henrika@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,srte@webrtc.org,alexnarest@webrtc.org,jonasolsson@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:10556
Change-Id: Ife905d661e7b1a227662395c729a9336c62fd2d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145338
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28560}
2019-07-12 15:27:19 +00:00
Sergey Silkin
44cec0b5bd Handle non-integer frame rates in video codec tests.
Encoder API accepts non-integer frame rate since
https://webrtc-review.googlesource.com/c/src/+/131949.

Bug: webrtc:10812
Change-Id: I5fc9c5dfac4b182b84a735218a2946a95cc2b93c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143483
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28548}
2019-07-12 07:37:43 +00:00
Jonas Olsson
80cb3f6db6 Remove the injectable bitrate allocation strategy API.
This removes PeerConnectionInterface::SetBitrateAllocationStrategy()
plus a ton of now-dead code.

Bug: webrtc:10556
Change-Id: Icfae3bdd011588552934d9db4df16000847db7c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133169
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28523}
2019-07-10 13:13:25 +00:00
Artem Titov
bc558cebdc Add support of specifying audio sample rate for PC test framework
Bug: webrtc:10138
Change-Id: I6f868ede4b762884d7b2e9e7dac51bc60e9925d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144940
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28513}
2019-07-09 11:36:00 +00:00
Jonas Olsson
a4d873786f Format almost everything.
This CL was generated by running

git ls-files | grep -P "(\.h|\.cc)$" | grep -v 'sdk/' | grep -v 'rtc_base/ssl_' | \
grep -v 'fake_rtc_certificate_generator.h' | grep -v 'modules/audio_device/win/' | \
grep -v 'system_wrappers/source/clock.cc' | grep -v 'rtc_base/trace_event.h' | \
grep -v 'modules/audio_coding/codecs/ilbc/' | grep -v 'screen_capturer_mac.h' | \
grep -v 'spl_inl_mips.h' | grep -v 'data_size_unittest.cc' | grep -v 'timestamp_unittest.cc' \
| xargs clang-format -i ; git cl format

Most of these changes are clang-format grouping and reordering includes
differently.

Bug: webrtc:9340
Change-Id: Ic83ddbc169bfacd21883e381b5181c3dd4fe8a63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144051
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28505}
2019-07-08 13:45:15 +00:00
Artem Titov
48b1b18065 Add ability to create EmulatedNetworkNode from BuiltInNetworkBehaviorConfig
There is no public API to create NetworkBehaviorInterface from
BuiltInNetworkBehaviorConfig, so this CL will add direct method, that will
allow downstream projects to use BuiltInNetworkBehaviorConfig for network
emulation.

Bug: webrtc:10138
Change-Id: Iaec3ea17c12bd06b1c0ff3e5bc2b32cc1c4f62f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144628
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28494}
2019-07-05 12:43:17 +00:00
Artem Titov
386802ef7c Move network emulation framework under test/network
Bug: webrtc:10138
Change-Id: I654bc124866241ceca65462937e2fad6294cc62b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144622
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28492}
2019-07-05 11:08:42 +00:00
Elad Alon
45befc5f1f Pass FecControllerOverride to Vp8FrameBufferControllerFactory::Create
Previously, FecControllerOverride was passed to
Vp8FrameBufferController::SetFecControllerOverride. Passing to
the factory is a more elegant way, since it's only used when
the controller is constructed.

TBR=kwiberg@webrtc.org

Bug: webrtc:10769
Change-Id: Iae599889e7ca9003e3200c2911239cbb763ee65a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144380
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28443}
2019-07-02 10:55:55 +00:00
Elad Alon
8f01c4e1b6 Define FecControllerOverride and plumb it down to VideoEncoder
The purpose of this interface is to allow VideoEncoder to override
the bandwidth allocation set by FecController in RtpVideoSender.

This CL defines the interface and sends it down to VideoSender.
Two upcoming CLs will:
1. Make LibvpxVp8Encoder pass it on to the (injectable)
   FrameBufferController, where it might be put to good use.
2. Modify RtpVideoSender to respond to the message sent to it
   via this API.

TBR=kwiberg@webrtc.org

Bug: webrtc:10769
Change-Id: I2ef82f0ddcde7fd078e32d8aabf6efe43e0f7f8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143962
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28416}
2019-06-28 15:57:22 +00:00
Niels Möller
4d504c76cb New interface EncodedImageBufferInterface, replacing use of CopyOnWriteBuffer
Bug: webrtc:9378
Change-Id: I62b7adbd9dd539c545b5b1b1520721482a4623c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138820
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28317}
2019-06-19 07:02:34 +00:00
Artem Titov
ef3fd9c8ad Add support for simulcast with Vp8 from caller into PC level quality tests.
Add support of negotiating simulcast offer/answer. Also fix some minor
issues around to make it finally work.

Bug: webrtc:10138
Change-Id: I382f5df04ca6ac04d8ed1e030e7b2ae5706dd10c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137425
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28274}
2019-06-13 17:27:09 +00:00
“Michael
3c396e52da Add injectable video encoder and decoder to video quality test.
Bug: webrtc:10738
Change-Id: Ia5180cf0252ecd1c58a2080e3954fcb886b066e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141667
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28263}
2019-06-13 13:03:05 +00:00
Elad Alon
370f93a34a Reland "Inform VideoEncoder of negotiated capabilities"
This is a reland of 11dfff0878

Now that I am sure that WebRTC code is not calling the obsolete
versions, I will just remove the NOT_REACHED and call the
new version from the old ones, so as not to trip up downstream
projects.

Original change's description:
> Inform VideoEncoder of negotiated capabilities
>
> After this CL lands, an announcement will be made to
> discuss-webrtc about the deprecation of one version
> of InitEncode().
>
> Bug: webrtc:10720
> Change-Id: Ib992af0272bbb16ae16ef7e69491f365702d179e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140884
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Elad Alon <eladalon@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28224}

TBR=sakal@webrtc.org,kwiberg@webrtc.org,sprang@webrtc.org

Bug: webrtc:10720
Change-Id: I46c69e45c190805c07f7e51acbe277d7eebd1600
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141412
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28236}
2019-06-11 14:49:37 +00:00
Philip Eliasson
49d661a7d3 Revert "Inform VideoEncoder of negotiated capabilities"
This reverts commit 11dfff0878.

Reason for revert: Downstream import failure.

Original change's description:
> Inform VideoEncoder of negotiated capabilities
> 
> After this CL lands, an announcement will be made to
> discuss-webrtc about the deprecation of one version
> of InitEncode().
> 
> Bug: webrtc:10720
> Change-Id: Ib992af0272bbb16ae16ef7e69491f365702d179e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140884
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Elad Alon <eladalon@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28224}

TBR=sakal@webrtc.org,kwiberg@webrtc.org,eladalon@webrtc.org,kthelgason@webrtc.org,sprang@webrtc.org

Change-Id: I7f833055c67f1f879b01dd8c156ba7b8840e8747
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10720
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141411
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28225}
2019-06-11 11:56:04 +00:00
Elad Alon
11dfff0878 Inform VideoEncoder of negotiated capabilities
After this CL lands, an announcement will be made to
discuss-webrtc about the deprecation of one version
of InitEncode().

Bug: webrtc:10720
Change-Id: Ib992af0272bbb16ae16ef7e69491f365702d179e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140884
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28224}
2019-06-11 11:32:13 +00:00
Danil Chapovalov
1a5fc9035b in test/pc/e2e pass TaskQueueFactory explicitly
instead of relying on factories that use GlobalTaskQueueFactory

Bug: webrtc:10284
Change-Id: Icc32ae1c159c39a6594d2aaec79c68dcc826fea8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139894
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28220}
2019-06-11 08:48:56 +00:00
Bjorn A Mellem
c85ebbe766 Reland: Implement true negotiation for DatagramTransport with fallback to RTP.
In short, the caller places a x-opaque line in SDP for each m= section that
uses datagram transport.  If the answerer supports datagram transport, it will
parse this line and create a datagram transport.  It will then echo the x-opaque
line into the answer (to indicate that it accepted use of datagram transport).

If the offer and answer contain exactly the same x-opaque line, both peers will
use datagram transport.  If the x-opaque line is omitted from the answer (or is
different in the answer) they will fall back to RTP.

Note that a different x-opaque line in the answer means the answerer did not
understand something in the negotiation proto.  Since WebRTC cannot know what
was misunderstood, or whether it's still possible to use the datagram transport,
it must fall back to RTP.  This may change in the future, possibly by passing
the answer to the datagram transport, but it's good enough for now.

Negotiation consists of four parts:
 1. DatagramTransport exposes transport parameters for both client and server
 perspectives.  The client just echoes what it received from the server (modulo
 any fields it might not have understood).

 2. SDP adds a x-opaque line for opaque transport parameters.  Identical to
 x-mt, but this is specific to datagram transport and goes in each m= section,
 and appears in the answer as well as the offer.
  - This is propagated to Jsep as part of the TransportDescription.
  - SDP files: transport_description.h,cc, transport_description_factory.h,cc,
    media_session.cc, webrtc_sdp.cc

 3. JsepTransport/Controller:
  - Exposes opaque parameters for each mid (m= section).  On offerer, this means
    pre-allocating a datagram transport and getting its parameters.  On the
    answerer, this means echoing the offerer's parameters.
  - Uses a composite RTP transport to receive from either default RTP or
    datagram transport until both offer and answer arrive.
  - If a provisional answer arrives, sets the composite to send on the
    provisionally selected transport.
  - Once both offer and answer are set, deletes the unneeded transports and
    keeps whichever transport is selected.

 4. PeerConnection pulls transport parameters out of Jsep and adds them to SDP.

Bug: webrtc:9719
Change-Id: Ifcc428c8d76fb77dcc8abaa79507c620bcfb31b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140920
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28198}
2019-06-07 20:14:36 +00:00
Bjorn Mellem
7e8de0bf2d Revert "Implement true negotiation for DatagramTransport with fallback to RTP."
This reverts commit 71c6482baf.

Reason for revert: Lands too much at once and breaks downstream tests that need to implement new interfaces first.

Original change's description:
> Implement true negotiation for DatagramTransport with fallback to RTP.
> 
> In short, the caller places a x-opaque line in SDP for each m= section that
> uses datagram transport.  If the answerer supports datagram transport, it will
> parse this line and create a datagram transport.  It will then echo the x-opaque
> line into the answer (to indicate that it accepted use of datagram transport).
> 
> If the offer and answer contain exactly the same x-opaque line, both peers will
> use datagram transport.  If the x-opaque line is omitted from the answer (or is
> different in the answer) they will fall back to RTP.
> 
> Note that a different x-opaque line in the answer means the answerer did not
> understand something in the negotiation proto.  Since WebRTC cannot know what
> was misunderstood, or whether it's still possible to use the datagram transport,
> it must fall back to RTP.  This may change in the future, possibly by passing
> the answer to the datagram transport, but it's good enough for now.
> 
> Negotiation consists of four parts:
>  1. DatagramTransport exposes transport parameters for both client and server
>  perspectives.  The client just echoes what it received from the server (modulo
>  any fields it might not have understood).
> 
>  2. SDP adds a x-opaque line for opaque transport parameters.  Identical to
>  x-mt, but this is specific to datagram transport and goes in each m= section,
>  and appears in the answer as well as the offer.
>   - This is propagated to Jsep as part of the TransportDescription.
>   - SDP files: transport_description.h,cc, transport_description_factory.h,cc,
>     media_session.cc, webrtc_sdp.cc
> 
>  3. JsepTransport/Controller:
>   - Exposes opaque parameters for each mid (m= section).  On offerer, this means
>     pre-allocating a datagram transport and getting its parameters.  On the
>     answerer, this means echoing the offerer's parameters.
>   - Uses a composite RTP transport to receive from either default RTP or
>     datagram transport until both offer and answer arrive.
>   - If a provisional answer arrives, sets the composite to send on the
>     provisionally selected transport.
>   - Once both offer and answer are set, deletes the unneeded transports and
>     keeps whichever transport is selected.
> 
>  4. PeerConnection pulls transport parameters out of Jsep and adds them to SDP.
> 
> Bug: webrtc:9719
> Change-Id: Id8996eb1871e79d93b7923a5d7eb3431548c798d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140700
> Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28182}

TBR=steveanton@webrtc.org,mellem@webrtc.org,sukhanov@webrtc.org

Change-Id: I0d502c4a6d27516c35ed85154f3fa5869f88b3b7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140822
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28188}
2019-06-07 06:17:50 +00:00
Bjorn A Mellem
71c6482baf Implement true negotiation for DatagramTransport with fallback to RTP.
In short, the caller places a x-opaque line in SDP for each m= section that
uses datagram transport.  If the answerer supports datagram transport, it will
parse this line and create a datagram transport.  It will then echo the x-opaque
line into the answer (to indicate that it accepted use of datagram transport).

If the offer and answer contain exactly the same x-opaque line, both peers will
use datagram transport.  If the x-opaque line is omitted from the answer (or is
different in the answer) they will fall back to RTP.

Note that a different x-opaque line in the answer means the answerer did not
understand something in the negotiation proto.  Since WebRTC cannot know what
was misunderstood, or whether it's still possible to use the datagram transport,
it must fall back to RTP.  This may change in the future, possibly by passing
the answer to the datagram transport, but it's good enough for now.

Negotiation consists of four parts:
 1. DatagramTransport exposes transport parameters for both client and server
 perspectives.  The client just echoes what it received from the server (modulo
 any fields it might not have understood).

 2. SDP adds a x-opaque line for opaque transport parameters.  Identical to
 x-mt, but this is specific to datagram transport and goes in each m= section,
 and appears in the answer as well as the offer.
  - This is propagated to Jsep as part of the TransportDescription.
  - SDP files: transport_description.h,cc, transport_description_factory.h,cc,
    media_session.cc, webrtc_sdp.cc

 3. JsepTransport/Controller:
  - Exposes opaque parameters for each mid (m= section).  On offerer, this means
    pre-allocating a datagram transport and getting its parameters.  On the
    answerer, this means echoing the offerer's parameters.
  - Uses a composite RTP transport to receive from either default RTP or
    datagram transport until both offer and answer arrive.
  - If a provisional answer arrives, sets the composite to send on the
    provisionally selected transport.
  - Once both offer and answer are set, deletes the unneeded transports and
    keeps whichever transport is selected.

 4. PeerConnection pulls transport parameters out of Jsep and adds them to SDP.

Bug: webrtc:9719
Change-Id: Id8996eb1871e79d93b7923a5d7eb3431548c798d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140700
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28182}
2019-06-07 01:09:04 +00:00
Niels Möller
695cf6ac42 Delete deprecated StartRtcEventLog override with PlatformFile
Bug: webrtc:6463
Change-Id: I57c2372a232d72b054d8e3e4f423e11b3fb22430
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134460
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28131}
2019-06-03 09:00:56 +00:00
Artem Titov
85a9d91cd4 Add ability to set min/start/max bitrate on peer's PC in PC quality tests
Bug: webrtc:10138, webrtc:10692
Change-Id: I4d7ae84dc2945fef6451a6671786b3b19cd9abd8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139108
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28107}
2019-05-29 13:25:26 +00:00
Artem Titov
7581ff7375 Add screen share support to PC level test framework
Bug: webrtc:10138
Change-Id: I1a8ac683e91f8061387f407610d7db2a6d0d4fe9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136805
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27950}
2019-05-15 14:07:00 +00:00
Erik Språng
157b7814b9 Remove deprecated SetRates/SetRateAllocation from VideoEncoder.
This CL removes two deprecated methods from the VideoEncoder interface:
* int32_t SetRates(uint32_t, uint32_t);
* int32_t SetRateAllocation(const VideoBitrateAllocation&, uint32_t);

These are no longer used, instead the new version must be implemented:
  void SetRates(const RateControlParameters&) = 0;

Migrating is straight forward. For the old SetRates, simple replace:
  int32_t MyEncoder::SetRates(uint32_t bitrate, uint32_t framerate) {
with
  void MyEncoder::SetRates(const RateControlParameters& parameters) {
    uint32_t bitrate = parameters.bitrate.get_sum_kbps();
    uint32_t framerate =
      static_cast<uint32_t>(parameters.framerate_fps + 0.5);

For SetRateAllocation, replace:
  int32_t MyEncoder::SetRateAllocation(
      const VideoBitrateAllocation& allocation,
      uint32_t framerate) {
with
  void MyEncoder::SetRates(const RateControlParameters& parameters) {
    const VideoBitrateAllocation& allocation = parameters.bitrate;
    uint32_t framerate =
      static_cast<uint32_t>(parameters.framerate_fps + 0.5);

Two more things to note:
1. The new method is void. Previously the only use of the return value
   in production code was to log a more or less generic error message.
   Instead, log the actual error from the encoder when it happens,
   then just return.

2. The new method is pure virtual; it must be overriden even in test.

This CL is intended to be landed two weeks after creation, on Thursday
May 9th 2019.

Bug: webrtc:10481
Change-Id: I61349571a280bd40cd100ca9f93c4aa7748ed30d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134214
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27926}
2019-05-13 11:42:59 +00:00
Mirko Bonadei
60f14ce217 Do not use absl::flat_hash_map in DefaultVideoQualityAnalyzer.
This CL removes the usage of absl::flat_hash_map because it transitively
depends on CCTZ which fails to link with lld-link after the switch to
libc++.

Since std::map doesn't support heterogeneous lookup until C++14, this
CL also stops using absl::string_view and switches to
`const std::string&`.

Bug: webrtc:10605
Change-Id: I4fc93969c6fc0cc7e7e62b4d2f801bdd27cff0f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135566
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27877}
2019-05-08 10:23:59 +00:00
Artem Titov
f65a89b7f7 Add support of specifying concrete codec for video stream
Bug: webrtc:10138
Change-Id: I074bfccfa5c8f619ea7fa17d6ca99f9b4cbb18b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/123386
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27864}
2019-05-07 11:46:57 +00:00
Sebastian Jansson
1391ed242a Allows injection of network controller factory in test fixture.
Bug: webrtc:9155
Change-Id: I929c4cde66ad6743b4a8df2df3abfa7593992977
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134645
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27843}
2019-05-03 13:22:45 +00:00
Artem Titov
b93c4e622f Add propagation of test duration to PC framework user.
Add method to get real test execution time, where test execution time is
time from call setup to call terminated.

Bug: webrtc:10138
Change-Id: I7ae3995c0051ecb4fc796b895be1180c8aab77cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134302
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27822}
2019-05-02 10:20:26 +00:00
Artem Titov
1845922d5a Introduce QualityMetricsReporter and implement network stats gathering
QualityMetricsReporter helps to keep network emulation framework and
peer connection level test framework separated. Also it provides
ability to gather statistics from any component around with
correlation with call start and end.

Bug: webrtc:10138
Change-Id: Ib3330a8d35481fde77fcf77d2271d6cfcf188fec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132718
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27759}
2019-04-25 09:36:50 +00:00
Niels Möller
43f7002aff Delete DecodedImageCallback::ReceivedDecodedFrame
This was a companion method to ReceivedDecodedReferenceFrame, deleted
in https://webrtc-review.googlesource.com/c/src/+/133348.

Tbr: kwiberg@webrtc.org # Mock class update
Bug: webrtc:7408
Change-Id: I429f5f5c18f14c27136e82860297107a82c81d13
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133571
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27754}
2019-04-25 08:09:29 +00:00
Ying Wang
cab77fd1be Inject network state predictor into video quality test.
Bug: webrtc:10492
Change-Id: Ia2ae5de1019ac4ab89e54e261b1d94a482334ee9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133161
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27681}
2019-04-18 08:19:10 +00:00
Niels Möller
2317c5ee0a Delete method DecodedImageCallback::ReceivedDecodedReferenceFrame
The code invoking it was deleted in
https://codereview.webrtc.org/2753783002

Tbr: kwiberg@webrtc.org # Change to mock class in api/test
Bug: webrtc:7408
Change-Id: I576d7aacd7dc60e42a05d2ea837fddf16594e685
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133348
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27680}
2019-04-18 08:14:40 +00:00
Erik Språng
16cb8f5d74 Reland "Replace usage of old SetRates/SetRateAllocation methods"
This is a reland of 7ac0d5f348

Original change's description:
> Replace usage of old SetRates/SetRateAllocation methods
>
> This rather large CL replaces all relevant usage of the old
> VideoEncoder::SetRates()/SetRateAllocation() methods in WebRTC.
> API is unchanged to allow downstream projects to update without
> breakage.
>
> Bug: webrtc:10481
> Change-Id: Iab8f292ce6be6c3f5056a239d26361962b14bb38
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131949
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27554}

TBR=brandtr@webrtc.org,sakal@webrtc.org,perkj@webrtc.org

Bug: webrtc:10481
Change-Id: I2978d5c527a18e885b7845c4e53a2424e8ad5b4b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132551
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27593}
2019-04-12 13:37:32 +00:00
Artem Titov
70f80e5962 Add support for creation of AEC dump during the test with PC framework.
Also add conversational speech into PC smoke test (with resource files).

Bug: webrtc:10138
Change-Id: I415a5565bc9146821476ffc60f57f47ed51f89c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132323
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27592}
2019-04-12 13:09:12 +00:00
Artem Titov
806299e09b Introduce network emulation layer stats API.
Bug: webrtc:10138
Change-Id: I32133cd14c7a1933dcbeaa37d4c9ce6748274ebe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131383
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27588}
2019-04-12 12:08:06 +00:00
Niels Möller
7aacdd9515 Reland "Delete CodecSpecificInfo argument from VideoDecoder::Decode"
This is a reland of 39d3a7de02

Original change's description:
> Delete CodecSpecificInfo argument from VideoDecoder::Decode
>
> Bug: webrtc:10379
> Change-Id: I079b419604bf4e9c1994fe203d7db131a0ccddb6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125920
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27022}

Tbr: kwiberg@webrtc.org
Bug: webrtc:10379
Change-Id: I8197bebd2ae7dc460644a98795b8257b033c27c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126480
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27565}
2019-04-11 13:03:52 +00:00
Minyue Li
7ddef1af88 Revert "Replace usage of old SetRates/SetRateAllocation methods"
This reverts commit 7ac0d5f348.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Replace usage of old SetRates/SetRateAllocation methods
> 
> This rather large CL replaces all relevant usage of the old
> VideoEncoder::SetRates()/SetRateAllocation() methods in WebRTC.
> API is unchanged to allow downstream projects to update without
> breakage.
> 
> Bug: webrtc:10481
> Change-Id: Iab8f292ce6be6c3f5056a239d26361962b14bb38
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131949
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27554}

TBR=brandtr@webrtc.org,sakal@webrtc.org,nisse@webrtc.org,sprang@webrtc.org,perkj@webrtc.org

Change-Id: I576760b584e3f258013b0279c0c173c895bbb37e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10481
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132561
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27559}
2019-04-11 10:50:29 +00:00
Erik Språng
7ac0d5f348 Replace usage of old SetRates/SetRateAllocation methods
This rather large CL replaces all relevant usage of the old
VideoEncoder::SetRates()/SetRateAllocation() methods in WebRTC.
API is unchanged to allow downstream projects to update without
breakage.

Bug: webrtc:10481
Change-Id: Iab8f292ce6be6c3f5056a239d26361962b14bb38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131949
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27554}
2019-04-11 07:46:09 +00:00
Benjamin Wright
2af5dcbe9e Reland "Refactor FrameDecryptorInterface::Decrypt to use new API."
This reverts commit 7dd83e2bf7.

Reason for revert: This wasn't the cause of the break. 

Original change's description:
> Revert "Refactor FrameDecryptorInterface::Decrypt to use new API."
> 
> This reverts commit 642aa81f7d.
> 
> Reason for revert: Speculative revert. The chromium roll is failing:
> https://ci.chromium.org/p/chromium/builders/try/linux-rel/64388
> But I can't figure out exactly what is failing, this looks suspecious.
> 
> Original change's description:
> > Refactor FrameDecryptorInterface::Decrypt to use new API.
> > 
> > This change refactors the FrameDecryptorInterface to use the new API. The new
> > API surface simply moves bytes_written to the return type and implements a
> > simple Status type.
> > 
> > Bug: webrtc:10512
> > Change-Id: I622c5d344d58e618853c94c2f691cf7c8fb73a36
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131460
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> > Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Commit-Queue: Benjamin Wright <benwright@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27497}
> 
> TBR=brandtr@webrtc.org,steveanton@webrtc.org,solenberg@webrtc.org,ossu@webrtc.org,stefan@webrtc.org,benwright@webrtc.org
> 
> Change-Id: Ia9ec70263762c34671af13f0d519e636eb8473cd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10512
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132013
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27510}

TBR=brandtr@webrtc.org,steveanton@webrtc.org,solenberg@webrtc.org,hbos@webrtc.org,ossu@webrtc.org,stefan@webrtc.org,benwright@webrtc.org

Change-Id: I8e4b7965cf1d1a1554c3b46e6245f5ad0d2dcbb4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10512
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131982
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27529}
2019-04-09 20:08:56 +00:00
Mirko Bonadei
6a489f22c7 Fully qualify googletest symbols.
Semi-automatically created with:

git grep -l " testing::" | xargs sed -i "s/ testing::/ ::testing::/g"
git grep -l "(testing::" | xargs sed -i "s/(testing::/(::testing::/g"
git cl format

After this, two .cc files failed to compile and I have fixed them
manually.

Bug: webrtc:10523
Change-Id: I4741d3bcedc831b6c5fdc04485678617eb4ce031
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132018
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27526}
2019-04-09 17:18:20 +00:00
Henrik Boström
7dd83e2bf7 Revert "Refactor FrameDecryptorInterface::Decrypt to use new API."
This reverts commit 642aa81f7d.

Reason for revert: Speculative revert. The chromium roll is failing:
https://ci.chromium.org/p/chromium/builders/try/linux-rel/64388
But I can't figure out exactly what is failing, this looks suspecious.

Original change's description:
> Refactor FrameDecryptorInterface::Decrypt to use new API.
> 
> This change refactors the FrameDecryptorInterface to use the new API. The new
> API surface simply moves bytes_written to the return type and implements a
> simple Status type.
> 
> Bug: webrtc:10512
> Change-Id: I622c5d344d58e618853c94c2f691cf7c8fb73a36
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131460
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Benjamin Wright <benwright@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27497}

TBR=brandtr@webrtc.org,steveanton@webrtc.org,solenberg@webrtc.org,ossu@webrtc.org,stefan@webrtc.org,benwright@webrtc.org

Change-Id: Ia9ec70263762c34671af13f0d519e636eb8473cd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10512
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132013
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27510}
2019-04-09 10:36:48 +00:00
Benjamin Wright
642aa81f7d Refactor FrameDecryptorInterface::Decrypt to use new API.
This change refactors the FrameDecryptorInterface to use the new API. The new
API surface simply moves bytes_written to the return type and implements a
simple Status type.

Bug: webrtc:10512
Change-Id: I622c5d344d58e618853c94c2f691cf7c8fb73a36
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131460
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27497}
2019-04-08 20:45:09 +00:00
Sebastian Jansson
c01367db40 Deprecating ThreadChecker specific interface.
All changes outside thread_checker.h are by:
s/CalledOnValidThread/IsCurrent/
s/DetachFromThread/Detach/

Bug: webrtc:9883
Change-Id: Idbb1086bff0817db58e770116acf4c9d60fae8b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131023
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27494}
2019-04-08 16:58:07 +00:00
Mirko Bonadei
f948eb66aa Implement DefaultAudioQualityAnalyzer.
The DefaultAudioQualityAnalyzer will read stats reports (temporarily
using the old PeerConnectionInterface::GetStats) and for each audio
stream it will collect some NetEq related stats.

When DefaultAudioQualityAnalyzer::Stop is invoked by the framework,
it will report the following metrics:
- expand_rate
- accelerate_rate
- preemptive_rate
- speech_expand_rate
- preferred_buffer_size_ms

Bug: webrtc:10138
Change-Id: Ie493456fcb9ed86455b12dabdab98a317387ef46
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125980
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27474}
2019-04-07 14:32:33 +00:00
Artem Titov
ff39312958 Add ability to have multiple connected remote endpoints
Bug: webrtc:10138
Change-Id: Ic305c2f247588d75b6ced17052ba12d937d1a056
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128864
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27460}
2019-04-05 10:27:14 +00:00
Ruslan Burakov
4bac79ece2 Add SetJitterBufferMinimumDelay method to RtpReceiverInterface.
This change is required to allow modification of Jitter Buffer delay
in javascript via Origin Trial Experiment.
Link to experiment description:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/Tgm4qiNepJc

Bug: webrtc:10287
Change-Id: I4f21380aad5982a4a60c55683b5173ce72ce0392
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131144
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27444}
2019-04-04 09:00:16 +00:00
Artem Titov
ade945d834 Add ability to specify encoder bitrate multiplier in PC level tests
Bug: webrtc:10138
Change-Id: I40b42e83ccec7b08226606d2770f3afa80e3fcc6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130241
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27440}
2019-04-03 12:09:42 +00:00
Artem Titov
e5cc85b5c5 Introduce dynamic endpoints
Bug: webrtc:10138
Change-Id: I7f6922adb93680cada6bea014539fc3089735834
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128480
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27336}
2019-03-28 12:27:41 +00:00
Rasmus Brandt
7d72d0fb39 Change VideoCodecTestStats API.
- Add GetFrameStatistics API:
  This is useful for downstream test users that want to read frame-level stats.
- Remove other APIs that are not used by downstream tests:
    * AddFrame
    * GetFrame
    * GetFrameWithTimestamp
    * SliceAndCalcAggregatedVideoStatistic
    * PrintFrameStatistics
    * Size
    * Clear
  The implementations, which are used by the fixture implementation, are kept.

Bug: webrtc:10349
Change-Id: Id2f6fa5a36b8341a5ccb365725f71ebe0c0f1570
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128779
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27306}
2019-03-27 09:50:54 +00:00
Steve Anton
a59dcc3de2 Use Abseil container algorithms in api/
Bug: None
Change-Id: I87439a234d7018757eb61e99d5c6f9c7be4ab357
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128825
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27272}
2019-03-25 22:11:06 +00:00
Artem Titov
d57628fed4 Move API for PC e2e test framework to the public API folder
Bug: webrtc:10138
Change-Id: If60019c9a7afe4760f4292e722cbc5aa229f437b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127891
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27247}
2019-03-22 16:52:16 +00:00
Niels Möller
8f7ce222e7 Make VideoFrameType an enum class, and move to separate file and target
Bug: webrtc:5876, webrtc:6883
Change-Id: I1435cfa9e8e54c4ba2978261048ff3fbb993ce0e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126225
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27239}
2019-03-22 12:44:51 +00:00
Ivo Creusen
5ec61565cb Allow passing an event log as string to NetEqSimulator.
Previously only reading from the filesystem was supported, this CL
allows parsing an event log from a string.

Bug: webrtc:10337
Change-Id: Iadde3319eb8fb4175625f510201fac9c01c80ed9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127296
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27202}
2019-03-20 10:27:14 +00:00
Piotr (Peter) Slatala
946b968111 Add support for target rate constraints
WebRTC video engine now configures bitrate on media transport
correctly.

Bug: webrtc:9719
Change-Id: I85884cd76644b7eca3763cec8ce9e31b5b64db27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127941
Commit-Queue: Peter Slatala <psla@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27167}
2019-03-18 18:54:58 +00:00
Artem Titov
7bf8c7f8cc Add public API for NetworkEmulationManager
Bug: webrtc:10138
Change-Id: Ib5f8e95761813bd117a5e29adbc6822a5c6c73bd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126122
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27146}
2019-03-15 14:50:59 +00:00
Harald Alvestrand
3cc45d4467 Add a test that all //api/test headers are compilable.
Bug: webrtc:10376
Change-Id: I2a1ea24ddf5980c76660724fae68c16179bb25a7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125682
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27119}
2019-03-14 05:27:53 +00:00
Alessio Bazzica
5ad789ceff Reland "NetEQ RTP Play: Optionally write output audio file"
This reverts commit c4b391a257.

Reason for revert: issue fixed

Original change's description:
> Revert "NetEQ RTP Play: Optionally write output audio file"
>
> This reverts commit 6330818ec8.
>
> Reason for revert: This breaks api/test/neteq_simulator_factory.cc, which unfortunately was not caught by our bots.
>
> Original change's description:
> > NetEQ RTP Play: Optionally write output audio file
> >
> > This CL makes the output audio file optional to more
> > quickly run neteq_rtpplay when no audio output is needed.
> > The CL also includes necessary adaptations because of pre-existing
> > dependencies (e.g., the output audio file name is used to create
> > the plotting script file names).
> >
> > The command line arguments are retro-compatible - i.e., same behavior
> > when specifying the output audio file and the new flag
> > --output_files_base_name is not used.
> >
> > This CL also includes a test script with which the retro-compatibility
> > has been verified.
> >
> > Bug: webrtc:10337
> > Change-Id: Ie3f301b3b2ed0682fb74426d9cf452396f2b112b
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126224
> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> > Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27067}
>
> TBR=henrik.lundin@webrtc.org,alessiob@webrtc.org,ivoc@webrtc.org
>
> Change-Id: I0c63a8ba9566ef567ee398f571f2a511916fa742
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10337
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127293
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27078}

TBR=henrik.lundin@webrtc.org,alessiob@webrtc.org,ivoc@webrtc.org

Change-Id: Ia7061f7c2d69db61638ad612e82cd429eb49d539
Bug: webrtc:10337
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127540
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27106}
2019-03-13 15:33:29 +00:00
Rasmus Brandt
3c589beee6 Reland "Change clip_name -> clip_path in VideoQualityTestFixture::Params::Video."
This is a reland of 184f6d5d75.

Incorrect build dependencies in downstream tests have been fixed,
and an initialization bug in this CL has also been fixed.

Original change's description:
> Change clip_name -> clip_path in VideoQualityTestFixture::Params::Video.
>
> This allows external users of this test fixture to specify a custom
> path, rather than just a custom file name.
>
> Bug: webrtc:10349
> Change-Id: I84e886c8bc28583017ce9ed7b9e7ee6a8e95730f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126227
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27033}

TBR: kwiberg@webrtc.org
Bug: webrtc:10349
Change-Id: I0ec9dd26cd96c3db8ac8482893a26e62a1b1eefc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127181
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27102}
2019-03-13 15:00:05 +00:00
Yves Gerey
3368721537 Revert "Change clip_name -> clip_path in VideoQualityTestFixture::Params::Video."
This reverts commit 184f6d5d75.

Reason for revert: Breaks downstream android projects.

Original change's description:
> Change clip_name -> clip_path in VideoQualityTestFixture::Params::Video.
> 
> This allows external users of this test fixture to specify a custom
> path, rather than just a custom file name.
> 
> Bug: webrtc:10349
> Change-Id: I84e886c8bc28583017ce9ed7b9e7ee6a8e95730f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126227
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27033}

TBR=brandtr@webrtc.org,kwiberg@webrtc.org,asapersson@webrtc.org

Change-Id: I56af4c74e0c38b5a14a6151b230ada4349e931da
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10349
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126620
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#27046}
2019-03-09 09:50:30 +00:00
Rasmus Brandt
184f6d5d75 Change clip_name -> clip_path in VideoQualityTestFixture::Params::Video.
This allows external users of this test fixture to specify a custom
path, rather than just a custom file name.

Bug: webrtc:10349
Change-Id: I84e886c8bc28583017ce9ed7b9e7ee6a8e95730f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126227
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27033}
2019-03-08 12:43:30 +00:00
Jeroen de Borst
2c7b9825bc Revert "Delete CodecSpecificInfo argument from VideoDecoder::Decode"
This reverts commit 39d3a7de02.

Reason for revert: This change broke an internal project

Original change's description:
> Delete CodecSpecificInfo argument from VideoDecoder::Decode
> 
> Bug: webrtc:10379
> Change-Id: I079b419604bf4e9c1994fe203d7db131a0ccddb6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125920
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27022}

TBR=brandtr@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org,sprang@webrtc.org

Change-Id: I2c730cc1834a3b23203fae3d7881f0890802c37b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10379
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126320
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Commit-Queue: Jeroen de Borst <jeroendb@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27026}
2019-03-07 19:40:17 +00:00
Niels Möller
39d3a7de02 Delete CodecSpecificInfo argument from VideoDecoder::Decode
Bug: webrtc:10379
Change-Id: I079b419604bf4e9c1994fe203d7db131a0ccddb6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125920
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27022}
2019-03-07 16:18:49 +00:00
Rasmus Brandt
6f0aafa531 Add PrintResults to VideoCodecTest.
These are used by the test runner to pick up perf values
to be shown in the perf dashboard.

Bug: webrtc:10349
Change-Id: Ib3b2479f7a20b66192751bee8237d757f5870bd2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126220
Reviewed-by: Mirta Dvornicic <mirtad@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27020}
2019-03-07 15:12:40 +00:00
Niels Möller
b859b326ba Update more VideoEncoder implementations to drop CodecSpecificInfo input
Followup to https://webrtc-review.googlesource.com/c/src/+/125900.

Bug: webrtc:10379
Change-Id: If81c50c862bbcfd65a3cf7000c8327ebafe519c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126002
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27016}
2019-03-07 12:26:57 +00:00
Niels Möller
87e2d785a0 Prepare for splitting FrameType into AudioFrameType and VideoFrameType
This cl deprecates the FrameType enum, and adds aliases AudioFrameType
and VideoFrameType.

After downstream usage is updated, the enums will be separated
and be moved out of common_types.h.

Bug: webrtc:6883
Change-Id: I2aaf660169da45f22574b4cbb16aea8522cc07a6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/123184
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27011}
2019-03-07 10:12:57 +00:00
Harald Alvestrand
15845af3cd Reland "Another mock for GetSctpTransport" (and add test)
This reverts commit 727504cf49.

Reason for revert: Added required INCLUDE to fix compile errors.

Original change's description:
> Revert "Another mock for GetSctpTransport"
>
> This reverts commit b2c4700d39.
>
> Reason for revert: Breaks Chrome build
>
> Original change's description:
> > Another mock for GetSctpTransport
> >
> > Bug: chromium:818643
> > Change-Id: I4ae7826efa7afa8e7b2ecd8a5928071a1b913ded
> > Reviewed-on: https://webrtc-review.googlesource.com/c/125340
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#26941}
>
> TBR=kwiberg@webrtc.org,hta@webrtc.org
>
> Change-Id: I98ddc61ca1e76d69b84138419d91ad9e40b04b1d
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:818643
> Reviewed-on: https://webrtc-review.googlesource.com/c/125380
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26943}

TBR=kwiberg@webrtc.org,hta@webrtc.org

Change-Id: I3eb410427f6660cd00319b43e7096bd634290e8a
Bug: chromium:818643
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125381
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26964}
2019-03-05 09:21:37 +00:00
Harald Alvestrand
727504cf49 Revert "Another mock for GetSctpTransport"
This reverts commit b2c4700d39.

Reason for revert: Breaks Chrome build

Original change's description:
> Another mock for GetSctpTransport
> 
> Bug: chromium:818643
> Change-Id: I4ae7826efa7afa8e7b2ecd8a5928071a1b913ded
> Reviewed-on: https://webrtc-review.googlesource.com/c/125340
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26941}

TBR=kwiberg@webrtc.org,hta@webrtc.org

Change-Id: I98ddc61ca1e76d69b84138419d91ad9e40b04b1d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:818643
Reviewed-on: https://webrtc-review.googlesource.com/c/125380
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26943}
2019-03-04 10:08:31 +00:00
Harald Alvestrand
b2c4700d39 Another mock for GetSctpTransport
Bug: chromium:818643
Change-Id: I4ae7826efa7afa8e7b2ecd8a5928071a1b913ded
Reviewed-on: https://webrtc-review.googlesource.com/c/125340
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26941}
2019-03-04 08:27:28 +00:00
Piotr (Peter) Slatala
b1ae10b172 Add x-mt line to the offer.
We already support decoding of the x-mt line. This change adds the
a=x-mt line to the SDP offer. This is not a backward compatible change
for media transport (because of the changes in pre-shared key handling)

1) if media transport is enabled, and SDES is enabled, generate the
media transport offer.
2) if media transport generated the offer, add that offer to the x-mt
line.
3) in order to create media transport, require an x-mt line (backward incompatible).

The way it works is that
1) PeerConnection, on the offerer, asks jsep transport for the
configuration of the media transport.
2) Tentative media transport is created in JsepTransportController when
that happens.
3) SessionDescription will include configuration from this tentative
media transport.
4) When the LocalDescription is set on the offerer, the tentative media
transport is promoted to the real media transport.

Caveats:
- now we really only support MaxBundle. In the previous implementations,
two media transports were briefly created in some tests, and the second
one was destroyed shortly after instantiation.
- we, for now, enforce SDES. In the future, whether SDES is used will be
refactored out of the peer connection.

In the future (on the callee) we should ignore 'is_media_transport' setting. If
Offer contains x-mt, media transport should be used (if the factory is
present). However, we need to decide how to negotiate media transport
for data channels vs data transport for media (x-mt line at this point
doesn't differentiate the two, so we still need to use app setting).

This change also removes the negotation of pre-shared key from the
a=crypto line. Instead, media transport will have its own, 256bit key.
Such key should be transported in the x-mt line. This makes the code
much simpler, and simplifies the dependency / a=crypto lines parsing.

Also, adds a proper test for the connection re-offer (on both sides: callee and caller).
Before, it was possible that media transport could get recreated, based on the offer.
The tests we had didn't test this scenario, and the loopback media factory didn't allow for such test.
This change adds counts to that loopback media factory, and asserts that only 1 media transport is created, even
when there is a re-offer.

Bug: webrtc:9719
Change-Id: Ibd8739af90e914da40ab412454bba8e1529f5a01
Reviewed-on: https://webrtc-review.googlesource.com/c/125040
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26933}
2019-03-01 20:32:16 +00:00
Bjorn Mellem
9ded485caa Implement OpenChannel() on test media transports and make it pure virtual.
Bug: webrtc:9719
Change-Id: I9ec89fca7d4555f31b5192980f193b58d99e3b71
Reviewed-on: https://webrtc-review.googlesource.com/c/125100
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26910}
2019-03-01 00:24:07 +00:00
Ivo Creusen
ba7886b076 Move command line flags out of NetEqTestFactory
This replaces the use of command-line flags with the use of a config
struct. This makes it easier for non command-line applications to use
the NetEqTestFactory to run simulations.

Bug: webrtc:10337
Change-Id: I24533bf206e70e12db9af8d9675769c1ff7c7d48
Reviewed-on: https://webrtc-review.googlesource.com/c/123600
Reviewed-by: Pablo Barrera González <barrerap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26887}
2019-02-28 10:01:25 +00:00
Piotr (Peter) Slatala
105ded358b Pass the x-mt line from SDP to the media transport
If x-mt line is present (one or more), and the first line is dedicated
for the media transport that we support, pass the config down to this
media transport.

In the future we will do 3 changes:
1) Add MediaTransportFactory::IsSupported(config) to let the
implementation decide whether the current factory can support a given
setting
2) Add support for multiple x-mt lines. Right now the support is
minimal: we only look at the first line (because we only allow single
media transport factory). In the future, when RtpMediaTransport is
introduced, this may and will change.
3) Allow multiple MediaTransportFactories and add fallback to RTP if
media transport is not supported.

Current solution provides backward compatibility for the 2 above
extensions.

Bug: webrtc:9719
Change-Id: I82a469fecda57effc95d7d8191f4a9e4a01d199c
Reviewed-on: https://webrtc-review.googlesource.com/c/124800
Commit-Queue: Peter Slatala <psla@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26882}
2019-02-27 22:45:30 +00:00
Rasmus Brandt
7b3f4a2035 Remove unused |keyframe_interval| from codec tests.
Bug: webrtc:10349
Change-Id: Iada8c8a1824f6e5424f503bb67b00382069b1dbd
Reviewed-on: https://webrtc-review.googlesource.com/c/124486
Reviewed-by: Mirta Dvornicic <mirtad@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26866}
2019-02-27 07:26:30 +00:00
Piotr (Peter) Slatala
1a16da1cf2 Remove deprecated CreateMediaTransport method
Bug: webrtc:9719
Change-Id: I4aef407c4770fc98abcbc114b87e73bbf13d8f56
Reviewed-on: https://webrtc-review.googlesource.com/c/124021
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26860}
2019-02-26 18:32:22 +00:00
Sebastian Jansson
2b08e3188e Adds CoDel implementation to network simulation.
Adds an implementation of the CoDel active queue management algorithm
to the network simulation. It is loosely based on CoDel pseudocode
from ACMQueue: https://queue.acm.org/appendices/codel.html

Bug: webrtc:9510
Change-Id: Ice485be35a01dafa6169d697b51b5c1b33a49ba6
Reviewed-on: https://webrtc-review.googlesource.com/c/123581
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26834}
2019-02-25 09:54:03 +00:00
Mirko Bonadei
c4dd730765 Fix -Wextra-semi warnings.
Starting from https://chromium-review.googlesource.com/c/1485012,
-Wextra-semi is enabled and WebRTC has some violations to fix.

This is a follow-up of https://webrtc-review.googlesource.com/c/123560.

Bug: webrtc:10355
Change-Id: I012b7497fc8991037fd77aa98f1579c22e08206f
Reviewed-on: https://webrtc-review.googlesource.com/c/124126
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26831}
2019-02-25 09:22:51 +00:00
Amit Hilbuch
2297d3311a Rejected simulcast layers will no longer appear in GetParameters().
Added a layer in RtpSender that bridges the gap between the layers
that the user sees and the layer that the media engine sees.
Media engine still maintains the invariant that the number of layers
cannot be changed, while RtpSender adds and removes layers between
the user GetParameters and SetParameters calls and the media engine.

Bug: webrtc:10251
Change-Id: I33839c1f9a9052cb6130253e5a582606f2cbe54a
Reviewed-on: https://webrtc-review.googlesource.com/c/122641
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26756}
2019-02-19 22:01:53 +00:00
Sergey Silkin
e049eba27c Revert "Add Sender and Receiver interfaces for MediaTransport audio"
This reverts commit 0d8eed6ac7.

Reason for revert: crashes of unit tests.

Original change's description:
> Add Sender and Receiver interfaces for MediaTransport audio
> 
> Implement in LoopbackMediaTransport.
> 
> Bug: webrtc:9719
> Change-Id: I429ac3f78d99b8ea4f9ac85b9a3600b215b61a55
> Reviewed-on: https://webrtc-review.googlesource.com/c/121957
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
> Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26731}

TBR=solenberg@webrtc.org,nisse@webrtc.org,mellem@webrtc.org,sukhanov@webrtc.org,psla@webrtc.org,sukhanov@google.com

Change-Id: I02e409e1bbe2b2dea8a7b1aa08fa44d4146bda8f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/123232
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26733}
2019-02-18 09:52:40 +00:00
Niels Möller
0d8eed6ac7 Add Sender and Receiver interfaces for MediaTransport audio
Implement in LoopbackMediaTransport.

Bug: webrtc:9719
Change-Id: I429ac3f78d99b8ea4f9ac85b9a3600b215b61a55
Reviewed-on: https://webrtc-review.googlesource.com/c/121957
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26731}
2019-02-18 08:51:26 +00:00
Niels Möller
663844d800 Update test code to use EncodedImage::Allocate
Bug: webrtc:9378
Change-Id: I2ea63b097b0263b264fbbcca295365781fcae621
Reviewed-on: https://webrtc-review.googlesource.com/c/122780
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26690}
2019-02-14 15:50:45 +00:00
Niels Möller
dac03d9bb0 Move MediaConstraintsInterface to sdk/, and make it a concrete class
Bug: webrtc:9239
Change-Id: I545ebf59b078dd94bc466886616dd374e4b2e226
Reviewed-on: https://webrtc-review.googlesource.com/c/122502
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26682}
2019-02-14 12:07:07 +00:00
Erik Språng
616b233688 Add FullStackTest with simulated encoder overshooting
Bug: webrtc:10302
Change-Id: I1d4b9ef22ba1ca9a221cc01e2c44775014c90d4f
Reviewed-on: https://webrtc-review.googlesource.com/c/122082
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26673}
2019-02-13 22:55:50 +00:00
Ilya Nikolaevskiy
85fc32540e Revert "Partial frame capture API part 5"
This reverts commit 1f0a84a2ec.

Reason for revert: Partial Capture API is not needed, according to new info from the Chrome team.

Original change's description:
> Partial frame capture API part 5
> 
> Wire up partial video frames in video quality tests
> 
> Bug: webrtc:10152
> Change-Id: Ifa13bb308258c8d3930a6cfbcc97c95b132cecf3
> Reviewed-on: https://webrtc-review.googlesource.com/c/120410
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26549}

TBR=ilnik@webrtc.org,sprang@webrtc.org,stefan@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:10152
Change-Id: I32017b1a7109a3615598a976f4b0e61edf4e8757
Reviewed-on: https://webrtc-review.googlesource.com/c/122088
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26628}
2019-02-11 11:28:40 +00:00
Niels Möller
494ff28573 Delete unused media constraints
Bug: webrtc:9239
Change-Id: I3a0a6b3f8d08bcc589e4f6490731fbe1598d0463
Reviewed-on: https://webrtc-review.googlesource.com/c/121820
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26611}
2019-02-08 14:45:00 +00:00
Ilya Nikolaevskiy
1f0a84a2ec Partial frame capture API part 5
Wire up partial video frames in video quality tests

Bug: webrtc:10152
Change-Id: Ifa13bb308258c8d3930a6cfbcc97c95b132cecf3
Reviewed-on: https://webrtc-review.googlesource.com/c/120410
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26549}
2019-02-05 14:13:39 +00:00
Mirko Bonadei
80a8687082 [clang-tidy] Apply performance-move-const-arg fixes (mutable lambdas).
This CL is a manual spin-off of [1], which tried to apply clang-tidy's
performance-move-const-arg [1] to the WebRTC codebase.

Since there were some wrong fixes to correct, this CL lands all the
manual fixes where std::move was actually fine but the lambda was not
mutable.

[1] - https://webrtc-review.googlesource.com/c/src/+/120350
[2] - https://clang.llvm.org/extra/clang-tidy/checks/performance-move-const-arg.html

Bug: webrtc:10252
Change-Id: I4602e3d4a63d2637dd389e775ffbf80fe95f40fc
Reviewed-on: https://webrtc-review.googlesource.com/c/120927
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26532}
2019-02-04 14:47:56 +00:00
Mirko Bonadei
05cf6be726 [clang-tidy] Apply performance-move-const-arg fixes.
This CL is a manual spin-off of [1], which tried to apply clang-tidy's
performance-move-const-arg [1] to the WebRTC codebase.

Since there are some wrong fixes to correct, this CL collects all the
fixes that could be landed as is.

[1] - https://webrtc-review.googlesource.com/c/src/+/120350
[2] - https://clang.llvm.org/extra/clang-tidy/checks/performance-move-const-arg.html

Bug: webrtc:10252
Change-Id: Ic4882213556344e65c66e27415e91ff6f89134d7
Reviewed-on: https://webrtc-review.googlesource.com/c/120814
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26515}
2019-02-01 15:02:36 +00:00
Sebastian Jansson
8c8feb9d2b Moves packet overhead from network nodes to simulation.
This simplifies the design by making simulated network more self
sufficient. It also prepares for removing network node specific
configuration (The behavior implementation should be responsible
for handling any configuration.)

Bug: webrtc:9510
Change-Id: I218d70c0359774d9891178fbd8b1bbc729cbad92
Reviewed-on: https://webrtc-review.googlesource.com/c/120346
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26450}
2019-01-29 16:55:04 +00:00
Piotr (Peter) Slatala
48c5493393 Add 'UpdateAllocationLimits' in media transport.
Bug: webrtc:9719
Change-Id: I90bd1d9858c259d7339420c574ad83d6fb18299c
Reviewed-on: https://webrtc-review.googlesource.com/c/118946
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26426}
2019-01-28 18:20:47 +00:00
Steve Anton
f380284035 (7) Rename files to snake_case: remove forwarding headers
Bug: webrtc:10159
Change-Id: I2ba899e0283b953538c7941c8790213e36d7c70e
Reviewed-on: https://webrtc-review.googlesource.com/c/118561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26417}
2019-01-26 00:33:46 +00:00
Niels Möller
77536a2b81 Rename EncodedImage::_length --> size_, and make private.
Use size() accessor function. Also replace most nearby uses of _buffer
with data().

Bug: webrtc:9378
Change-Id: I1ac3459612f7c6151bd057d05448da1c4e1c6e3d
Reviewed-on: https://webrtc-review.googlesource.com/c/116783
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26273}
2019-01-16 07:40:47 +00:00
Steve Anton
aec15aa810 (5) Rename files to snake_case: install forwarding headers
Mechanically generated with this command:

tools_webrtc/do-renames.sh install all-renames.txt && git cl format

Bug: webrtc:10159
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: Ic8e99f71f2da62e5c99863c6d24a8cfe311466cd
Reviewed-on: https://webrtc-review.googlesource.com/c/115682
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26227}
2019-01-11 17:13:36 +00:00
Steve Anton
10542f21c8 (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries
Mechanically generated by running this command:

tools_webrtc/do-renames.sh update all-renames.txt && git cl format

Then manually updating:

tools_webrtc/sanitizers/tsan_suppressions_webrtc.cc

Bug: webrtc:10159
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I54824cd91dada8fc3ee3d098f971bc319d477833
Reviewed-on: https://webrtc-review.googlesource.com/c/115653
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26226}
2019-01-11 17:11:39 +00:00
Steve Anton
1c05765831 (3) Rename files to snake_case: move the files
Mechanically generated with this command:

tools_webrtc/do-rename.sh move all-renames.txt

Bug: webrtc:10159
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I8b05b6eab9b9d18b29c2199bbea239e9add1e690
Reviewed-on: https://webrtc-review.googlesource.com/c/115481
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26225}
2019-01-11 17:05:20 +00:00
Niels Möller
4687915495 Enable use of MediaTransportInterface for video streams.
Bug: webrtc:9719
Change-Id: I8c6027b4b15ed641e42fd210b3ea87d121508a69
Reviewed-on: https://webrtc-review.googlesource.com/c/111751
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26219}
2019-01-11 14:06:15 +00:00
Steve Anton
40d55331d7 Include absl/memory/memory.h if absl::make_unique is used
Tbr: kwiberg@webrtc.org
Bug: None
Change-Id: Iaf4533d2ce0e80b351a8a664ef8cf7ba0e5ec583
Reviewed-on: https://webrtc-review.googlesource.com/c/115746
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26168}
2019-01-08 20:08:32 +00:00
Minyue Li
455d27c49a Adding audio network adaptor to video quality test.
Bug: b/122445011
Change-Id: I2f652f972e500fa700b65d89cb044f98bcfb1eed
Reviewed-on: https://webrtc-review.googlesource.com/c/116282
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26158}
2019-01-08 14:49:50 +00:00
Sergey Silkin
d716fb9ecb Reland "Refactor rate profile update."
This is a reland of b6cdfdc165

Original change's description:
> Refactor rate profile update.
>
> RateProfile::frame_num specifies frame at which this rate profile
> should be applied.
>
> Bug: none
> Change-Id: I003ee43f44299a49d83f547558284817bfaeacc0
> Reviewed-on: https://webrtc-review.googlesource.com/c/115242
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26080}

TBR=ilnik@webrtc.org,shampson@webrtc.org

Bug: none
Change-Id: I6ccbb32efe3d52c97e73e248ce5f06d672c9fba5
Reviewed-on: https://webrtc-review.googlesource.com/c/116286
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26155}
2019-01-08 10:35:42 +00:00
Sergey Silkin
08223c1576 Revert "Reland "Refactor rate profile update.""
This reverts commit 77aedaee69.

Reason for revert: breaks VideoCodecTestVideoToolbox tests.

Original change's description:
> Reland "Refactor rate profile update."
> 
> This is a reland of b6cdfdc165
> 
> Original change's description:
> > Refactor rate profile update.
> > 
> > RateProfile::frame_num specifies frame at which this rate profile
> > should be applied.
> > 
> > Bug: none
> > Change-Id: I003ee43f44299a49d83f547558284817bfaeacc0
> > Reviewed-on: https://webrtc-review.googlesource.com/c/115242
> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> > Reviewed-by: Seth Hampson <shampson@webrtc.org>
> > Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#26080}
> 
> Bug: none
> Change-Id: I2604878d0bbee0f2182ad74e3cc29546310b76f3
> Reviewed-on: https://webrtc-review.googlesource.com/c/115401
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26145}

TBR=ilnik@webrtc.org,shampson@webrtc.org,ssilkin@webrtc.org

Change-Id: Ib53eae70c380eefa303ddb01441f23e32f06b3ad
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/116285
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26148}
2019-01-07 15:41:17 +00:00
Sergey Silkin
77aedaee69 Reland "Refactor rate profile update."
This is a reland of b6cdfdc165

Original change's description:
> Refactor rate profile update.
> 
> RateProfile::frame_num specifies frame at which this rate profile
> should be applied.
> 
> Bug: none
> Change-Id: I003ee43f44299a49d83f547558284817bfaeacc0
> Reviewed-on: https://webrtc-review.googlesource.com/c/115242
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26080}

Bug: none
Change-Id: I2604878d0bbee0f2182ad74e3cc29546310b76f3
Reviewed-on: https://webrtc-review.googlesource.com/c/115401
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26145}
2019-01-07 11:18:26 +00:00
Steve Anton
bba675db3e Clean up api/ DEPS
Add missing entries, move definitions to closer DEPS files.

Tbr: shampson@webrtc.org
Tbr: terelius@webrtc.org
Bug: None
Change-Id: I07574ad4d440eb729d21aba673981833261c1fcf
Reviewed-on: https://webrtc-review.googlesource.com/c/115742
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26114}
2019-01-02 18:41:43 +00:00
Sergey Silkin
a1f78a4fa6 Revert "Refactor rate profile update."
This reverts commit b6cdfdc165.

Reason for revert: breaks downstream projects

Original change's description:
> Refactor rate profile update.
> 
> RateProfile::frame_num specifies frame at which this rate profile
> should be applied.
> 
> Bug: none
> Change-Id: I003ee43f44299a49d83f547558284817bfaeacc0
> Reviewed-on: https://webrtc-review.googlesource.com/c/115242
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26080}

TBR=ilnik@webrtc.org,shampson@webrtc.org,ssilkin@webrtc.org

Change-Id: I5957a0169841008436d1db70403d3694bf25d5cf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/115400
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26081}
2018-12-21 09:05:01 +00:00
Sergey Silkin
b6cdfdc165 Refactor rate profile update.
RateProfile::frame_num specifies frame at which this rate profile
should be applied.

Bug: none
Change-Id: I003ee43f44299a49d83f547558284817bfaeacc0
Reviewed-on: https://webrtc-review.googlesource.com/c/115242
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26080}
2018-12-21 08:32:35 +00:00
Niels Möller
1c7f5f63d1 Add SetKeyFrameRequestCallback to MediaTransportInterface
And implemented in LoopbackMediaTransport.

Bug: webrtc:9719
Change-Id: I68b16c2b6ed5583ffe9a5266e3d4cb1d94afbb97
Reviewed-on: https://webrtc-review.googlesource.com/c/113523
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25948}
2018-12-10 14:01:31 +00:00
Mirta Dvornicic
1ec2a16121 Revert "Replace VideoEncoderFactory::QueryVideoEncoder with VideoEncoder::GetEncoderInfo"
This reverts commit cdc5eb0de1.

Reason for revert: Causes wrong CPU adaptation to be used for some HW codecs since GetEncoderInfo() is polled before InitEncode().

Original change's description:
> Replace VideoEncoderFactory::QueryVideoEncoder with VideoEncoder::GetEncoderInfo
> 
> Make implementation of VideoEncoderFactory::QueryVideoEncoder optional
> until it is removed downstream and remove all implementations of it.
> 
> Bug: webrtc:10065
> Change-Id: Ibb1f9612234e536651ce53f05ee048a5d172a41f
> Reviewed-on: https://webrtc-review.googlesource.com/c/113065
> Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25924}

TBR=brandtr@webrtc.org,sakal@webrtc.org,kthelgason@webrtc.org,sprang@webrtc.org,srte@webrtc.org,perkj@webrtc.org,mirtad@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:10065
Change-Id: Idaa452e1d8c1c58cdb4ec69b88fce9042589cc3c
Reviewed-on: https://webrtc-review.googlesource.com/c/113800
Reviewed-by: Mirta Dvornicic <mirtad@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25943}
2018-12-10 10:36:00 +00:00
Mirta Dvornicic
cdc5eb0de1 Replace VideoEncoderFactory::QueryVideoEncoder with VideoEncoder::GetEncoderInfo
Make implementation of VideoEncoderFactory::QueryVideoEncoder optional
until it is removed downstream and remove all implementations of it.

Bug: webrtc:10065
Change-Id: Ibb1f9612234e536651ce53f05ee048a5d172a41f
Reviewed-on: https://webrtc-review.googlesource.com/c/113065
Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25924}
2018-12-06 15:24:45 +00:00
Niels Möller
d8a1b7a5c5 Use opaque int as payload_type in MediaTransportInterface
Replaces enum VideoCodecType for video frames and uint8_t for audio
frames.

Also delete method
MediaTransportVideoSinkInterface::OnKeyFrameRequested; it needs to be
added as a send-side interface instead (for a later cl).

Bug: webrtc:9719
Change-Id: I2cfdbacc267afc75c448512e2cc6de0ec9966a2d
Reviewed-on: https://webrtc-review.googlesource.com/c/113180
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25918}
2018-12-06 12:37:27 +00:00
Niels Möller
e0446cb80c Move implementation of LoopbackMediaTransport to .cc file
Needed for coming cls to be able to use rtc_base/timeutils.h, which
shouldn't be included by api/ headers.

Bug: webrtc:9719
Change-Id: Ia36c0a9218ad505e1eb4f2d9c26d44d5673c2632
Reviewed-on: https://webrtc-review.googlesource.com/c/112580
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25855}
2018-11-30 10:39:26 +00:00
Yves Gerey
3e70781361 [Cleanup] Add missing #include. Remove useless ones. IWYU part 2.
This is a follow-up to
https://webrtc-review.googlesource.com/c/src/+/106280.
This time the whole code base is covered.
Some files may have not been fixed though, whenever the IWYU tool
was breaking the build.

Bug: webrtc:8311
Change-Id: I2c31f552a87e887d33931d46e87b6208b1e483ef
Reviewed-on: https://webrtc-review.googlesource.com/c/111965
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25830}
2018-11-28 18:25:07 +00:00
Niels Möller
d5696fb8f5 Add video support to LoopbackMediaTransport
Bug: webrtc:9719
Change-Id: I568da8720377342cf44ee8caa316e14b4cd8beba
Reviewed-on: https://webrtc-review.googlesource.com/c/111960
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25826}
2018-11-28 15:34:20 +00:00
Piotr (Peter) Slatala
5eae1d994e Remove legacy SetTargetTransferRateObserver
Bug: webrtc:9719
Change-Id: I04e892ce0f2af5c48040dd92ff0701209104fe65
Reviewed-on: https://webrtc-review.googlesource.com/c/111287
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25734}
2018-11-21 17:10:25 +00:00
Niels Möller
c68d282250 Add test PeerConnectionIntegrationTest.MediaTransportBidirectionalAudio
Bug: webrtc:9719
Change-Id: Idbd585c569c54cb86a30f3c30139ad4797dfe723
Reviewed-on: https://webrtc-review.googlesource.com/c/111500
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25719}
2018-11-21 07:59:34 +00:00
Piotr (Peter) Slatala
cc8e8bb73f Pass the media transport from JsepTransportController to Call.
Add TargetRateObservers for media transport in the call object.



Bug: webrtc:9719
Change-Id: I5448d05359cf09b8cd2a678b2ac876aa8f8970e7
Reviewed-on: https://webrtc-review.googlesource.com/c/110622
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25662}
2018-11-15 17:36:48 +00:00
Bjorn Mellem
175aa2e95c Implement data channels over media transport.
This changes PeerConnection to allow sending and receiving data channel
messages over the media transport.  If |use_media_transport_for_data_channels|
is set, PeerConnection will use a DCT_MEDIA_TRANSPORT mode for data
channels.

DCT_MEDIA_TRANSPORT acts exactly like DCT_SCTP within the data channel
and peer connection layers.  On the transport layer, it uses the media
transport instead of SCTP.  It appears as an RTP data channel in SDP
(just as media over media-transport appears as RTP in SDP).

Bug: webrtc:9719
Change-Id: I6a90142bd3f43668479c825ed02689dcd0d58b78
Reviewed-on: https://webrtc-review.googlesource.com/c/109740
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25575}
2018-11-09 00:40:32 +00:00
Jiawei Ou
c2ebe21ba9 Reland "Use the factory instead of using the builtin code path in VideoCodecInitializer"
Compared the original CL: https://webrtc-review.googlesource.com/c/src/+/94782

This new CL added backward compatible functions to WebRtcMediaEngineFactory so that internal projects will not be broken.

Because of that, now we can revert all the changes to SDK and PeerConnection and do it in following CLs. This makes this CL cleaner.

One temporary disadvantage of this is the media engine now need to take a dependency onto builtin video bitrate factory, but practically it just moved code around and should not result in a large binary size change. We can remove this dependency later if needed.

Bug: webrtc:9513
Change-Id: I38708762ff365e4ca05974b99fac71edc739a756
Reviewed-on: https://webrtc-review.googlesource.com/c/109040
Commit-Queue: Jiawei Ou <ouj@fb.com>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25574}
2018-11-08 19:10:47 +00:00
Erik Språng
36d907b6cd Update MockVideoEncoder with correct methods.
Add GetEncoderInfo() and remove HasTrustedRateController(), which was
erroneously added here:
https://webrtc-review.googlesource.com/c/src/+/105620

Bug: webrtc:9722
Change-Id: Iaff6eed773c3431b806adb694b6e3564b180188e
Reviewed-on: https://webrtc-review.googlesource.com/c/109586
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25541}
2018-11-07 12:19:54 +00:00
philipel
ee49f7087f Remove VideoEncoder::SetChannelParameters.
The SetChannelParameters function was used when WebRTC supported decoding
with errors, which we no longer do.

This cleanup CL is related to the work tracked by 9946.

Bug: webrtc:9946
Change-Id: Id2d5ed23031388f890c42651bfbe5f79eda701e5
Reviewed-on: https://webrtc-review.googlesource.com/c/108861
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25505}
2018-11-05 17:37:07 +00:00
Bjorn Mellem
273d0296a4 Implement data channel methods in LoopbackMediaTransport.
This enables PeerConnection tests to use LoopbackMediaTransport to test
data-channel-over-media-transport code.

Also changes LoopbackMediaTransport to invoke callbacks asynchronously.
This is more accurate, as these callbacks are triggered by network
events.  The caller should not block while the callback executes.

Since LoopbackMediaTransport is used for testing, it provides a
FlushAsyncInvokes() method which may be used to ensure that callbacks
occur deterministically (eg. before checking that data has been
received).

Bug: webrtc:9719
Change-Id: Ib8ea9aebf4a0ad3d5934a6fe4ab33432c68523fd
Tbr: stefan@webrtc.org
Reviewed-on: https://webrtc-review.googlesource.com/c/109060
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25489}
2018-11-02 16:15:32 +00:00
Piotr (Peter) Slatala
4eb4112508 Plug-in media transport state listener
IceConnected state (transport state) now includes the state of the
MediaTransport.

This is a first change of two. Second change will add state change
signals to the PeerConnectionInterface informing separately about
ice+media transport vs ice+dtls.

Bug: webrtc:9719
Change-Id: I5731530073e8f26dfc8b188778d268b815da7052
Reviewed-on: https://webrtc-review.googlesource.com/c/108901
Commit-Queue: Peter Slatala <psla@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25473}
2018-11-01 15:52:56 +00:00
Qingsi Wang
59844ce57e Revert "Use the factory instead of using the builtin code path in VideoCodecInitializer."
This reverts commit be142178aa.

Reason for revert: breaking internal projects

Original change's description:
> Use the factory instead of using the builtin code path in `VideoCodecInitializer`.
> 
> Bug: webrtc:9513
> Change-Id: Ia299ae1044a3ff4c91e208200938cba540bdcea6
> Reviewed-on: https://webrtc-review.googlesource.com/c/94782
> Commit-Queue: Jiawei Ou <ouj@fb.com>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25456}

TBR=brandtr@webrtc.org,magjed@webrtc.org,sakal@webrtc.org,nisse@webrtc.org,andersc@webrtc.org,tommi@webrtc.org,kthelgason@webrtc.org,sprang@webrtc.org,srte@webrtc.org,perkj@webrtc.org,tkchin@webrtc.org,shampson@webrtc.org,glaznev@webrtc.org,ouj@fb.com,qingsi@webrtc.org

Change-Id: I8040ccabe3ae6464d72c7696adb663c1dd275b63
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9513
Reviewed-on: https://webrtc-review.googlesource.com/c/108980
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25459}
2018-11-01 04:46:02 +00:00
Bjorn Mellem
eb2c6415a9 Delete the default implementations of MediaTransportInterface methods.
This change deletes the default implementations of state and data
channel methods (SetMediaTransportStateCallback, SendData, CloseChannel,
and SetDataSink).  It adds stub implementations to LoopbackMediaTransport
and FakeMediaTransport.

Bug: webrtc:9719
Change-Id: I49b7780c055b552330546b460c2e79ce8df81833
Reviewed-on: https://webrtc-review.googlesource.com/c/108940
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25457}
2018-11-01 00:15:52 +00:00
Jiawei Ou
be142178aa Use the factory instead of using the builtin code path in VideoCodecInitializer.
Bug: webrtc:9513
Change-Id: Ia299ae1044a3ff4c91e208200938cba540bdcea6
Reviewed-on: https://webrtc-review.googlesource.com/c/94782
Commit-Queue: Jiawei Ou <ouj@fb.com>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25456}
2018-10-31 22:47:02 +00:00
Piotr (Peter) Slatala
9f9562592f When SDES is used, pass pre-shared key to media transport.
This allows to use secure, end to end communication if SDES cryptos are
passed. MediaTransport can use a derived key to secure its own
communication.

Bug: webrtc:9719
Change-Id: If1a20b136b3b4af0cb24f10b52fc5ce1eb31daa2
Reviewed-on: https://webrtc-review.googlesource.com/c/108504
Commit-Queue: Peter Slatala <psla@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25452}
2018-10-31 16:04:16 +00:00
Piotr (Peter) Slatala
6b9d823f9b Add TargetBitrate callback to MediaTransportInterface.
Clients of media_transport_interface need the ability to monitor BWE
estimates, and this change adds a TargetBitrate observer to the media
transport interface.

Bug: webrtc:9719
Change-Id: I90ebbf684c6f269e0c3cd58428010cfa511cc970
Reviewed-on: https://webrtc-review.googlesource.com/c/108106
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25415}
2018-10-29 16:40:07 +00:00
Benjamin Wright
150a907403 FrameEncryption Video End To End Testcase.
There was a suggestion in a previous CL to add an end to end test case to
prevent future regressions. I have enabled this by adding two fakes that
perform fake encryption and enabling an end to end test with VP8 and the
GenericDescriptor.

Bug: webrtc:9927
Change-Id: Icf96eeed541ada1e0579eb81b6f87a46d1c43d96
Reviewed-on: https://webrtc-review.googlesource.com/c/108020
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25399}
2018-10-26 23:19:31 +00:00
Benjamin Wright
78410ad413 Fixes use after free error when setting a new FrameEncryptor on ChannelSend.
This change corrects a potential race condition when updating a FrameEncryptor
for the audio send channel. If a FrameEncryptor is set on an active audio
stream it is possible for the current FrameEncryptor attached to the audio channel to be  deallocated due to
the FrameEncryptors reference count reaching zero before the new FrameEncryptor is set on the
channel.

To address this issue the ChannelSend is now holds a scoped_reftptr<FrameEncryptor>
to only allow deallocation when it is actually set on the encoder queue.

ChannelSend is unique in this respect as the Audio Receiver a long with the
Video Sender and Video Receiver streams all recreate themselves when they have
a configuration change. ChannelSend instead reconfigures itself using the
existing channel object.

Added Seth as TBR as this only introduces mocks.

TBR=shampson@webrtc.org

Bug: webrtc:9907
Change-Id: Ibf391dc9cecdbed1874e0252ff5c2cb92a5c64f4
Reviewed-on: https://webrtc-review.googlesource.com/c/107664
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25374}
2018-10-25 17:36:57 +00:00
Danil Chapovalov
ddc84e9819 Publish function_video_(en|de)coder_factory into api
Bug: None
Change-Id: Ibdae580c085cfc4b063fdc7f1edb8312de438722
Reviewed-on: https://webrtc-review.googlesource.com/c/107705
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25360}
2018-10-25 12:15:43 +00:00
Artem Titov
62ae178357 Remove deprecated pipe field from VideoQualityTestFixtureInterface::Params
To be landed after 23th October

Bug: webrtc:9630
Change-Id: I8de460d093438c8b72bca44cdfce49b72cbcc2d0
Reviewed-on: https://webrtc-review.googlesource.com/c/104481
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25341}
2018-10-24 13:21:28 +00:00
Artem Titov
e943d43926 Remove deprecated DefaultNetworkSimulationConfig
To be landed after 23th October

Bug: webrtc:9630
Change-Id: Ie322fe5428824b29ad51edaaa446121c5511b9ff
Reviewed-on: https://webrtc-review.googlesource.com/c/104600
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25339}
2018-10-24 12:57:31 +00:00
Artem Titov
ec9b77bc42 Remove deprecated API: NetwrokSimulationInterface.
To be landed after 23th October

Bug: webrtc:9630
Change-Id: Ibf9c09d16e86789284491b16812ce57a3cad0624
Reviewed-on: https://webrtc-review.googlesource.com/c/104061
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25337}
2018-10-24 12:52:51 +00:00
Mirko Bonadei
bc6a06c058 Adding missing #include on absl/memory/memory.h.
These two files were using absl::make_unique without #including the
header that declares it.

Bug: None
Change-Id: I03019c9a7e06370631680b474d04dd33716b0fe3
Reviewed-on: https://webrtc-review.googlesource.com/c/107041
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25266}
2018-10-19 09:14:01 +00:00
Anton Sukhanov
98a462cead Reland "Reland "Propagate media transport to media channel.""
This is a reland of da65ed2adc

Original change's description:
> Reland "Propagate media transport to media channel."
>
> This reverts commit 37cf2455a4.
>
> Reason for revert: <INSERT REASONING HERE>
>
> Original change's description:
> > Revert "Propagate media transport to media channel."
> >
> > This reverts commit 8c16f745ab.
> >
> > Reason for revert: Breaks downstream project
> >
> > Original change's description:
> > > Propagate media transport to media channel.
> > >
> > > 1. Pass media transport factory to JSEP transport controller.
> > > 2. Pass media transport to voice media channel.
> > > 3. Add basic unit test that make sure if peer connection is created with media transport, it is propagated to voice media channel.
> > >
> > > Change-Id: Ie922db78ade0efd893e019cd2b4441a9947a2f71
> > > Bug: webrtc:9719
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/105542
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > > Reviewed-by: Peter Slatala <psla@webrtc.org>
> > > Commit-Queue: Anton Sukhanov <sukhanov@google.com>
> > > Cr-Commit-Position: refs/heads/master@{#25152}
> >
> > TBR=steveanton@webrtc.org,nisse@webrtc.org,psla@webrtc.org,sukhanov@google.com
> >
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> >
> > Bug: webrtc:9719
> > Change-Id: Ic78cdc142a2145682ad74eac8b72c71c50f0a5c1
> > Reviewed-on: https://webrtc-review.googlesource.com/c/105840
> > Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> > Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#25154}
>
> TBR=steveanton@webrtc.org,oprypin@webrtc.org,nisse@webrtc.org,sukhanov@webrtc.org,psla@webrtc.org,sukhanov@google.com
>
> Change-Id: I505ff3451eae81573531faef155ff35d7f894022
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9719
> Reviewed-on: https://webrtc-review.googlesource.com/c/106500
> Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
> Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25220}

Bug: webrtc:9719
Tbr: Steve Anton <steveanton@webrtc.org>
Tbr: Niels Moller <nisse@webrtc.org>
Change-Id: Ib45691ba8be9abb89ff8c6dac1861bdf59be4c8d
Reviewed-on: https://webrtc-review.googlesource.com/c/106561
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25240}
2018-10-17 20:54:06 +00:00
Oleh Prypin
9accc9f12b Revert "Reland "Propagate media transport to media channel.""
This reverts commit da65ed2adc.

Reason for revert: Breaks downstream project

Original change's description:
> Reland "Propagate media transport to media channel."
> 
> This reverts commit 37cf2455a4.
> 
> Reason for revert: <INSERT REASONING HERE>
> 
> Original change's description:
> > Revert "Propagate media transport to media channel."
> > 
> > This reverts commit 8c16f745ab.
> > 
> > Reason for revert: Breaks downstream project
> > 
> > Original change's description:
> > > Propagate media transport to media channel.
> > > 
> > > 1. Pass media transport factory to JSEP transport controller.
> > > 2. Pass media transport to voice media channel.
> > > 3. Add basic unit test that make sure if peer connection is created with media transport, it is propagated to voice media channel.
> > > 
> > > Change-Id: Ie922db78ade0efd893e019cd2b4441a9947a2f71
> > > Bug: webrtc:9719
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/105542
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > > Reviewed-by: Peter Slatala <psla@webrtc.org>
> > > Commit-Queue: Anton Sukhanov <sukhanov@google.com>
> > > Cr-Commit-Position: refs/heads/master@{#25152}
> > 
> > TBR=steveanton@webrtc.org,nisse@webrtc.org,psla@webrtc.org,sukhanov@google.com
> > 
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> > 
> > Bug: webrtc:9719
> > Change-Id: Ic78cdc142a2145682ad74eac8b72c71c50f0a5c1
> > Reviewed-on: https://webrtc-review.googlesource.com/c/105840
> > Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> > Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#25154}
> 
> TBR=steveanton@webrtc.org,oprypin@webrtc.org,nisse@webrtc.org,sukhanov@webrtc.org,psla@webrtc.org,sukhanov@google.com
> 
> Change-Id: I505ff3451eae81573531faef155ff35d7f894022
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9719
> Reviewed-on: https://webrtc-review.googlesource.com/c/106500
> Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
> Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25220}

TBR=steveanton@webrtc.org,oprypin@webrtc.org,nisse@webrtc.org,sukhanov@webrtc.org,psla@webrtc.org,sukhanov@google.com

Change-Id: I284bab7230e931cda9ee65cb780a8e7d46fa9072
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/106520
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25223}
2018-10-16 18:49:39 +00:00
Anton Sukhanov
da65ed2adc Reland "Propagate media transport to media channel."
This reverts commit 37cf2455a4.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Propagate media transport to media channel."
> 
> This reverts commit 8c16f745ab.
> 
> Reason for revert: Breaks downstream project
> 
> Original change's description:
> > Propagate media transport to media channel.
> > 
> > 1. Pass media transport factory to JSEP transport controller.
> > 2. Pass media transport to voice media channel.
> > 3. Add basic unit test that make sure if peer connection is created with media transport, it is propagated to voice media channel.
> > 
> > Change-Id: Ie922db78ade0efd893e019cd2b4441a9947a2f71
> > Bug: webrtc:9719
> > Reviewed-on: https://webrtc-review.googlesource.com/c/105542
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Reviewed-by: Peter Slatala <psla@webrtc.org>
> > Commit-Queue: Anton Sukhanov <sukhanov@google.com>
> > Cr-Commit-Position: refs/heads/master@{#25152}
> 
> TBR=steveanton@webrtc.org,nisse@webrtc.org,psla@webrtc.org,sukhanov@google.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: webrtc:9719
> Change-Id: Ic78cdc142a2145682ad74eac8b72c71c50f0a5c1
> Reviewed-on: https://webrtc-review.googlesource.com/c/105840
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25154}

TBR=steveanton@webrtc.org,oprypin@webrtc.org,nisse@webrtc.org,sukhanov@webrtc.org,psla@webrtc.org,sukhanov@google.com

Change-Id: I505ff3451eae81573531faef155ff35d7f894022
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/106500
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25220}
2018-10-16 18:22:44 +00:00
Rasmus Brandt
2d0c68744c Remove |hw_encoder| and |hw_decoder| from VideoCodecTestFixture::Config.
Only used for output filename nowadays. Previously, it was used for
selecting the codec implementation. That is now done by injecting
the appropriate codec factory.

Bug: webrtc:9317
Change-Id: Ia2bf28f7df165fb65410ecd1f5d646ee6604e1be
Reviewed-on: https://webrtc-review.googlesource.com/c/106023
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25204}
2018-10-16 10:59:23 +00:00
Niels Möller
2e47f7c4ee Implement test class LoopbackMediaTransport
Bug: webrtc:9719
Change-Id: I82aa962d1cb8f2c8f56f766cb12562690e595045
Reviewed-on: https://webrtc-review.googlesource.com/c/105661
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25196}
2018-10-16 09:21:28 +00:00
tzik
f0e926fbdd Add missing #include and deps to absl/memory
These files uses absl::WrapUnique or absl::make_unique without including
absl/memory/memory.h. They used to include it indirectly via some other
headers, but in C++17 mode, we need to include it explicitly.

Bug: chromium:752720
Change-Id: Ic9a85a4844a71f8b8786c071f18d5b9cc301c26b
Reviewed-on: https://webrtc-review.googlesource.com/c/105880
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#25192}
2018-10-16 04:13:49 +00:00
Erik Språng
c84cd950b7 Move MockVideoDecoder to api/test.
Move MockVideoDecoder from
modules/video_coding/include/mock/mock_video_codec_interface.h
to
api/test/mock_video_decoder.h

The mock encoder has already moved:
https://webrtc-review.googlesource.com/c/src/+/105620

Keeping the old header until downstream projects have been updated.

Bug: webrtc:9722
Change-Id: I4bc849173a04813064212f17761876695ca3fed4
Reviewed-on: https://webrtc-review.googlesource.com/c/105900
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25170}
2018-10-15 13:45:27 +00:00
Oleh Prypin
37cf2455a4 Revert "Propagate media transport to media channel."
This reverts commit 8c16f745ab.

Reason for revert: Breaks downstream project

Original change's description:
> Propagate media transport to media channel.
> 
> 1. Pass media transport factory to JSEP transport controller.
> 2. Pass media transport to voice media channel.
> 3. Add basic unit test that make sure if peer connection is created with media transport, it is propagated to voice media channel.
> 
> Change-Id: Ie922db78ade0efd893e019cd2b4441a9947a2f71
> Bug: webrtc:9719
> Reviewed-on: https://webrtc-review.googlesource.com/c/105542
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Peter Slatala <psla@webrtc.org>
> Commit-Queue: Anton Sukhanov <sukhanov@google.com>
> Cr-Commit-Position: refs/heads/master@{#25152}

TBR=steveanton@webrtc.org,nisse@webrtc.org,psla@webrtc.org,sukhanov@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:9719
Change-Id: Ic78cdc142a2145682ad74eac8b72c71c50f0a5c1
Reviewed-on: https://webrtc-review.googlesource.com/c/105840
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25154}
2018-10-14 20:30:25 +00:00
Anton Sukhanov
8c16f745ab Propagate media transport to media channel.
1. Pass media transport factory to JSEP transport controller.
2. Pass media transport to voice media channel.
3. Add basic unit test that make sure if peer connection is created with media transport, it is propagated to voice media channel.

Change-Id: Ie922db78ade0efd893e019cd2b4441a9947a2f71
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/105542
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Commit-Queue: Anton Sukhanov <sukhanov@google.com>
Cr-Commit-Position: refs/heads/master@{#25152}
2018-10-12 22:48:26 +00:00
Erik Språng
6af1c92b0b Add mock_video_encoder.h to api/test
This is part of the following reland cl:
https://webrtc-review.googlesource.com/c/src/+/105600

Adding just the new location of MockVideoEncoder first and updating
downstream projects before relanding the rest of that change.

Bug: webrtc:9722
Change-Id: I44ba65a72cde1eea62ee4520d8e84472f4e41c0f
Reviewed-on: https://webrtc-review.googlesource.com/c/105620
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25144}
2018-10-12 13:23:36 +00:00
Oleh Prypin
a1d9ca47f9 Revert "Add ability to specify if rate controller of video encoder is trusted."
This reverts commit 3e335d1423.

Reason for revert: breaks downstream project

Original change's description:
> Add ability to specify if rate controller of video encoder is trusted.
>
> If rate controller is trusted, we disable the frame dropper in the
> media optimization module.
>
> Bug: webrtc:9722
> Change-Id: I821f21fd74a400ee9d5aa3f6b42d4e569033acbe
> Reviewed-on: https://webrtc-review.googlesource.com/c/105020
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25107}

TBR=brandtr@webrtc.org,ilnik@webrtc.org,nisse@webrtc.org,sprang@webrtc.org,perkj@webrtc.org

Change-Id: Ifdb0aae684894854a184ec1e7423a7c62e7ba237
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9722
Reviewed-on: https://webrtc-review.googlesource.com/c/105360
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25117}
2018-10-11 15:37:40 +00:00
Erik Språng
3e335d1423 Add ability to specify if rate controller of video encoder is trusted.
If rate controller is trusted, we disable the frame dropper in the
media optimization module.

Bug: webrtc:9722
Change-Id: I821f21fd74a400ee9d5aa3f6b42d4e569033acbe
Reviewed-on: https://webrtc-review.googlesource.com/c/105020
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25107}
2018-10-11 09:07:34 +00:00
Anton Sukhanov
7940da0f2e Integration of media_transport in JSepTransportController
Basic integration of media_transport in JSepTransportController.

- Creates media_transport if media transport factory provided in jsep transport controller configuration.
- Unittest that makes sure media_transport is created with correct caller or callee setting.
- Added fake_media_transport, for now simple implementation which only stores caller/callee, but in the future fake media transport will be expanded to pass frames between two fake media_transports, which will enable audio / video integration tests.

NEXT STEPS: Once integration of media_transport with PeerConnection (https://webrtc-review.googlesource.com/c/src/+/103860) lands, we can start passing media transport factory from peer connection to jsep transport controller.

NOTE: Includes missing include change from https://webrtc-review.googlesource.com/c/src/+/103540 (otherwise this change will not compile)

Bug: webrtc:9719
Change-Id: I1e8a521beab445aa9f7ea93c8d7a537dc137d11c
Reviewed-on: https://webrtc-review.googlesource.com/c/104400
Commit-Queue: Anton Sukhanov <sukhanov@google.com>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25096}
2018-10-10 18:25:25 +00:00
Artem Titov
75e3647a76 Switch usages of DefaultNetworkSimulationConfig to BuiltInNetworkBehaviorConfig
Bug: webrtc:9630
Change-Id: Ia0e0b5b4e1e3a8e687d1e7fe3bb600dbdda09efa
Reviewed-on: https://webrtc-review.googlesource.com/c/104561
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25045}
2018-10-08 12:19:31 +00:00
Artem Titov
666fb32d1f Rename DefaultNetworkSimulationConfig into BuiltInNetworkBehaviorConfig.
It is done to better show what for this class exists and also restore
correspondence between config and interface, that is implemented by
configurable object.

Bug: webrtc:9630
Change-Id: I28456d1c792d67d9b2a405c8599054137a5d596a
Reviewed-on: https://webrtc-review.googlesource.com/c/104003
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25041}
2018-10-08 10:16:08 +00:00
Per Kjellander
841c912ddd Changed FakeVp8Encoder to write dimensions in payload.
Add FakeVp8Decoder that parse width and height from the payload.
Add unit test for testing that width and height is set when decoding frames.


Bug: none
Change-Id: Ifbfff4f62f99625309ce0ef21cf89c76448769d8
Reviewed-on: https://webrtc-review.googlesource.com/c/103140
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25038}
2018-10-08 08:37:38 +00:00
Artem Titov
8ea1e9def1 Switch webrtc from deprecated usages of NetworkSimulationInterface
Bug: webrtc:9630
Change-Id: I42222261676b0c260c1aab81523a23988d3cd1c1
Reviewed-on: https://webrtc-review.googlesource.com/c/103780
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25011}
2018-10-05 11:01:42 +00:00
Benjamin Wright
84583f6183 Enable End-to-End Encrypted Audio Payloads.
This change integrates the FrameDecryptorInterface and the FrameEncryptorInterface into
the audio media path. If a FrameEncryptorInterface is set on an outgoing audio RTPSender
then each outgoing audio payload will first pass through the provided FrameEncryptor which
will have a chance to modify the payload contents for the purposes of encryption.

If a FrameDecryptorInterface is set on an incoming audio RtpReceiver then each incoming
audio payload will first pass through the provided FrameDecryptor which have a chance to
modify the payload contents for the purpose of decryption.

While AEAD is supported by the FrameDecryptor/FrameEncryptor interfaces this CL does not
use it and so it is left as null.

Bug: webrtc:9681
Change-Id: Ic383a9dce280528739f9d271357c2220e0a0dccf
Reviewed-on: https://webrtc-review.googlesource.com/c/101702
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Emad Omara <emadomara@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25001}
2018-10-04 22:08:34 +00:00
Artem Titov
24ee167a3d Rename NetworkSimulationInterface into NetworkBehaviorInterface.
This name will better describe what implementation should do and how
users will interact with this class. The real simulation is done
by FakeNetworkPipe and this class is just operates with packages
metadata, so it is more about describing behavior.

Bug: webrtc:9630
Change-Id: I00977e6be0ca84e7c233b4c35f0677e8263e4382
Reviewed-on: https://webrtc-review.googlesource.com/c/95944
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24989}
2018-10-04 12:18:32 +00:00
Ivo Creusen
dc6d5533e1 Add more NetEq information to NetEqState.
Some important NetEq information was not available in NetEqState, which
meant it was not available on the API. This CL adds additional
information.

Bug: webrtc:9667
Change-Id: I702707c7d60472f488047d48fb286f839c5608dc
Reviewed-on: https://webrtc-review.googlesource.com/c/102300
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24985}
2018-10-04 11:50:29 +00:00
Florent Castelli
892acf01f6 Add support for send_encodings parameters in addTransceiver
This will later allow simulcast to be set up without any SDP
manipulation. Currently limited to only one layer as the SDP
generated is not spec compliant and more work is required
to support simulcast.

Initial encoding parameters are deferred and applied when the ssrc
is set on the sender. This allows parameters to be changed before
negotiation is completed.

Bug: webrtc:7600
Change-Id: I0a31cd1c2bfc72ebb61ce0fa4fa69d87e3d8b74d
Reviewed-on: https://webrtc-review.googlesource.com/95488
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24917}
2018-10-01 22:56:30 +00:00
Sergey Silkin
02fed02c00 Assign spatial_idx in FrameStatistics ctor.
- Add spatial_idx to FrameStatistics ctor.
- Pass FrameStatistics object to AddFrame.

Bug: none
Change-Id: I9d6de449b45a007438f6fd3317176bf45fb23806
Reviewed-on: https://webrtc-review.googlesource.com/101781
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24856}
2018-09-27 08:35:29 +00:00
Patrik Höglund
d8f3c17e8d Added test dependency factory.
Bug: b/113654555
Change-Id: I6879d0e7dcbfbb04ad7a5179c4f4fbe8d31cf3d4
Reviewed-on: https://webrtc-review.googlesource.com/101601
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24855}
2018-09-27 06:31:26 +00:00
philipel
569397fec7 Reland "Added field trial WebRTC-GenericDescriptor for the new generic descriptor."
This reverts commit 6f68324adb.

Reason for revert: Removed full stack tests that cause timeout.

Original change's description:
> Revert "Added field trial WebRTC-GenericDescriptor for the new generic descriptor."
> 
> This reverts commit 3f4a4fad8c.
> 
> Reason for revert: Breaking internal tests
> 
> Original change's description:
> > Added field trial WebRTC-GenericDescriptor for the new generic descriptor.
> > 
> > Also parameterized tests to test the new generic descriptor and
> > added --generic_descriptor flag to loopback tests.
> > 
> > Bug: webrtc:9361
> > Change-Id: I2b76889606fe2e81249ecdebb0b7b61151682485
> > Reviewed-on: https://webrtc-review.googlesource.com/101900
> > Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#24835}
> 
> TBR=danilchap@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,philipel@webrtc.org
> 
> Change-Id: I4d4714a9f4ab0e95adf0f4130bc1a932efc448fa
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9361
> Reviewed-on: https://webrtc-review.googlesource.com/101940
> Reviewed-by: Lu Liu <lliuu@webrtc.org>
> Commit-Queue: Lu Liu <lliuu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24839}

TBR=danilchap@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,philipel@webrtc.org,lliuu@webrtc.org

Change-Id: Ibcf0a1d3aa947b84e3b891b1975d0fc2c730f2ae
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9361
Reviewed-on: https://webrtc-review.googlesource.com/102064
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24845}
2018-09-26 10:26:43 +00:00
Lu Liu
6f68324adb Revert "Added field trial WebRTC-GenericDescriptor for the new generic descriptor."
This reverts commit 3f4a4fad8c.

Reason for revert: Breaking internal tests

Original change's description:
> Added field trial WebRTC-GenericDescriptor for the new generic descriptor.
> 
> Also parameterized tests to test the new generic descriptor and
> added --generic_descriptor flag to loopback tests.
> 
> Bug: webrtc:9361
> Change-Id: I2b76889606fe2e81249ecdebb0b7b61151682485
> Reviewed-on: https://webrtc-review.googlesource.com/101900
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24835}

TBR=danilchap@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,philipel@webrtc.org

Change-Id: I4d4714a9f4ab0e95adf0f4130bc1a932efc448fa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9361
Reviewed-on: https://webrtc-review.googlesource.com/101940
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24839}
2018-09-25 18:49:02 +00:00
philipel
3f4a4fad8c Added field trial WebRTC-GenericDescriptor for the new generic descriptor.
Also parameterized tests to test the new generic descriptor and
added --generic_descriptor flag to loopback tests.

Bug: webrtc:9361
Change-Id: I2b76889606fe2e81249ecdebb0b7b61151682485
Reviewed-on: https://webrtc-review.googlesource.com/101900
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24835}
2018-09-25 16:55:55 +00:00
Artem Titov
3a6b729a8e Cleanup: remove deprecated class shortcuts.
To be landed after 24th September.

Bug: webrtc:9630
Change-Id: Ie61110357bbc6b6fc49ddf2bd5d74921e75a6e67
Reviewed-on: https://webrtc-review.googlesource.com/97041
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24818}
2018-09-25 09:06:47 +00:00
Jonas Olsson
84df1c724e Make fewer copies when using StringBuilder.
Replace calls to .str() which copies with .Release which moves in cases where that's safe.

This CL was generated by this command:
git grep -l 'StringBuilder' |
xargs perl -i -0 -pe "s/(rtc::StringBuilder (\S+);.*?return )\\g2.str\(\)/\$1\$2.Release\(\)/sg"

Bug: webrtc:8982
Change-Id: If4dadbeb039df010aaaa9e58da81c1971a84fe8f
Reviewed-on: https://webrtc-review.googlesource.com/100307
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24790}
2018-09-24 09:39:19 +00:00
Ivo Creusen
f81b0f11a6 Move code for setting field trials from NetEqTestFactory to the main function in neteq_rtpplay.
It is problematic to set field trials more than once, so to avoid running into problems, this functionality has been placed in the main function of neteq_rtpplay.

Bug: webrtc:9667
Change-Id: Ib9b9990f30a1715b50889dbfc4d74787bcbe5dae
Reviewed-on: https://webrtc-review.googlesource.com/98541
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24673}
2018-09-11 09:27:11 +00:00
Ivo Creusen
eb58464f82 Remove the move constructor from NetEqState.
This move constructor causes downstream issues, so it needs to be removed for now.

Bug: webrtc:9667
Change-Id: Ic15bfdf6b392a95e05bf75bc2c1dd32ce132d32b
Reviewed-on: https://webrtc-review.googlesource.com/99121
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24672}
2018-09-11 09:19:09 +00:00
Ivo Creusen
4384f53285 Add more useful information to NetEqState and implement action_times_ms
This CL adds more useful information to NetEqState, and implements setting action_times_ms, which can be used to get a better idea of what actually happened during a timestep.

Bug: webrtc:9667
Change-Id: I789a3e1ad852066fdf4e9b4c96b8fb6033dacb27
Reviewed-on: https://webrtc-review.googlesource.com/98163
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24643}
2018-09-10 09:10:53 +00:00
Jonas Olsson
366a50c4ef Remove simple stringstream usages.
This CL replaces std::o?stringstream with rtc::StringBuilder where that's possible to do without changing any of the surrounding code. It also updates includes and build files as appropriate.

The CL was generated by running 'git grep -l -P std::o?stringstream | xargs perl -pi -e "s/std::o?stringstream/rtc::StringBuilder/g"'. Then I've manually updated the #includes and BUILD files, run 'git cl format' and unstaged any file that would need more complex fixes.

Bug: webrtc:8982
Change-Id: Ibc32153f4a3fd177e260b6ad05ce393972549357
Reviewed-on: https://webrtc-review.googlesource.com/98460
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24605}
2018-09-06 12:53:19 +00:00
Ivo Creusen
55de08e7ef Restructure neteq_rtpplay into a library with small executable wrapper.
Most of the code in neteq_rtpplay is moved into a factory class for
NetEqTest. The factory method takes the same argc and argv arguments as
neteq_rtpplay.
This CL also adds a small public API for neteq_test to allow easy
integration into external software.

Bug: webrtc:9667
Change-Id: I5241c1f51736cb6fbe47b0ad25f4bc83dabd727d
Reviewed-on: https://webrtc-review.googlesource.com/96100
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24531}
2018-09-03 10:42:40 +00:00
Niels Möller
16e27a1dc5 Reland "Delete leftover includes and declarations for MediaConstraintsInterface"
Original cl: https://webrtc-review.googlesource.com/95721

Bug: webrtc:9239
Change-Id: I7eac85839182bbcecd0d9bd71ae26f6a1c516df4
Reviewed-on: https://webrtc-review.googlesource.com/96401
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24529}
2018-09-03 09:00:01 +00:00
Kári Tristan Helgason
f16776280f Add config option to run VideoCodecTest in real time.
It's reasonable to allow clients implementing their own VideoCodecTests
to decide wether they should run in real-time.

Removes the IsAsyncCodec helper, as the assumptions it made are outdated,
and it is no longer useful.

Bug: None
Change-Id: If766935d4947555af54f499a30cfe553bde4c1ab
Reviewed-on: https://webrtc-review.googlesource.com/95722
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24478}
2018-08-29 09:19:25 +00:00
Artem Titov
e269cb4fe2 Add support of overriding network simulation in video quality tests.
Add ability to provide custom implementation of
NetworkSimulatedInterface for sender and receiver network in
VideoQualityTestFixtureInterface, passing them to the factory method.
Also unite this mechanism with FecControllerFactoryInterface injection.


Bug: webrtc:9630
Change-Id: I79259113e0fc00d933b73ca299afa836a4cd19d2
Reviewed-on: https://webrtc-review.googlesource.com/96280
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24476}
2018-08-29 08:50:50 +00:00
Artem Titov
f18b352842 Reland: Rename VideoQualityTestFixtureInterface::Params.pipe into config.
Also make it optional and use default value, if optional is not
specified. It is done also for next refactoring, that will introduce
ability to override network simulation layer.

Bug: webrtc:9630
Change-Id: I2f9b84770e428a7738b47bcf2da1002697c0f313
Reviewed-on: https://webrtc-review.googlesource.com/96580
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24472}
2018-08-29 07:22:34 +00:00
Artem Titov
17790c3d3c Revert "Rename VideoQualityTestFixtureInterface::Params.pipe into config."
This reverts commit 7f2eab0c7e.

Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=878373

Original change's description:
> Rename VideoQualityTestFixtureInterface::Params.pipe into config.
> 
> Also make it optional and use default value, if optional is not
> specified. It is done also for next refactoring, that will introduce
> ability to override network simulation layer.
> 
> Bug: webrtc:9630
> Change-Id: I88cf1f9c70857f3299b5c3e9580a98570768e129
> Reviewed-on: https://webrtc-review.googlesource.com/96121
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24454}

TBR=phoglund@webrtc.org,sprang@webrtc.org,titovartem@webrtc.org

Change-Id: I7535422ef6a662defb0f9dee32d62133fa0c8b8f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9630
Reviewed-on: https://webrtc-review.googlesource.com/96541
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24467}
2018-08-28 13:49:08 +00:00
henrika
255750bfb0 Adds support for real audio devices in video_quality_test.
The old test supported audio but only in combination with a fake ADM.
The new version allows the user to run real video and audio.

Now possible to do:

./out/Debug/video_loopback.exe --audio --use_real_adm

To run the test in loopback using real default audio devices.

By default:

./out/Debug/video_loopback.exe --audio

runs with fake audio devices as before.

Bug: webrtc:9265
Change-Id: Id89924ec0276f929487c71fc6321dcd9cb92693d
Reviewed-on: https://webrtc-review.googlesource.com/96161
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24463}
2018-08-28 09:00:45 +00:00
Artem Titov
7f2eab0c7e Rename VideoQualityTestFixtureInterface::Params.pipe into config.
Also make it optional and use default value, if optional is not
specified. It is done also for next refactoring, that will introduce
ability to override network simulation layer.

Bug: webrtc:9630
Change-Id: I88cf1f9c70857f3299b5c3e9580a98570768e129
Reviewed-on: https://webrtc-review.googlesource.com/96121
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24454}
2018-08-27 14:17:32 +00:00
Artem Titov
c8e202f3fc Minor improve od documentation for network simulation.
Bug: webrtc:9630
Change-Id: I03827b890ab73662117864c16c59f15a9ae3aac8
Reviewed-on: https://webrtc-review.googlesource.com/96200
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24453}
2018-08-27 14:16:27 +00:00
Niels Moller
ec4a060a55 Revert "Delete leftover includes and declarations for MediaConstraintsInterface"
This reverts commit a1e4ae2371.

Reason for revert: Breakage in downstream code still using constraints.

Original change's description:
> Delete leftover includes and declarations for MediaConstraintsInterface
> 
> Bug: webrtc:9239
> Change-Id: I1f49d6847572faecd6022a44222d6271302fe443
> Reviewed-on: https://webrtc-review.googlesource.com/95721
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24442}

TBR=kwiberg@webrtc.org,nisse@webrtc.org,hta@webrtc.org

Change-Id: Idbef4c57a0d3b82e94a431c5407a86c9fcd4be41
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9239
Reviewed-on: https://webrtc-review.googlesource.com/96160
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24444}
2018-08-27 11:26:42 +00:00
Niels Möller
a1e4ae2371 Delete leftover includes and declarations for MediaConstraintsInterface
Bug: webrtc:9239
Change-Id: I1f49d6847572faecd6022a44222d6271302fe443
Reviewed-on: https://webrtc-review.googlesource.com/95721
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24442}
2018-08-27 10:41:57 +00:00
Artem Titov
4ff63cc9a1 Remove temporary SetConfig method from NetworkSimulatioInterface.
Remove temporary SetConfig method from NetworkSimulatioInterface and
makes minor cleanup.

Bug: webrtc:9630
Change-Id: If472da7c21ffc9c83fe8b80e6665c3d5fb94382b
Reviewed-on: https://webrtc-review.googlesource.com/95644
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24400}
2018-08-23 10:08:35 +00:00
Jonas Olsson
6b1985de95 Reimplement rtc::ToString and rtc::FromString without streams.
Bug: webrtc:8982
Change-Id: I3977435b035fdebef449732301d6e77fc899e7ba
Reviewed-on: https://webrtc-review.googlesource.com/86941
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24319}
2018-08-16 16:14:01 +00:00
Artem Titov
e9721f2f08 Move SimulatedNetworkConfig on top level.
Make SimulatedNetwrokConfig configuration of default implementation of
NetworkSimulationInterface, that will be used by WebRTC in case of
network simulation.

Bug: webrtc:9630
Change-Id: Ib7c3d0c69fc09627f3d8694e61ac8409101e8392
Reviewed-on: https://webrtc-review.googlesource.com/94154
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24311}
2018-08-16 10:45:20 +00:00
Artem Titov
847a9c70c2 Use NetworkSimulationInterface instead of SimulatedNetwork.
Switch on using NetworkSimulatedInterface in FakeNetwork pipe to be able
to inject different implementations in future.

Also temporary add SetConfig(...) method to NetworkSimulationInterface
to make it possible to use it in FakeNetworkPipe. This method will be
removed by futher refactoring.

Bug: webrtc:9630
Change-Id: I2ce2219f523b4121e46643699ab87b37da09d95b
Reviewed-on: https://webrtc-review.googlesource.com/94145
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24289}
2018-08-15 10:21:10 +00:00
Mirko Bonadei
45a4c41eda Never invoke rtc::LogMessage::SetLogToStderr outside of main.
rtc::LogMessage::SetLogToStderr should only be invoked by the main
function in order to enable or disable logging in a consistent way [1].

Usage of rtc::LogMessage::SetLogToStderr in other parts of the codebase
creates complex behaviors and confusion.

[1] - https://cs.chromium.org/chromium/src/third_party/webrtc/test/test_main.cc?l=88&rcl=665174fdbb4e0540eccb27cf7412348f1b65534c

Bug: None
Change-Id: Iae86fb14d7ca40af6d78d0f0cd81c5a39f65068d
Reviewed-on: https://webrtc-review.googlesource.com/91442
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24154}
2018-07-31 17:24:09 +00:00
Jiawei Ou
4206a0a849 Exposing video bitrate allocator into API
In order to have public video bitrate allocator factory, the video bitrate allocator has be part of
the api.

Bug: webrtc:9513
Change-Id: Ia2e5ab9eb988c710c1ac492afccc470a92544aa2
Reviewed-on: https://webrtc-review.googlesource.com/88083
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Jiawei Ou <ouj@fb.com>
Cr-Commit-Position: refs/heads/master@{#24073}
2018-07-23 21:23:21 +00:00
Qingsi Wang
ee01a839d2 Remove MetricsObserverInterface.
The usage of MetricsObserverInterface to log metrics has been replaced
by RTC_HISTOGRAM_* macros in WebRTC.

Bug: webrtc:9409
Change-Id: I67df74a18942ac7ea4227e4affdf84f06258a287
Reviewed-on: https://webrtc-review.googlesource.com/86780
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24048}
2018-07-19 23:00:20 +00:00
Emircan Uysaler
0823eecc93 Reland "Reland "Add Profile 2 configuration to VP9 Encoder and Decoder""
This is a reland of cb853c8f90

Original change's description:
> Reland "Add Profile 2 configuration to VP9 Encoder and Decoder"
>
> This is a reland of fc9c4e88b5
>
> Original change's description:
> > Add Profile 2 configuration to VP9 Encoder and Decoder
> >
> > Bug: webrtc:9376
> > Change-Id: I4f627fb2b6c146a90cfcaa815da459b09dc00003
> > Reviewed-on: https://webrtc-review.googlesource.com/81980
> > Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> > Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Reviewed-by: Jerome Jiang <jianj@google.com>
> > Cr-Commit-Position: refs/heads/master@{#23917}
>
> Bug: webrtc:9376
> Change-Id: I21fc44865af4e381f99dbc5ae2baf4a53ce834ca
> TBR: niklas.enbom@webrtc.org
> Reviewed-on: https://webrtc-review.googlesource.com/88341
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23974}

TBR: niklas.enbom@webrtc.org
Bug: webrtc:9376
Change-Id: I90d7ebc2110b82901656df7f9331ae82ee010baf
Reviewed-on: https://webrtc-review.googlesource.com/88582
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23977}
2018-07-14 06:51:20 +00:00
Emircan Uysaler
c528c0a07f Revert "Reland "Add Profile 2 configuration to VP9 Encoder and Decoder""
This reverts commit cb853c8f90.

Reason for revert: 
Broke Linux tester on FYI bots, https://ci.chromium.org/buildbot/chromium.webrtc.fyi/Linux%20Tester/46636 .

Original change's description:
> Reland "Add Profile 2 configuration to VP9 Encoder and Decoder"
> 
> This is a reland of fc9c4e88b5
> 
> Original change's description:
> > Add Profile 2 configuration to VP9 Encoder and Decoder
> >
> > Bug: webrtc:9376
> > Change-Id: I4f627fb2b6c146a90cfcaa815da459b09dc00003
> > Reviewed-on: https://webrtc-review.googlesource.com/81980
> > Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> > Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Reviewed-by: Jerome Jiang <jianj@google.com>
> > Cr-Commit-Position: refs/heads/master@{#23917}
> 
> Bug: webrtc:9376
> Change-Id: I21fc44865af4e381f99dbc5ae2baf4a53ce834ca
> TBR: niklas.enbom@webrtc.org
> Reviewed-on: https://webrtc-review.googlesource.com/88341
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23974}

TBR=niklase@google.com,jianj@google.com,sprang@webrtc.org,marpan@google.com,niklas.enbom@webrtc.org,emircan@webrtc.org

Change-Id: I23062a0a2e5feafa29fd36e6b1c4a6e2734c4d68
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9376
Reviewed-on: https://webrtc-review.googlesource.com/88600
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23976}
2018-07-13 21:13:27 +00:00
Emircan Uysaler
cb853c8f90 Reland "Add Profile 2 configuration to VP9 Encoder and Decoder"
This is a reland of fc9c4e88b5

Original change's description:
> Add Profile 2 configuration to VP9 Encoder and Decoder
>
> Bug: webrtc:9376
> Change-Id: I4f627fb2b6c146a90cfcaa815da459b09dc00003
> Reviewed-on: https://webrtc-review.googlesource.com/81980
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Jerome Jiang <jianj@google.com>
> Cr-Commit-Position: refs/heads/master@{#23917}

Bug: webrtc:9376
Change-Id: I21fc44865af4e381f99dbc5ae2baf4a53ce834ca
TBR: niklas.enbom@webrtc.org
Reviewed-on: https://webrtc-review.googlesource.com/88341
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23974}
2018-07-13 19:30:36 +00:00
Danil Chapovalov
065a52a655 Reland "Remove rtc::Optional alias and api:optional target"
This is an reland of 6f5b0f920a
Relanded after speculative revert without any changes.

TBR=ilnik@webrtc.org

Original change's description:
> Remove rtc::Optional alias and api:optional target
>
> Update left-overs where old target still was used.
>
> Bug: webrtc:9078
> Change-Id: I2162c928091fc4ff1dea33a3f03adbe47207d206
> Reviewed-on: https://webrtc-review.googlesource.com/84740
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23913}

Bug: webrtc:9078
Change-Id: Ia33c6438253c6ec49f45d938e8a3607b51c418be
Reviewed-on: https://webrtc-review.googlesource.com/88160
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23941}
2018-07-11 19:02:51 +00:00
Ilya Nikolaevskiy
b661c658da Revert "Remove rtc::Optional alias and api:optional target"
This reverts commit 6f5b0f920a.

Reason for revert: Breaks internal project.

Original change's description:
> Remove rtc::Optional alias and api:optional target
> 
> Update left-overs where old target still was used.
> 
> Bug: webrtc:9078
> Change-Id: I2162c928091fc4ff1dea33a3f03adbe47207d206
> Reviewed-on: https://webrtc-review.googlesource.com/84740
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23913}

TBR=danilchap@webrtc.org,kwiberg@webrtc.org

Change-Id: I95f5ec33520b823c3d0c9cb83d945d6a15355367
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9078
Reviewed-on: https://webrtc-review.googlesource.com/88140
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23921}
2018-07-11 07:41:41 +00:00
Qingsi Wang
2d82adea03 Revert "Add Profile 2 configuration to VP9 Encoder and Decoder"
This reverts commit fc9c4e88b5.

Reason for revert: Speculative revert. I suspect this breaks the internal importing tests. Will reland it if it is not the culprit.

Original change's description:
> Add Profile 2 configuration to VP9 Encoder and Decoder
> 
> Bug: webrtc:9376
> Change-Id: I4f627fb2b6c146a90cfcaa815da459b09dc00003
> Reviewed-on: https://webrtc-review.googlesource.com/81980
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Jerome Jiang <jianj@google.com>
> Cr-Commit-Position: refs/heads/master@{#23917}

TBR=niklase@google.com,jianj@google.com,sprang@webrtc.org,marpan@google.com,niklas.enbom@webrtc.org,emircan@webrtc.org

Change-Id: I6a8c851827707eb861776591087e595de7206ae4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9376
Reviewed-on: https://webrtc-review.googlesource.com/88100
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23920}
2018-07-11 06:04:49 +00:00
Emircan Uysaler
fc9c4e88b5 Add Profile 2 configuration to VP9 Encoder and Decoder
Bug: webrtc:9376
Change-Id: I4f627fb2b6c146a90cfcaa815da459b09dc00003
Reviewed-on: https://webrtc-review.googlesource.com/81980
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Jerome Jiang <jianj@google.com>
Cr-Commit-Position: refs/heads/master@{#23917}
2018-07-10 22:47:52 +00:00
Danil Chapovalov
6f5b0f920a Remove rtc::Optional alias and api:optional target
Update left-overs where old target still was used.

Bug: webrtc:9078
Change-Id: I2162c928091fc4ff1dea33a3f03adbe47207d206
Reviewed-on: https://webrtc-review.googlesource.com/84740
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23913}
2018-07-10 18:02:23 +00:00
Jiawei Ou
651b92e5d8 Regenerate mock peer connection to add missing mock methods.
Generated using gmock_gen.py with some editing.

This mock doesn't seem to be used by unittest in webrtc, but we need to use it in downstream unittests.

Bug: None
Change-Id: Ia7904ffdd22f3d16fe5fd515fa68833817b44481
Reviewed-on: https://webrtc-review.googlesource.com/85780
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23900}
2018-07-10 09:23:26 +00:00
Karl Wiberg
918f50c5d1 Use absl::make_unique and absl::WrapUnique directly
Instead of going through our wrappers in ptr_util.h.

This CL was generated by the following script:

  git grep -l ptr_util | xargs perl -pi -e 's,#include "rtc_base/ptr_util.h",#include "absl/memory/memory.h",'
  git grep -l MakeUnique | xargs perl -pi -e 's,\b(rtc::)?MakeUnique\b,absl::make_unique,g'
  git grep -l WrapUnique | xargs perl -pi -e 's,\b(rtc::)?WrapUnique\b,absl::WrapUnique,g'
  git checkout -- rtc_base/ptr_util{.h,_unittest.cc}
  git cl format

Followed by manually adding dependencies on
//third_party/abseil-cpp/absl/memory until `gn check` stopped
complaining.

Bug: webrtc:9473
Change-Id: I89ccd363f070479b8c431eb2c3d404a46eaacc1c
Reviewed-on: https://webrtc-review.googlesource.com/86600
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23850}
2018-07-05 10:59:49 +00:00
Sergio Garcia Murillo
43800f95bf Generalize SimulcastEncoderAdapter, use for H264 & VP8.
* Move SimulcastEncoderAdapter out under modules/video_coding
* Move SimulcastRateAllocator back out to modules/video_coding/utility
* Move TemporalLayers and ScreenshareLayers to modules/video_coding/utility
* Move any VP8 specific code - such as temporal layer bitrate budgeting -
  under codec type dependent conditionals.
* Plumb the simulcast index for H264 in the codec specific and RTP format data structures.

TBR=sprang@webrtc.org,stefan@webrtc.org,titovartem@webrtc.org

Bug: webrtc:5840
Change-Id: I2d3b130622dd7ceec5528f3ab6c46f109e6bafb8
Reviewed-on: https://webrtc-review.googlesource.com/84743
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23715}
2018-06-21 15:57:43 +00:00
Patrik Höglund
b6b29e0718 Convert video quality test from a TEST_F to a TEST fixture.
The purpose is to make the fixture reusable in downstream
projects. The CL adds the following things to API:

- api/test/video_quality_test_fixture.h
- api/test/create_video_quality_test_fixture.h

The following things are moved to API:

- call/bitrate_constraints.h (api/bitrate_constraints.h)
- call/simulated_network.h (api/test/simulated_network.h)
- call/media_type.h (api/mediatypes.h)

These are required by the params struct passed to the
fixture. I didn't attempt to split the params struct into
an internal-only and public version in this CL, and as
a result we need to pull in the above things. They are
quite harmless though, so I think it's worth it in order
to avoid splitting up the test config struct.

This CL doesn't solve all the problems we need to
implement downstream tests; we probably need to upstream
tracing variants of FakeNetworkPipe for instance, but
that will come later. This puts in place the basic
structure for now.

Bug: None
Change-Id: I35e26ed126fad27bc7b2a465400291084f6ac911
Reviewed-on: https://webrtc-review.googlesource.com/69601
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23714}
2018-06-21 15:49:43 +00:00
Mirko Bonadei
6f440ed5b5 Revert "Implement H264 simulcast support and generalize SimulcastEncoderAdapter use for H264 & VP8."
This reverts commit 07efe436c9.

Reason for revert: Breaks downstream project.

cricket::GetSimulcastConfig method signature has been updated.
I think you can get away with a default value for temporal_layers_supported (and then you can remove it after a few days when projects will be updated).


Original change's description:
> Implement H264 simulcast support and generalize SimulcastEncoderAdapter use for H264 & VP8.
> 
> * Move SimulcastEncoderAdapter out under modules/video_coding
> * Move SimulcastRateAllocator back out to modules/video_coding/utility
> * Move TemporalLayers and ScreenshareLayers to modules/video_coding/utility
> * Move any VP8 specific code - such as temporal layer bitrate budgeting -
>   under codec type dependent conditionals.
> * Plumb the simulcast index for H264 in the codec specific and RTP format data structures.
> 
> Bug: webrtc:5840
> Change-Id: Ieced8a00e38f273c1a6cfd0f5431a87d07b8f44e
> Reviewed-on: https://webrtc-review.googlesource.com/64100
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23705}

TBR=sprang@webrtc.org,stefan@webrtc.org,mflodman@webrtc.org,hta@webrtc.org,sergio.garcia.murillo@gmail.com,titovartem@webrtc.org,agouaillard@gmail.com

Change-Id: Ic9d3b1eeaf195bb5ec2063954421f5e77866d663
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:5840
Reviewed-on: https://webrtc-review.googlesource.com/84760
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23710}
2018-06-21 13:41:14 +00:00
Sergio Garcia Murillo
07efe436c9 Implement H264 simulcast support and generalize SimulcastEncoderAdapter use for H264 & VP8.
* Move SimulcastEncoderAdapter out under modules/video_coding
* Move SimulcastRateAllocator back out to modules/video_coding/utility
* Move TemporalLayers and ScreenshareLayers to modules/video_coding/utility
* Move any VP8 specific code - such as temporal layer bitrate budgeting -
  under codec type dependent conditionals.
* Plumb the simulcast index for H264 in the codec specific and RTP format data structures.

Bug: webrtc:5840
Change-Id: Ieced8a00e38f273c1a6cfd0f5431a87d07b8f44e
Reviewed-on: https://webrtc-review.googlesource.com/64100
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23705}
2018-06-21 12:23:03 +00:00
Yves Gerey
665174fdbb Reformat the WebRTC code base
Running clang-format with chromium's style guide.

The goal is n-fold:
 * providing consistency and readability (that's what code guidelines are for)
 * preventing noise with presubmit checks and git cl format
 * building on the previous point: making it easier to automatically fix format issues
 * you name it

Please consider using git-hyper-blame to ignore this commit.

Bug: webrtc:9340
Change-Id: I694567c4cdf8cee2860958cfe82bfaf25848bb87
Reviewed-on: https://webrtc-review.googlesource.com/81185
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23660}
2018-06-19 14:00:39 +00:00
Rasmus Brandt
0cedc054a2 Refactor SimulcastTestUtility into SimulcastTestFixture{,Impl}
This will allow exposing the interface to downstream users that
want to test VP8 simulcast. No functional changes to the tests
themselves are expected.

Bug: webrtc:9281
Change-Id: I4128b8f35a4412c5b330cf55c8dc0e173d4570da
Reviewed-on: https://webrtc-review.googlesource.com/77361
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23469}
2018-05-31 11:48:17 +00:00
Rasmus Brandt
2aae2733a7 Remove adapter bools from VideoCodecTestFixture::Config.
It should be the responsibility of the fixture user to provide the exact
codecs that should be tested instead. This reduces the coupling between
the test fixture and the codec instantiation.

Bug: webrtc:9317
Change-Id: I60d8f5c4b516ba33e2293d574ba17602c39f992b
Reviewed-on: https://webrtc-review.googlesource.com/79147
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23425}
2018-05-29 08:02:13 +00:00
Rasmus Brandt
7c1ccfa881 Move VisualizationParams to VideoCodecTestFixture::Config.
Bug: None
Change-Id: I0a725535c840dda2704dfff33f5e5d3bef3fc0a7
Reviewed-on: https://webrtc-review.googlesource.com/78882
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23422}
2018-05-29 07:18:04 +00:00
Kári Tristan Helgason
169005d8c1 Move VideoCodecTest configuration classes to api/test.
These files are required when implementing tests based on the test fixture,
and should be exposed as part of the test api.

This CL also removes a usage of stringstream and fixes some chromium-style
lint issues.

Bug: webrtc:8982, webrtc:163
Change-Id: I132aea0da79a79587887f21897236fc9802b7574
Reviewed-on: https://webrtc-review.googlesource.com/74586
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23346}
2018-05-22 12:14:38 +00:00
Florent Castelli
cebf50ff75 Reland "Implement RtpParameters.transaction_id for PC RtpSenderInterface"
This is a reland of 5faf36ef3c
The issue in Chrome has been fixed and this should be safe to reland.

TBR=deadbeef

Original change's description:
> Implement RtpParameters.transaction_id for PC RtpSenderInterface
>
> The transaction_id field should be refreshed for every getParameters()
> call and checked at each setParameters() call.
> This also checks that getParameters() was ever called to return a proper
> error code.
>
> Bug: webrtc:7580
> Change-Id: I6c6fe289542e486fc422cdc61577982b0529d4c1
> Reviewed-on: https://webrtc-review.googlesource.com/70820
> Commit-Queue: Florent Castelli <orphis@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23120}

Bug: webrtc:7580
Change-Id: Iabd41fb21afdf452c039d5513824ae334f8d1d3f
Reviewed-on: https://webrtc-review.googlesource.com/76980
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23247}
2018-05-15 15:51:02 +00:00
Max Morin
909338b027 Revert "Implement RtpParameters.transaction_id for PC RtpSenderInterface"
This reverts commit 5faf36ef3c.

Reason for revert: fast/peerconnection/RTCRtpSender-setParameters.html
 failing in webrtc roll, probably this CL? https://chromium-review.googlesource.com/c/chromium/src/+/1045889.

Original change's description:
> Implement RtpParameters.transaction_id for PC RtpSenderInterface
> 
> The transaction_id field should be refreshed for every getParameters()
> call and checked at each setParameters() call.
> This also checks that getParameters() was ever called to return a proper
> error code.
> 
> Bug: webrtc:7580
> Change-Id: I6c6fe289542e486fc422cdc61577982b0529d4c1
> Reviewed-on: https://webrtc-review.googlesource.com/70820
> Commit-Queue: Florent Castelli <orphis@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23120}

TBR=steveanton@webrtc.org,deadbeef@webrtc.org,sakal@webrtc.org,kthelgason@webrtc.org,orphis@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:7580
Change-Id: I86da108227f8fc8d235bb2e9559377c800595b8c
Reviewed-on: https://webrtc-review.googlesource.com/74740
Reviewed-by: Max Morin <maxmorin@webrtc.org>
Commit-Queue: Max Morin <maxmorin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23134}
2018-05-07 08:02:34 +00:00
Florent Castelli
5faf36ef3c Implement RtpParameters.transaction_id for PC RtpSenderInterface
The transaction_id field should be refreshed for every getParameters()
call and checked at each setParameters() call.
This also checks that getParameters() was ever called to return a proper
error code.

Bug: webrtc:7580
Change-Id: I6c6fe289542e486fc422cdc61577982b0529d4c1
Reviewed-on: https://webrtc-review.googlesource.com/70820
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23120}
2018-05-04 13:07:25 +00:00
Kári Tristan Helgason
9d96e92316 Rewrite videoprocessor integrationtest to use public fixture.
This CL creates a test fixture for the videoprocessor integration tests
and exposes it as part of the public API. It also rewrites the current
versions of the tests to build on this new paradigm. The motivation for
this is to easily allow projects that build on top of webrtc to add
integration-level tests for their own custom codec implementations in a
way that does not link them too tightly to the internal implementations
of said tests.

Bug: None
Change-Id: I7cf9f29322a6934b3cfc32da02ea7dfa5858c2b2
Reviewed-on: https://webrtc-review.googlesource.com/72481
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23118}
2018-05-04 12:02:44 +00:00
Ivo Creusen
2cb4105224 Moved audioproc_f interface into api directory.
The interface of the audioproc_f tool should be located in the api/ directory, so it becomes visible to the outside world.

Bug: webrtc:8732
Change-Id: Ia7475883aeb0e1f7a6afa5e791204b38dc53a8b8
Reviewed-on: https://webrtc-review.googlesource.com/61801
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22449}
2018-03-15 12:31:37 +00:00
Steve Anton
57858b3be0 Reland "Update RTCStatsCollector to work with RtpTransceivers"
Original change's description:
> Update RTCStatsCollector to work with RtpTransceivers
> 
> Bug: webrtc:8764
> Change-Id: I8b442345869eb6d8b65fd12241ed7cb6e7d7ce3d
> Reviewed-on: https://webrtc-review.googlesource.com/49580
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22026}

Bug: webrtc:8764
Change-Id: I6a682824febf3f4f41397fc1a8dd7396c4ffa8e3
Reviewed-on: https://webrtc-review.googlesource.com/54160
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22064}
2018-02-17 00:01:39 +00:00
Guido Urdaneta
ee2388f3f0 Revert "Update RTCStatsCollector to work with RtpTransceivers"
This reverts commit 56bae8ded3.

Reason for revert: Speculative revert. This CL is suspect of making Chrome trybots fail the following test, preventing rolls:
 external/wpt/webrtc/RTCPeerConnection-track-stats.https.html

Some failed roll attempts:
https://chromium-review.googlesource.com/c/chromium/src/+/921421
https://chromium-review.googlesource.com/c/chromium/src/+/921422
https://chromium-review.googlesource.com/c/chromium/src/+/921781

Some failed bot runs:
https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_chromium_rel_ng/647669
https://ci.chromium.org/buildbot/tryserver.chromium.win/win7_chromium_rel_ng/103786


Original change's description:
> Update RTCStatsCollector to work with RtpTransceivers
> 
> Bug: webrtc:8764
> Change-Id: I8b442345869eb6d8b65fd12241ed7cb6e7d7ce3d
> Reviewed-on: https://webrtc-review.googlesource.com/49580
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22026}

TBR=steveanton@webrtc.org,deadbeef@webrtc.org,hbos@webrtc.org,pthatcher@webrtc.org

Change-Id: I21ce2109087d7b2d9470471ee9a6757f904296d2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8764
Reviewed-on: https://webrtc-review.googlesource.com/54000
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22036}
2018-02-15 16:37:26 +00:00
Steve Anton
56bae8ded3 Update RTCStatsCollector to work with RtpTransceivers
Bug: webrtc:8764
Change-Id: I8b442345869eb6d8b65fd12241ed7cb6e7d7ce3d
Reviewed-on: https://webrtc-review.googlesource.com/49580
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22026}
2018-02-15 02:00:44 +00:00
Zach Stein
ba37b4b075 Change return type of RtpSenderInterface::SetParameters from bool to RTCError
Note that RTCErrorTypes are mapped to the following DOMException names:
INTERNAL_ERROR -> OperationError
UNSUPPORTED_PARAMETER -> OperationError
INVALID_STATE -> InvalidStateError
INVALID_MODIFICATION -> InvalidModificationError
INVALID_RANGE -> RangeError

Bug: webrtc:8772
Change-Id: I44e3fe2456b007b8fb227d37d74b07ba226a19e4
Reviewed-on: https://webrtc-review.googlesource.com/37141
Commit-Queue: Zach Stein <zstein@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21766}
2018-01-25 19:06:04 +00:00
Harald Alvestrand
a3dab8440e Refactor stream stats generation
This version of stream stats will iterate over senders and
receivers and note which streams they think they know about,
rather than iterating over streams.

This means that streams mentioned in AddTrack() are also
included, and that only tracks actually attached are included
for those streams.

Bug: webrtc:8616
Change-Id: I4e704b1a47a152812f23a448cf1a6bc3af1ffafa
Reviewed-on: https://webrtc-review.googlesource.com/39262
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21609}
2018-01-14 09:35:07 +00:00
Harald Alvestrand
c72af93cff Reland "Move stats ID generation from SSRC to local ID"
This is a reland of e357a4dd4e
Original change's description:
> Move stats ID generation from SSRC to local ID
>
> This generates stats IDs for Track stats (which
> represents stats on the attachment of a track to
> a PeerConnection) from being SSRC-based to being
> based on an ID that is allocated when connecting the
> track to the PC.
>
> This is a prerequisite to generating stats before
> the PeerConnection is connected.
>
> Bug: webrtc:8673
> Change-Id: I82f6e521646b0c92b3af4dffb2cdee75e6dc10d4
> Reviewed-on: https://webrtc-review.googlesource.com/38360
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21582}

TBR=solenberg@webrtc.org

Bug: webrtc:8673
Change-Id: I610302efc5393919569b77e3b59aa3384a9b88a5
Reviewed-on: https://webrtc-review.googlesource.com/38842
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21589}
2018-01-11 18:04:22 +00:00
Erik Språng
c0092c372e Revert "Move stats ID generation from SSRC to local ID"
This reverts commit e357a4dd4e.

Reason for revert: Looks like it's breaking some downstream projects.

Original change's description:
> Move stats ID generation from SSRC to local ID
> 
> This generates stats IDs for Track stats (which
> represents stats on the attachment of a track to
> a PeerConnection) from being SSRC-based to being
> based on an ID that is allocated when connecting the
> track to the PC.
> 
> This is a prerequisite to generating stats before
> the PeerConnection is connected.
> 
> Bug: webrtc:8673
> Change-Id: I82f6e521646b0c92b3af4dffb2cdee75e6dc10d4
> Reviewed-on: https://webrtc-review.googlesource.com/38360
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21582}

TBR=solenberg@webrtc.org,hbos@webrtc.org,hta@webrtc.org

Change-Id: I621c10236c02be01d82f4660168f0323b85e24af
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8673
Reviewed-on: https://webrtc-review.googlesource.com/38681
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21586}
2018-01-11 15:16:42 +00:00
Harald Alvestrand
e357a4dd4e Move stats ID generation from SSRC to local ID
This generates stats IDs for Track stats (which
represents stats on the attachment of a track to
a PeerConnection) from being SSRC-based to being
based on an ID that is allocated when connecting the
track to the PC.

This is a prerequisite to generating stats before
the PeerConnection is connected.

Bug: webrtc:8673
Change-Id: I82f6e521646b0c92b3af4dffb2cdee75e6dc10d4
Reviewed-on: https://webrtc-review.googlesource.com/38360
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21582}
2018-01-11 14:23:11 +00:00
Emircan Uysaler
dbcac7fefe Add StereoCodecAdapter classes
This CL is the step 1 for adding alpha channel support over the wire in webrtc.
- Add the footprint for adapter classes that wraps actual codecs.
- This CL does not add a webrtc::VideoFrame container that can carry alpha to 
make the CL shorter for an easier review. Therefore, it exercises a code path
for when we receive no alpha input, just regular I420 frames.
- Unittest sends a video frame for encode/decode through these adapters and 
checks the output PSNR.
- See https://webrtc-review.googlesource.com/c/src/+/7800 for the experimental 
CL that gives an idea about how it will come together.
Design Doc: https://goo.gl/sFeSUT

Bug: webrtc:7671
Change-Id: I9d3be13647a0a958feceb8d7a9aa93852fc6a1fa
Reviewed-on: https://webrtc-review.googlesource.com/11841
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20490}
2017-10-31 06:39:52 +00:00
Mirko Bonadei
92ea95e34a Fixing WebRTC after moving from src/webrtc to src/
In https://webrtc-review.googlesource.com/c/src/+/1560 we moved WebRTC
from src/webrtc to src/ (in order to preserve an healthy git history).
This CL takes care of fixing header guards, #include paths, etc...

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org


Bug: chromium:611808
Change-Id: Iea91618212bee0af16aa3f05071eab8f93706578
Reviewed-on: https://webrtc-review.googlesource.com/1561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19846}
2017-09-15 05:02:56 +00:00
Mirko Bonadei
bb547203bf Moving src/webrtc into src/.
In order to eliminate the WebRTC Subtree mirror in Chromium, 
WebRTC is moving the content of the src/webrtc directory up
to the src/ directory.

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org

Bug: chromium:611808
Change-Id: Iac59c5b51b950f174119565bac87955a7994bc38
Reviewed-on: https://webrtc-review.googlesource.com/1560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19845}
2017-09-15 04:25:06 +00:00