87f7090fd9
Replace more instances of rtc::RefCountedObject with make_ref_counted.
...
This is essentially replacing `new rtc::RefCountedObject` with
`rtc::make_ref_counted` in many files. In a couple of places I
made minor tweaks to make things compile such as adding parenthesis
when they were missing.
Bug: webrtc:12701
Change-Id: I3828dbf3ee0eb0232f3a47067474484ac2f4aed2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215973
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org >
Commit-Queue: Tommi <tommi@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#33852}
2021-04-27 17:01:59 +00:00
c335b0e63b
[Unified Plan] Don't end audio tracks when SSRC changes.
...
The RemoteAudioSource has an AudioDataProxy that acts as a sink, passing
along data from AudioRecvStreams to the RemoteAudioSource. If an SSRC is
changed (or other reconfiguration happens) with SDP, the recv stream and
proxy get recreated.
In Plan B, because remote tracks maps 1:1 with SSRCs, it made sense to
end remote track/audio source in response to this. In Plan B, a new
receiver, with a new track and a new proxy would be created for the new
SSRC.
In Unified Plan however, remote tracks correspond to m= sections. The
remote track should only end on port:0 (or RTCP BYE or timeout, etc),
not because the recv stream of an m= section is recreated. The code
already supports changing SSRC and this is working correctly, but
because ~AudioDataProxy() would end the source this would cause the
MediaStreamTrack of the receiver to end (even though the media engine
is still processing the remote audio stream correctly under the hood).
This issue only happened on audio tracks, and because of timing of
PostTasks the track would kEnd in Chromium *after* promise.then().
This CL fixes that issue by not ending the source when the proxy is
destroyed. Destroying a recv stream is a temporary action in Unified
Plan, unless stopped. Tests are added ensuring tracks are kLive.
I have manually verified that this CL fixes the issue and that both
audio and video is flowing through the entire pipeline:
https://jsfiddle.net/henbos/h21xec97/122/
Bug: chromium:1121454
Change-Id: Ic21ac8ea263ccf021b96a14d3e4e3b24eb756c86
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214136
Commit-Queue: Henrik Boström <hbos@webrtc.org >
Reviewed-by: Harald Alvestrand <hta@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#33645}
2021-04-08 06:39:22 +00:00
d15a575ec3
Use SequenceChecker from public API
...
Bug: webrtc:12419
Change-Id: I00cca16a0ec70246156ba00b97aa7ae5ccbf5364
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/205323
Commit-Queue: Artem Titov <titovartem@webrtc.org >
Reviewed-by: Tommi <tommi@webrtc.org >
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#33220}
2021-02-10 15:04:55 +00:00
5761e7b3ff
Running apply-iwyu on ~all files in pc/
...
Bug: none
Change-Id: Ieebdfb743e691f7ae35e1aa354f68ce9e771064d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/204381
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org >
Commit-Queue: Harald Alvestrand <hta@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#33105}
2021-01-29 16:14:10 +00:00
1ee3325051
When stopping a transceiver, end the receiver's track.
...
Bug: webrtc:11840
Change-Id: Ib8171c58fcb13c33ab03398eb3021c07e55ff008
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185181
Commit-Queue: Harald Alvestrand <hta@webrtc.org >
Reviewed-by: Henrik Boström <hbos@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#32188}
2020-09-24 21:37:32 +00:00
55c991cc81
[InsertableStreams] Save the transformer to be set on Reconfigure.
...
Bug: chromium:1052765
Change-Id: Ie1e91d4e9033b8c542cd576f9f04bacb1904c027
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172781
Reviewed-by: Tommi <tommi@webrtc.org >
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#30983}
2020-04-02 14:04:50 +00:00
3e9af7fe05
Insert audio frame transformer between depacketizer and decoder.
...
The frame transformer is passed from RTPReceiverInterface through the
library to be eventually set in ChannelReceive, where the frame
transformation will occur in the follow-up CL.
Insertable Streams Web API explainer:
https://github.com/alvestrand/webrtc-media-streams/blob/master/explainer.md
Design doc for WebRTC library changes:
http://doc/1eiLkjNUkRy2FssCPLUp6eH08BZuXXoHfbbBP1ZN7EVk
Bug: webrtc:11380
Change-Id: I5af06d1431047ef50d00e304cf95e92a832b4220
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171872
Reviewed-by: Magnus Flodman <mflodman@webrtc.org >
Reviewed-by: Tommi <tommi@webrtc.org >
Reviewed-by: Per Åhgren <peah@webrtc.org >
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#30956}
2020-04-01 08:15:53 +00:00
749f6604a1
Enable SSRC 0 in MediaChannel methods
...
Refactor voice engine and video engine to use default methods instead of
treating 0 as a special value.
Bug: webrtc:8694
Change-Id: I47c211c6e870cdec737d6b0d05df29a9b534a011
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158600
Reviewed-by: Markus Handell <handellm@webrtc.org >
Reviewed-by: Steve Anton <steveanton@webrtc.org >
Reviewed-by: Niels Moller <nisse@webrtc.org >
Commit-Queue: Saurav Das <dinosaurav@chromium.org >
Cr-Commit-Position: refs/heads/master@{#30010}
2019-12-04 23:49:04 +00:00
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
7262fc29a0
Refactor Rtp Receivers to accept SSRC 0.
...
Changes Rtp Receivers to use a null value of ssrc to mean a default
receive stream.
Bug: webrtc:8694
Change-Id: I835199345f7add993b9078c8b0e7988d5cdd6646
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152425
Reviewed-by: Niels Moller <nisse@webrtc.org >
Reviewed-by: Steve Anton <steveanton@webrtc.org >
Reviewed-by: Åsa Persson <asapersson@webrtc.org >
Commit-Queue: Saurav Das <dinosaurav@chromium.org >
Cr-Commit-Position: refs/heads/master@{#29201}
2019-09-16 21:29:58 +00:00
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
428dcb2517
Remove SetLatency/GetLatency from MediaSourceInterface API level
...
Bug: webrtc:10287
Change-Id: I74fad31db98b75791085688438064f9510b0b6fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133165
Commit-Queue: Ruslan Burakov <kuddai@google.com >
Reviewed-by: Steve Anton <steveanton@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#27692}
2019-04-18 19:11:31 +00:00
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
501bfba0cb
Split rtp_receiver for readability.
...
Bug: webrtc:10304
Change-Id: I85e421060d8560cf36cdb5970ae190efc77e7709
Reviewed-on: https://webrtc-review.googlesource.com/c/122085
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Commit-Queue: Ruslan Burakov <kuddai@google.com >
Cr-Commit-Position: refs/heads/master@{#26634}
2019-02-11 12:47:51 +00:00