Commit Graph

817 Commits

Author SHA1 Message Date
37cf2455a4 Revert "Propagate media transport to media channel."
This reverts commit 8c16f745ab92cb6d305283e87fa8a661ae500ce4.

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
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
4529fbcfab Move TemporalLayers to api/video_codecs.
Also renaming it Vp8TemporalLayers to show that it is codec specific.

Bug: webrtc:9012
Change-Id: I18187538b8142cdd7538f1a4ed1bada09d040f1f
Reviewed-on: https://webrtc-review.googlesource.com/c/104643
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25137}
2018-10-12 09:15:21 +00:00
26968bafc2 Delete unused utf8 conversion utilities
And drop a few unneeded includes of rtc_base/stringencode.h.

Bug: webrtc:6424
Change-Id: I8be92a2ca199afaae1d3a177c23acbf2b9bdc465
Reviewed-on: https://webrtc-review.googlesource.com/c/105002
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25125}
2018-10-11 16:16:33 +00:00
a1d9ca47f9 Revert "Add ability to specify if rate controller of video encoder is trusted."
This reverts commit 3e335d1423cab06cca8cdb4f1fadb0b16c9e7d38.

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
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
0378997db3 Adds flags indicating presence in allocation and feedback per packet.
This CL adds flags to the PacketOptions and PacktInfo struct that are
intended to be used to indicate if the packet belongs to a media stream
that is part of bitrate allocation as well as if it is included in
transport wide packet feedback.

This is part of a series of CLs that allows GoogCC to track sent bitrate
that is included in bitrate allocation but without transport feedback.

Bug: webrtc:9796
Change-Id: Icdf3e1e13d3f119574ee1b2c574f2d3329a7e303
Reviewed-on: https://webrtc-review.googlesource.com/c/104920
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25069}
2018-10-09 18:24:38 +00:00
20a49f3357 Don't try to use CN if voice codec isn't mono
Bug: chromium:878066
Change-Id: Iac6da4780a6da4fcfe2693d5cf826249a99f84c4
Reviewed-on: https://webrtc-review.googlesource.com/c/104601
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25066}
2018-10-09 16:09:50 +00:00
1e05486914 Added the new generic descriptor extension to WebRtcVideoEngine::GetCapabilities.
The extension was added behind the WebRTC-GenericDescriptorAdvertised field trial.

Bug: webrtc:9361
Change-Id: I84c2d54405e38fae6361dc326ad72495733584a6
Reviewed-on: https://webrtc-review.googlesource.com/c/104622
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25052}
2018-10-08 18:07:54 +00:00
b6a8942fb4 Fix race condition for GetContributingSources test.
Bug: webrtc:9813
Change-Id: I44f50f9858217c8303862f3820db11dbd8736b6c
Reviewed-on: https://webrtc-review.googlesource.com/c/104121
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25042}
2018-10-08 10:22:51 +00:00
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
64be7fa7d8 Move FecController to RtpVideoSender.
This also moves the packet feedback tracking to RtpVideoSender.

Bug: webrtc:9517
Change-Id: Ifb1ff85051730108a0b0d1dd30f6f8595ad2af6e
Reviewed-on: https://webrtc-review.googlesource.com/c/95920
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25019}
2018-10-05 14:39:01 +00:00
5fbc0e0b33 Hide libvpx vp8 encoder behind an interface and add mock for testing.
Bug: webrtc:9809
Change-Id: I27baa0309511cbd849c09c5d063a64d1fb1fcebf
Reviewed-on: https://webrtc-review.googlesource.com/c/103442
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25005}
2018-10-05 08:51:52 +00:00
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
6ca98363ee Prepare for per-media DSCP values. Push dscp for stun packets to the port layer where they are created.
Bug: webrtc:5008
Change-Id: Iaf4788ef2170fa67a8cdee6e9ea6b8c158f286cb
Reviewed-on: https://webrtc-review.googlesource.com/c/92940
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Tim Haloun <thaloun@google.com>
Cr-Commit-Position: refs/heads/master@{#24963}
2018-10-04 00:03:10 +00:00
c1adcad833 Replace leftover usage of old AEC interfaces
This CL cleans up some code missed by this other CL:
https://webrtc-review.googlesource.com/c/src/+/101622

Bug: webrtc:9535
Change-Id: Ic4dac670914c92d69a10d38140fd853edb50450d
Reviewed-on: https://webrtc-review.googlesource.com/c/103400
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24951}
2018-10-03 12:37:45 +00:00
23eba22424 Add support for RtpEncodingParameters num_temporal_layers.
Configuring different number of temporal layers per simulcast layer is not supported.

