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}
In order to enable ::Connect method, we also need to split the factory and create a method that creates media transport, but doesn't connect it.
So far media transport was connecting right away after creation. We would however want to expose some of the settings in SDP. SDP is created before connection is connected (and before ICE transport is created), and so we would like to be able to get the settings from the caller to the callee.
Bug: webrtc:9719
Change-Id: I1dc2f30c9a2dae8b3db04f14c8b334cd1b3ab5ab
Reviewed-on: https://webrtc-review.googlesource.com/c/124517
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26863}
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}
This informs the media transport that PeerConnection wants to use a data channel
and gives it a chance to set up before the data channel sends the first message.
Bug: webrtc:9719
Change-Id: I6ea905a74b29b8735e77ac68bc8606e7bca77f18
Reviewed-on: https://webrtc-review.googlesource.com/c/124020
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26823}
Adds methods AddNetworkChangeCallback and RemoveNetworkChangeCallback,
to replace SetNetworkChangeCallback. Needed because both VideoChannel
and VoiceChannel register such a callback.
This cl is step 1, it just adds the methods to the interface, without
calling them.
Bug: webrtc:9719
Change-Id: I39f1748706d4369ca71d594ca5e2f1380de5ce66
Reviewed-on: https://webrtc-review.googlesource.com/c/121462
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26541}
This is a followup, deleting the things marked as deprecated in
https://webrtc-review.googlesource.com/c/113180.
Bug: webrtc:9719
Change-Id: I64dc31c6918f575599fc6b0bbfa47c5b1f2f3019
Reviewed-on: https://webrtc-review.googlesource.com/c/113521
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26465}
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}
So far, base channel was only notifying about 'first audio packet' when
RTP was used, and it never notified about it when media_transport
interface was used. This change adds a sigslot to notify about a new
media packet to the media transport interface.
Bug: webrtc:9719
Change-Id: Ie9230c407f35b1aaa71ba71008ac34ba8869e2d4
Reviewed-on: https://webrtc-review.googlesource.com/c/117249
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26282}
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}
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}
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}
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}
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}
Adds the types and methods required for sending and receiving data
channel messages over the media transport. These are:
- A DataMessageType to distinguish between text, binary, and control
messages
- A parameters struct for sending data messages, which specifies the
channel id, type, and ordering/reliability parameters
- A sink for data-channel related callbacks (receive data, begin
closing procedure, and end closing procedure)
- A method to set the sink for data channels
- Methods to open, close, and send on data channels
These methods, combined with the state sink, allow PeerConnection to
implement the DataChannelProviderInterface using MediaTransport as the
underlying transport.
Change-Id: Iccb2ba374594762a5b4f995564e2a1ff7d8805f5
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/108541
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25454}
The struct is more generic and easier to extend than parameters to the
Factory. In addition, the list of parameters to the factory might grow,
making invocations awkward if not difficult to read.
Bug: webrtc:9719
Change-Id: I4b98e26f1f4c0d5ea840f9c28e7ed7abee072b74
Reviewed-on: https://webrtc-review.googlesource.com/c/107984
Commit-Queue: Peter Slatala <psla@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25413}
This CL is the result of running include-what-you-use tool on part
of the code base (audio target and dependencies) plus manual fixes.
bug: webrtc:8311
Change-Id: I277d281ce943c3ecc1bd45fd8d83055931743604
Reviewed-on: https://webrtc-review.googlesource.com/c/106280
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25311}
And use RTCConfiguration to enable/disable it on a per connection basis.
With the advent of MediaTransportInterface, we need to be able to enable
it on the per PeerConnection basis.
At this point PeerConnection will not take any action when the
MediaTransportInterface is set; this code will land a bit later, and
will be accompanied by the tests that verify correct setup (hence no tests right now).
At this point this is just a method stub to enable further development.
Bug: webrtc:9719
Change-Id: I1f77d650cb03bf1191aa0b35669cd32f1b68446f
Reviewed-on: https://webrtc-review.googlesource.com/c/103860
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25053}