Bug: webrtc:9785
Change-Id: I5709b2235233420e22e68fb0ae512305ae87e36c
Reviewed-on: https://webrtc-review.googlesource.com/c/102120
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24942}
2018-10-03 07:22:51 +00:00
5ca2912494 Delete VideoReceiveStream::EnableEncodedFrameRecording
Use in VideoQualityTest replaced by creating a wrapper for the decoder,
similarly to https://webrtc-review.googlesource.com/94152 which
deleted the corresponding method on VideoSendStream.

Bug: webrtc:9106
Change-Id: I0a7798bc44704af8b36017655b9ffa34fa1423e6
Reviewed-on: https://webrtc-review.googlesource.com/97580
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24926}
2018-10-02 10:31:46 +00:00
73d117f64e Split WebRTC-UseShortVP8TL3Pattern field trial in two.
- WebRTC-UseShortVP8TL3Pattern: Use a temporal pattern of length 4.
- WebRTC-UseBaseHeavyVP8TL3RateAllocation: Allocate 60/20/20 to the TLs.

Bug: webrtc:9477
Change-Id: Ib22d74c9390273e6498d417354d2cd311d9439b9
Reviewed-on: https://webrtc-review.googlesource.com/102920
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24924}
2018-10-02 09:48:03 +00:00
8abd56cfdf Split TemporalLayers and TemporalLayers checker, clean up header.
This CL is a step towards making the TemporalLayers landable in api/ :
* It splits TemporalLayers from TemporalLayersChecker
* It initially renames temporal_layer.h to vp8_temporal_layers.h and
  moved it into the include/ folder
* It removes the dependency on VideoCodec, which was essentially only
  used to determine if screenshare_layers or default_temporal_layers
  should be used, and the number of temporal temporal layers to use.

Subsequent CLs will make further cleanup before attempting a move to api

Bug: webrtc:9012
Change-Id: I87ea7aac66d39284eaebd86aa9d015aba2eaaaea
Reviewed-on: https://webrtc-review.googlesource.com/94156
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24920}
2018-10-02 07:52:02 +00:00
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
cbcbc22568 Reland "Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config."
This is a reland of 529d0d9795b81dbed5e4231f15d3752a5fc0df32

Original change's description:
> Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config.
> 
> Preparation for deleting EnableFrameRecordning, and also a step
> towards landing of the new VideoStreamDecoder.
> 
> Bug: webrtc:9106
> Change-Id: I50964ee458b08a702ec69b82a62e4995c57cee82
> Reviewed-on: https://webrtc-review.googlesource.com/97660
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24861}

Bug: webrtc:9106
Change-Id: I2eb894773b3f33ff6a980e8008e8248607e32668
Reviewed-on: https://webrtc-review.googlesource.com/102480
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24882}
2018-09-28 08:48:02 +00:00
07ba2b9445 Parse two-byte header extensions.
Bug: webrtc:7990
Change-Id: I967d2065b85d6a2ca938ac0e83035cb92b45a907
Reviewed-on: https://webrtc-review.googlesource.com/98160
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24881}
2018-09-28 08:32:17 +00:00
377b26ec65 Revert "Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config."
This reverts commit efb94d57eb88638c323d93dddc281390dada5021.

Reason for revert: Investigate and fix build errors.

Original change's description:
> Revert "Revert "Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config.""
>
> This reverts commit 7961dc2dbdb3391a003d63630d5107e258ff3e78.
>
> Reason for revert: WebRTC does not build
>
> Original change's description:
> > Revert "Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config."
> >
> > This reverts commit 529d0d9795b81dbed5e4231f15d3752a5fc0df32.
> >
> > Reason for revert: Seems to break perf tests, likely some breakage in video_quality_tests decoder configuration.
> >
> > Original change's description:
> > > Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config.
> > >
> > > Preparation for deleting EnableFrameRecordning, and also a step
> > > towards landing of the new VideoStreamDecoder.
> > >
> > > Bug: webrtc:9106
> > > Change-Id: I50964ee458b08a702ec69b82a62e4995c57cee82
> > > Reviewed-on: https://webrtc-review.googlesource.com/97660
> > > Commit-Queue: Niels Moller <nisse@webrtc.org>
> > > Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> > > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#24861}
> >
> > TBR=brandtr@webrtc.org,nisse@webrtc.org,andersc@webrtc.org,sprang@webrtc.org,philipel@webrtc.org,srte@webrtc.org
> >
> > Change-Id: Id34e4a3452a7dbc06167a4df5bb4c2825ebd7bd0
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:9106
> > Reviewed-on: https://webrtc-review.googlesource.com/102421
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Commit-Queue: Niels Moller <nisse@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#24866}
>
> TBR=brandtr@webrtc.org,nisse@webrtc.org,andersc@webrtc.org,sprang@webrtc.org,philipel@webrtc.org,srte@webrtc.org
>
> Change-Id: I23a439e1ceef79109b1f966b80b2663203968269
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9106
> Reviewed-on: https://webrtc-review.googlesource.com/102422
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24867}

TBR=brandtr@webrtc.org,oprypin@webrtc.org,nisse@webrtc.org,andersc@webrtc.org,sprang@webrtc.org,philipel@webrtc.org,srte@webrtc.org

Change-Id: I9dafbc070e7f39dcb0ddbd61cb620164258fe894
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9106
Reviewed-on: https://webrtc-review.googlesource.com/102460
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24872}
2018-09-27 16:04:50 +00:00
efb94d57eb Revert "Revert "Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config.""
This reverts commit 7961dc2dbdb3391a003d63630d5107e258ff3e78.

Reason for revert: WebRTC does not build

Original change's description:
> Revert "Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config."
> 
> This reverts commit 529d0d9795b81dbed5e4231f15d3752a5fc0df32.
> 
> Reason for revert: Seems to break perf tests, likely some breakage in video_quality_tests decoder configuration.
> 
> Original change's description:
> > Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config.
> > 
> > Preparation for deleting EnableFrameRecordning, and also a step
> > towards landing of the new VideoStreamDecoder.
> > 
> > Bug: webrtc:9106
> > Change-Id: I50964ee458b08a702ec69b82a62e4995c57cee82
> > Reviewed-on: https://webrtc-review.googlesource.com/97660
> > Commit-Queue: Niels Moller <nisse@webrtc.org>
> > Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#24861}
> 
> TBR=brandtr@webrtc.org,nisse@webrtc.org,andersc@webrtc.org,sprang@webrtc.org,philipel@webrtc.org,srte@webrtc.org
> 
> Change-Id: Id34e4a3452a7dbc06167a4df5bb4c2825ebd7bd0
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9106
> Reviewed-on: https://webrtc-review.googlesource.com/102421
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24866}

TBR=brandtr@webrtc.org,nisse@webrtc.org,andersc@webrtc.org,sprang@webrtc.org,philipel@webrtc.org,srte@webrtc.org

Change-Id: I23a439e1ceef79109b1f966b80b2663203968269
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9106
Reviewed-on: https://webrtc-review.googlesource.com/102422
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24867}
2018-09-27 13:55:44 +00:00
7961dc2dbd Revert "Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config."
This reverts commit 529d0d9795b81dbed5e4231f15d3752a5fc0df32.

Reason for revert: Seems to break perf tests, likely some breakage in video_quality_tests decoder configuration.

Original change's description:
> Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config.
> 
> Preparation for deleting EnableFrameRecordning, and also a step
> towards landing of the new VideoStreamDecoder.
> 
> Bug: webrtc:9106
> Change-Id: I50964ee458b08a702ec69b82a62e4995c57cee82
> Reviewed-on: https://webrtc-review.googlesource.com/97660
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24861}

TBR=brandtr@webrtc.org,nisse@webrtc.org,andersc@webrtc.org,sprang@webrtc.org,philipel@webrtc.org,srte@webrtc.org

Change-Id: Id34e4a3452a7dbc06167a4df5bb4c2825ebd7bd0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9106
Reviewed-on: https://webrtc-review.googlesource.com/102421
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24866}
2018-09-27 13:24:13 +00:00
7988e5cbbf Remove echo_cancellation() and echo_control_mobile() interface access outside APM
Some of the AEC settings in WebRtcVoiceEngine agree with just about everywhere
else and have therefore been set in stone inside AEC2/AECM. A lot of routing
for those settings disappears.

The comfort noise setting is exposed in the API, so the flag for it will be
removed a PSA later.

Bug: webrtc:9535
Change-Id: I53816152415a9a069cea9520cec697b6bcfe0948
Reviewed-on: https://webrtc-review.googlesource.com/101622
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24863}
2018-09-27 12:28:12 +00:00
529d0d9795 Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config.
Preparation for deleting EnableFrameRecordning, and also a step
towards landing of the new VideoStreamDecoder.

Bug: webrtc:9106
Change-Id: I50964ee458b08a702ec69b82a62e4995c57cee82
Reviewed-on: https://webrtc-review.googlesource.com/97660
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24861}
2018-09-27 11:25:21 +00:00
49ac5959c2 Add GetSources to VideoRtpReceiver
BUG=webrtc:9770

Change-Id: I16143fce6eb727bbab0f6c621aa5b51bc6d28d6b
Reviewed-on: https://webrtc-review.googlesource.com/101600
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24858}
2018-09-27 10:00:40 +00:00
b65aa01a90 Revert "Reland "Enable simulcast screenshare by default""
This reverts commit 89b2963810b4cea0f95abdce011cb4e12fcdf1a1.

Reason for revert: Make experiment default off to not mess up data in re-launch.

Original change's description:
> Reland "Enable simulcast screenshare by default"
>
> This is a reland of d43c692ba7f53b5576a494c0343bc7a4bb36831b after fixes
> to failing chromium tests. No change to the original CL were done.
> Original CL reviewed on: https://webrtc-review.googlesource.com/87560
>
> TBR=stefan@webrtc.org
>
> Bug: chromium:690537
> Change-Id: I6b59ffc90d789aff21c7e52b118d3dfbe756c8a9
> Reviewed-on: https://webrtc-review.googlesource.com/89081
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24013}

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

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

Bug: chromium:690537, b:116052898
Change-Id: I429677de5547ce3a7badfb4414231ff9589e7414
Reviewed-on: https://webrtc-review.googlesource.com/101560
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24798}
2018-09-24 11:40:25 +00:00
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
645512ba59 Add field trial to allow always using max layers.
Bug: none
Change-Id: Ic579defebc4c75c740156e5fa8053a1f1e4c7a31
Reviewed-on: https://webrtc-review.googlesource.com/100520
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24785}
2018-09-24 07:48:37 +00:00
cf919422ce Prevent resolution limited max bitrate from going below min
When simulcast screenshare is enabled, the max bitrate for the high
quality stream can be limited based on the resolution.
This CL fixes a bug where that limit could get so low that it is below
the min bitrate of the top layer, which in turn could cause the encoder
to fail initialization.

Bug: webrtc:9761
Change-Id: I093bd0ba68fe0165e8982d169daf02cdf912c924
Reviewed-on: https://webrtc-review.googlesource.com/100682
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24767}
2018-09-18 13:58:55 +00:00
9c38c47630 Calculate NtpCaptureStartMs using clock, not the frame rtp timestamp
If the first frame rtp timestamp got corrupted somehow, the introduced
error would stay there for the duration of the call. Using realtime
clock to calculate elapsed time instead of rtp timestamps resolves that
problem. The error will go away once ntp time would be estimated
correctly from the correct timestamps.

Bug: webrtc:9698
Change-Id: Ifa4c3f55f280fae8ec9f1826a89c251ec61b965e
Reviewed-on: https://webrtc-review.googlesource.com/97101
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24726}
2018-09-13 13:49:47 +00:00
8c1bf9595a Reland "Add initial support for RtpEncodingParameters max_framerate."
This reverts commit 948b7e37557af68b3bc9b81b29ae2daffb2784ad.

Reason for revert: downstream project fixed.

Original change's description:
> Revert "Add initial support for RtpEncodingParameters max_framerate."
>
> This reverts commit ced5cfdb35a20c684df927eab37e16d35979555f.
>
> Reason for revert: Breaks downstream project.
>
> Original change's description:
> > Add initial support for RtpEncodingParameters max_framerate.
> >
> > Add support to set the framerate to the maximum of |max_framerate|.
> > Different framerates are currently not supported per stream for video.
> >
> > Bug: webrtc:9597
> > Change-Id: Ie326617b66bd97be387f809a7f82b97b8f3ff5fe
> > Reviewed-on: https://webrtc-review.googlesource.com/92392
> > Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Commit-Queue: Åsa Persson <asapersson@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#24270}
>
> TBR=steveanton@webrtc.org,magjed@webrtc.org,asapersson@webrtc.org,sprang@webrtc.org,srte@webrtc.org
>
> Change-Id: I508fe48e0c53996654f657357913ac307dc256bd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9597
> Reviewed-on: https://webrtc-review.googlesource.com/94060
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24277}

TBR=steveanton@webrtc.org,mbonadei@webrtc.org,magjed@webrtc.org,asapersson@webrtc.org,sprang@webrtc.org,srte@webrtc.org

Bug: webrtc:9597
Change-Id: Ieed9d62787f3e9dcb439399bfe7529012292381e
Reviewed-on: https://webrtc-review.googlesource.com/100080
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24720}
2018-09-13 10:06:33 +00:00
941a07cca3 Remove all remaining non-test uses of std::stringstream.
Bug: webrtc:8982
Change-Id: I635a8545c46dc8c89663d64af351e22e65cbcb33
Reviewed-on: https://webrtc-review.googlesource.com/98880
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24715}
2018-09-13 08:52:05 +00:00
7d687b13ed SimulcastEncoderAdapter, don't start streams without enough bitrate
Currently a bug in InitEncode() sets all stream initially to active.
This CL actually bases the active-flag on available start bitrate.

Bug: webrtc:9747
Change-Id: If197b0c69376d96c717f2a391fba8108895018f3
Reviewed-on: https://webrtc-review.googlesource.com/99960
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24711}
2018-09-12 16:34:45 +00:00
72bc8d6df6 Make the rtp timestamp member of EncodedImage private
A followup to https://webrtc-review.googlesource.com/c/src/+/82160,
which added accessor methods.

Bug: webrtc:9378
Change-Id: Id3cff46cde3a5a3fb6d6edd4e8dac26193e6481c
Reviewed-on: https://webrtc-review.googlesource.com/95103
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24705}
2018-09-12 13:44:36 +00:00
e0c8b230e7 Frame marking RTP header extension (PART 1: implement extension)
Bug: webrtc:7765
Change-Id: I23896d121afd6be4bce5ff4deaf736149efebcdb
Reviewed-on: https://webrtc-review.googlesource.com/85200
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24695}
2018-09-11 22:35:30 +00:00
cb7e1d2edb Use SdpVideoFormat in VideoReceiveStream::Decoder
Replaces payload_name and codec_params.

Tbr: srte@webrtc.org
Bug: webrtc:9106
Change-Id: Ib45c501c6eb41e92fbb24ab00ada18bf10be42ed
Reviewed-on: https://webrtc-review.googlesource.com/98161
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24691}
2018-09-11 15:03:04 +00:00
7cd0e15faf Add nisse@, ilnik@ and sprang@ as OWNERS to media/.
Bug: None
Change-Id: Id717b808749f44cfe4579faafcaf52d12ae6e8eb
Reviewed-on: https://webrtc-review.googlesource.com/99560
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24684}
2018-09-11 12:21:48 +00:00
661a0c6b02 Updated min bitrate for high-quality screenshare simulcast stream
The min bitrate is too low, and burstiness may cause overuse when first
enabling the stream, if the total available bitrate is low.

Bug: webrtc:9734
Change-Id: I399e0e809648f064feb87c73ece0c23a569b2750
Reviewed-on: https://webrtc-review.googlesource.com/99506
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24678}
2018-09-11 11:27:08 +00:00
59ab3536a4 Add receive stream id argument to CreateDecoder() method
This is necessary to migrate some clients so that we can move forward
with removal of cricket::WebRtcVideoDecoderFactory.

TBR=stefan@webrtc.org

Bug: webrtc:7925
Change-Id: Icc2949e3f7f3137d1b68eb30874f14a33168e41f
Reviewed-on: https://webrtc-review.googlesource.com/97500
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24671}
2018-09-11 08:47:04 +00:00
04255172b6 Remove double declaration of 2 conversion functions.
The declaration in common_types.h is probably a left-over from a
previous cleanup.

Bug: None
Change-Id: I3ee1bad2494ede0022c6aa8fdd106035471d50e2
Reviewed-on: https://webrtc-review.googlesource.com/99220
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24666}
2018-09-11 06:00:05 +00:00
7461eff1bd For simulcast screenshare, make 2 tl default for high stream.
Bug: webrtc:9734
Change-Id: I00400782686296b191f0f7a10a65f99253bea929
Reviewed-on: https://webrtc-review.googlesource.com/99101
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24642}
2018-09-10 09:07:59 +00:00
ed425d12c4 Multiplex codec cleanups
This CL performs some cleanups on multiplex files:
- Adds more comments to factory about usage.
- Moves image packer outside /include as it doesn't need to be public.
- Other small lint issues.

Bug: webrtc:9632
Change-Id: I2e2e6929ea13645aee5483a3697199d1e6184b32
Reviewed-on: https://webrtc-review.googlesource.com/98700
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24615}
2018-09-06 23:29:15 +00:00
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
1beef1a97a Delete VideoSendStream::EnableEncodedFrameRecording.
Use in VideoQualityTest replaced by creating a wrapper for the encoder.

Bug: None
Change-Id: I5c5519e147ca7ddb97696b0d6958a8a1f5cc6e83
Reviewed-on: https://webrtc-review.googlesource.com/94152
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24533}
2018-09-03 13:06:32 +00:00
d3b8c63b58 Reland "Add spatial index to EncodedImage."
This is a reland of da0898dfae3b0a013ca8ad3828e9adfdc749748d

Original change's description:
> Add spatial index to EncodedImage.
>
> Replaces the VP8 simulcast index and VP9 spatial index formely part of
> CodecSpecificInfo.
>
> Bug: webrtc:9378
> Change-Id: I80eafd63fbdee0a25864338196a690628b4bd3d2
> Reviewed-on: https://webrtc-review.googlesource.com/83161
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24485}

Tbr: magjed@webrtc.org
Bug: webrtc:9378
Change-Id: Iff20b656581ef63317e073833d1a326f7118fdfd
Reviewed-on: https://webrtc-review.googlesource.com/96780
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24507}
2018-08-31 07:35:52 +00:00
cc22f51988 Removing the intelligibility enhancer.
The intelligibility enhancer is always disabled and it is the only non-test
target using the lapped transform in common_audio (which we planned to remove).

Bug: webrtc:9689, webrtc:5298
Change-Id: Ida65d3aa11ac366471e7e5cbc053108b376c67d8
Reviewed-on: https://webrtc-review.googlesource.com/96460
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24504}
2018-08-30 21:29:57 +00:00