Commit Graph

7253 Commits

Author SHA1 Message Date
Dan Minor
dd9ed3ddc3 Bug 1567201 - Obfuscate server reflex candidates if necessary; r=ng
According to https://tools.ietf.org/html/draft-ietf-rtcweb-mdns-ice-candidates-03#section-3.1.2.1
we need to hide the rel-addr and rel-port attributes for server reflex
candidates in order to avoid leaking local addresses.

Differential Revision: https://phabricator.services.mozilla.com/D46982

--HG--
extra : moz-landing-system : lando
2019-10-01 12:59:14 +00:00
Dan Minor
7e51c599cd Bug 1567201 - Join multicast group on all interfaces; r=mjf
We need to join the multicast group on all network interfaces or we may end up
missing packets. There is a limit on the number of groups joinable by a single
socket (20 on my Linux system) but it doesn't seem worth worrying about
hitting that limit at the moment as it seems unlikely that many users would
have more than 20 network interfaces on a system on which they are running
Firefox.

Differential Revision: https://phabricator.services.mozilla.com/D46981

--HG--
extra : moz-landing-system : lando
2019-10-01 12:59:02 +00:00
Dan Minor
1083dfbb67 Bug 1567201 - Add unit tests for mdns_service; r=ng
This adds Rust unit tests for some of the edge cases in handling queries
like limits and retries.

Differential Revision: https://phabricator.services.mozilla.com/D46980

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:50 +00:00
Dan Minor
b5473b49ca Bug 1567201 - Limit pending mDNS queries; r=ng
This limits the number of pending mDNS queries to 50, adds support for
retrying queries if they timeout, and support for reporting failure if a query
times out twice in a row.

Differential Revision: https://phabricator.services.mozilla.com/D46979

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:38 +00:00
Dan Minor
3028caf0cb Bug 1567201 - Validate hostname prior to registration and querying; r=ng
We don't want web content to use mDNS to map out the local network, so
we only support registering and querying hostnames that are valid
UUIDs (followed by .local).

Differential Revision: https://phabricator.services.mozilla.com/D46978

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:30 +00:00
Dan Minor
90e44f7695 Bug 1567201 - Use mdns_service to handle mDNS queries; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46977

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:23 +00:00
Dan Minor
940a75c186 Bug 1567201 - Add mDNS query support to StunAddrsRequest; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46976

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:19 +00:00
Dan Minor
340d659b0c Bug 1567201 - Add query support to mdns_service; r=mjf
This adds basic query support to the mdns_service. Support for limiting
the number of pending queries, timeouts and retries is added in
another commit in this series.

Differential Revision: https://phabricator.services.mozilla.com/D46975

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:18 +00:00
Nico Grunbaum
184e658171 Bug 1560370 - move webrtc-sdp out of tree; r=drno
Differential Revision: https://phabricator.services.mozilla.com/D45930

--HG--
rename : media/webrtc/signaling/src/sdp/rsdparsa/CODE_OF_CONDUCT.md => third_party/rust/webrtc-sdp/CODE_OF_CONDUCT.md
rename : media/webrtc/signaling/src/sdp/rsdparsa/LICENSE => third_party/rust/webrtc-sdp/LICENSE
rename : media/webrtc/signaling/src/sdp/rsdparsa/README.md => third_party/rust/webrtc-sdp/README.md
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/file_parser.rs => third_party/rust/webrtc-sdp/examples/file_parser.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/10.sdp => third_party/rust/webrtc-sdp/examples/sdps/10.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/11.sdp => third_party/rust/webrtc-sdp/examples/sdps/11.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/12.sdp => third_party/rust/webrtc-sdp/examples/sdps/12.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/13.sdp => third_party/rust/webrtc-sdp/examples/sdps/13.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/14.sdp => third_party/rust/webrtc-sdp/examples/sdps/14.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/15.sdp => third_party/rust/webrtc-sdp/examples/sdps/15.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/16.sdp => third_party/rust/webrtc-sdp/examples/sdps/16.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/17.sdp => third_party/rust/webrtc-sdp/examples/sdps/17.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/18.sdp => third_party/rust/webrtc-sdp/examples/sdps/18.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/19.sdp => third_party/rust/webrtc-sdp/examples/sdps/19.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/2.sdp => third_party/rust/webrtc-sdp/examples/sdps/2.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/20.sdp => third_party/rust/webrtc-sdp/examples/sdps/20.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/21.sdp => third_party/rust/webrtc-sdp/examples/sdps/21.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/22.sdp => third_party/rust/webrtc-sdp/examples/sdps/22.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/23.sdp => third_party/rust/webrtc-sdp/examples/sdps/23.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/24.sdp => third_party/rust/webrtc-sdp/examples/sdps/24.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/25.sdp => third_party/rust/webrtc-sdp/examples/sdps/25.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/26.sdp => third_party/rust/webrtc-sdp/examples/sdps/26.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/27.sdp => third_party/rust/webrtc-sdp/examples/sdps/27.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/28.sdp => third_party/rust/webrtc-sdp/examples/sdps/28.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/29.sdp => third_party/rust/webrtc-sdp/examples/sdps/29.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/3.sdp => third_party/rust/webrtc-sdp/examples/sdps/3.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/30.sdp => third_party/rust/webrtc-sdp/examples/sdps/30.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/31.sdp => third_party/rust/webrtc-sdp/examples/sdps/31.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/32.sdp => third_party/rust/webrtc-sdp/examples/sdps/32.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/33.sdp => third_party/rust/webrtc-sdp/examples/sdps/33.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/34.sdp => third_party/rust/webrtc-sdp/examples/sdps/34.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/34.sdp => third_party/rust/webrtc-sdp/examples/sdps/35.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/34.sdp => third_party/rust/webrtc-sdp/examples/sdps/36.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/37.sdp => third_party/rust/webrtc-sdp/examples/sdps/37.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/38.sdp => third_party/rust/webrtc-sdp/examples/sdps/38.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/39.sdp => third_party/rust/webrtc-sdp/examples/sdps/39.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/4.sdp => third_party/rust/webrtc-sdp/examples/sdps/4.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/39.sdp => third_party/rust/webrtc-sdp/examples/sdps/40.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/41.sdp => third_party/rust/webrtc-sdp/examples/sdps/41.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/5.sdp => third_party/rust/webrtc-sdp/examples/sdps/5.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/6.sdp => third_party/rust/webrtc-sdp/examples/sdps/6.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/7.sdp => third_party/rust/webrtc-sdp/examples/sdps/7.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/8.sdp => third_party/rust/webrtc-sdp/examples/sdps/8.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/9.sdp => third_party/rust/webrtc-sdp/examples/sdps/9.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/extract.sh => third_party/rust/webrtc-sdp/examples/sdps/extract.sh
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/address.rs => third_party/rust/webrtc-sdp/src/address.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/anonymizer.rs => third_party/rust/webrtc-sdp/src/anonymizer.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/attribute_type.rs => third_party/rust/webrtc-sdp/src/attribute_type.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/error.rs => third_party/rust/webrtc-sdp/src/error.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/lib.rs => third_party/rust/webrtc-sdp/src/lib.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/media_type.rs => third_party/rust/webrtc-sdp/src/media_type.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/network.rs => third_party/rust/webrtc-sdp/src/network.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/tests/unit_tests.rs => third_party/rust/webrtc-sdp/tests/unit_tests.rs
extra : moz-landing-system : lando
2019-10-01 01:01:56 +00:00
Bryce Seager van Dyk
a866eb3dd2 Bug 1583861 - Tidy includes in files using new logs. r=alwu
I've reworked the includes in most of the files I've touched since I was adding
GMPLog.h:
- Reordered the includes to better match the Google C++ style.
- Removed includes that are already included from the associated header or
  GMPLog.h. I.e. if Foo.cpp includes Foo.h, and Foo.cpp includes other headers
  already included in Foo.h, these were removed.

Depends on D47194

Differential Revision: https://phabricator.services.mozilla.com/D47373

--HG--
extra : moz-landing-system : lando
2019-09-27 00:14:23 +00:00
Bryce Seager van Dyk
a2dc990c12 Bug 1583861 - Use GMPLog.h macros where applicable. r=alwu
This patch changes instances where the GMP MOZ_LOG is used to prefer using
macros from GMPLog.h:
- Files that don't need their own macros now just directly call
  `GMP_LOG_<LEVEL>` as required.
- Files that use their own macros for formatting have had those macro
  definitions changes so that the macros have unique names and are expressed in
  terms of the macros from GMPLog.h.

I've also made a couple of drive by edits to logs so that they log more than a
couple of words and updated some strings where the incorrect class name was
being logged.

Differential Revision: https://phabricator.services.mozilla.com/D47194

--HG--
extra : moz-landing-system : lando
2019-09-27 00:14:46 +00:00
Byron Campen [:bwc]
68c6661fe1 Bug 1583046: Tighten down threading rules. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D47086

--HG--
extra : moz-landing-system : lando
2019-09-26 15:15:33 +00:00
Wang Qing
b428602d25 Bug 1579834 - [WebRTC] Add mips64 support; r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D45620

--HG--
extra : moz-landing-system : lando
2019-09-25 14:15:23 +00:00
Michael Froman
a32233c9b1 Bug 1582271 - pt4 - add ffvpx mp3 decoding for android32. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D46426

--HG--
extra : moz-landing-system : lando
2019-09-25 14:50:02 +00:00
Michael Froman
456979ca99 Bug 1582271 - pt3 - add ffvpx mp3 decoding for aarch64. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D46425

--HG--
extra : moz-landing-system : lando
2019-09-24 21:02:26 +00:00
Michael Froman
e290922048 Bug 1582271 - pt2 - add ffvpx mp3 decoding for linux/macOS/win. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D46424

--HG--
extra : moz-landing-system : lando
2019-09-24 21:18:24 +00:00
Michael Froman
36adeaea97 Bug 1582271 - pt1 - prep ffvpx files for adding mp3 support. r=jya
- Update README_MOZILLA for adding mp3 support, and add some clarifying text.
 - Clang-format config.h for easier reading since it is our file, not ffmpeg's.
 - Use sort -d -u to produce defaults_disabled.* files so linux and macOS
   produce same files.
 - Change MOZ_FFVPX_FLACONLY to MOZ_FFVPX_AUDIOONLY since it indicates flac
   and mp3 decoders.
 - Rename config_flac.h to config_audio.h

Differential Revision: https://phabricator.services.mozilla.com/D46423

--HG--
rename : media/ffvpx/config_flac.h => media/ffvpx/config_audio.h
extra : moz-landing-system : lando
2019-09-24 21:02:07 +00:00
Paul Adenot
91571117b5 Bug 1582222 - Disable rt threads for Linux for now. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D46570

--HG--
extra : moz-landing-system : lando
2019-09-24 11:23:25 +00:00
Alex Chronopoulos
ac0da8b368 Bug 1582743 - Update dav1d from upstream to commit c0865f3. r=TD-Linux
Differential Revision: https://phabricator.services.mozilla.com/D46762

--HG--
extra : moz-landing-system : lando
2019-09-23 18:02:33 +00:00
Byron Campen [:bwc]
e429b89b10 Bug 1582646: Cancel proxy lookup when socket closes. r=mjf
Also, since OnProxyAvailable always happens on main regardless of the target we
set, don't bother setting the target.

Differential Revision: https://phabricator.services.mozilla.com/D46603

--HG--
extra : moz-landing-system : lando
2019-09-20 15:13:44 +00:00
Byron Campen [:bwc]
c1963a1155 Bug 1581964: Cast this constant (which is just 1) to an unsigned before left-shifting it. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46478

--HG--
extra : moz-landing-system : lando
2019-09-19 15:38:18 +00:00
Dan Minor
93ca060abc Bug 1578810 - Handle mDNS hostname prior to calling OnCandidateFound; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D45563

--HG--
extra : moz-landing-system : lando
2019-09-18 22:02:45 +00:00
Alex Chronopoulos
5cb664d73b Bug 1572281 - Remove audio device change notifications from video capture in Windows. r=dminor
Video capture used to provide device change notifications for audio and video devices. From now on, CubebDeviceEnumerator will provide audio device change notifications thus video capture is updated to notify only changes of the video device. This is the windows part.

Differential Revision: https://phabricator.services.mozilla.com/D46274

--HG--
extra : moz-landing-system : lando
2019-09-18 13:12:30 +00:00
Alex Chronopoulos
aa5a82572d Bug 1572281 - Remove audio device change notifications from video capture in OSX. r=dminor
Video capture used to provide device change notifications for audio and video devices. From now on, CubebDeviceEnumerator will provide audio device change notifications thus video capture is updated to notify only changes of the video device. This is the OSX part.

Differential Revision: https://phabricator.services.mozilla.com/D46273

--HG--
extra : moz-landing-system : lando
2019-09-18 13:16:56 +00:00
Alex Chronopoulos
67bc215a66 Bug 1572281 - Remove audio device change notifications from video capture in Linux. r=dminor
Video capture used to provide device change notifications for audio and video devices. From now on, CubebDeviceEnumerator will provide audio device change notifications thus video capture is updated to notify only changes of the video device. This is the Linux part.

Differential Revision: https://phabricator.services.mozilla.com/D46272

--HG--
extra : moz-landing-system : lando
2019-09-18 13:16:57 +00:00
Byron Campen [:bwc]
8184381274 Bug 1581950: Prevent nr_ice_component_insert_pair from leaking. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46231

--HG--
extra : moz-landing-system : lando
2019-09-18 22:00:13 +00:00
Byron Campen [:bwc]
72bcc87880 Bug 1569183: Simplify how NrSockets specify whether they're proxied or not. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46032

--HG--
extra : moz-landing-system : lando
2019-09-17 18:19:19 +00:00
Byron Campen [:bwc]
abf0777414 Bug 1569183: Create an ipdl struct called WebrtcProxyConfig, to cut down on the arg count on lots of functions. r=mjf,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D45562

--HG--
extra : moz-landing-system : lando
2019-09-17 18:19:04 +00:00
Byron Campen [:bwc]
fec8b0d807 Bug 1569183: Stop doing a proxy lookup to determine whether we're configured to use a proxy (for the proxy_only_if_behind_proxy pref), and instead look at whether we loaded the doc using a proxy. r=mjf,mayhemer,jld
Differential Revision: https://phabricator.services.mozilla.com/D45289

--HG--
extra : moz-landing-system : lando
2019-09-18 14:27:42 +00:00
Byron Campen [:bwc]
2fe90843a0 Bug 1569183: Update OnConnected callbacks to specify what type of proxying (if any) is being used, and implement IsProxied based on this information. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45186

--HG--
extra : moz-landing-system : lando
2019-09-17 18:18:33 +00:00
Byron Campen [:bwc]
6c7a8c9a4e Bug 1569183: Remove NrTcpSocketIpc. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45111

--HG--
extra : moz-landing-system : lando
2019-09-17 18:18:08 +00:00
Byron Campen [:bwc]
047fe556a4 Bug 1569183: Make the proxy_only pref disable UDP. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45105

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:51 +00:00
Byron Campen [:bwc]
fbfb9f6754 Bug 1569183: Make proxy config parameters optional in WebrtcTCPSocket to get the NAT simulator working again. r=mjf,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D45104

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:37 +00:00
Byron Campen [:bwc]
493161e6a3 Bug 1569183: Teach WebrtcTCPSocket to use TLS when configured to. r=mjf,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D45103

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:24 +00:00
Byron Campen [:bwc]
9e6bcf1480 Bug 1569183: Teach WebrtcTCPSocket to bind to a specific host/port. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45102

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:18 +00:00
Byron Campen [:bwc]
dbee4e76f5 Bug 1569183: Add a proxy policy argument to NrSocketProxyConfig, and always set this config on the NrIceCtx. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45101

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:14 +00:00
Byron Campen [:bwc]
8bd10b72d0 Bug 1569183: Rename SetProxyServer to SetProxyConfig to better reflect what is actually going on. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45100

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:13 +00:00
Byron Campen [:bwc]
c368262621 Bug 1569183: Rename NrSocketProxy to NrTcpSocket, and use NrTcpSocket for TCP on content/socket process. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45099

--HG--
rename : media/mtransport/nr_socket_proxy.cpp => media/mtransport/nr_socket_tcp.cpp
rename : media/mtransport/nr_socket_proxy.h => media/mtransport/nr_socket_tcp.h
extra : moz-landing-system : lando
2019-09-17 18:17:11 +00:00
Byron Campen [:bwc]
ffa09cee72 Bug 1569183: Rename PWebrtcProxyChannel to PWebrtcTCPSocket. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45098

--HG--
rename : media/mtransport/WebrtcProxyChannelWrapper.cpp => media/mtransport/WebrtcTCPSocketWrapper.cpp
rename : media/mtransport/WebrtcProxyChannelWrapper.h => media/mtransport/WebrtcTCPSocketWrapper.h
rename : media/mtransport/ipc/PWebrtcProxyChannel.ipdl => media/mtransport/ipc/PWebrtcTCPSocket.ipdl
rename : media/mtransport/ipc/WebrtcProxyChannel.cpp => media/mtransport/ipc/WebrtcTCPSocket.cpp
rename : media/mtransport/ipc/WebrtcProxyChannel.h => media/mtransport/ipc/WebrtcTCPSocket.h
rename : media/mtransport/ipc/WebrtcProxyChannelCallback.h => media/mtransport/ipc/WebrtcTCPSocketCallback.h
rename : media/mtransport/ipc/WebrtcProxyChannelChild.cpp => media/mtransport/ipc/WebrtcTCPSocketChild.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelChild.h => media/mtransport/ipc/WebrtcTCPSocketChild.h
rename : media/mtransport/ipc/WebrtcProxyLog.cpp => media/mtransport/ipc/WebrtcTCPSocketLog.cpp
rename : media/mtransport/ipc/WebrtcProxyLog.h => media/mtransport/ipc/WebrtcTCPSocketLog.h
rename : media/mtransport/ipc/WebrtcProxyChannelParent.cpp => media/mtransport/ipc/WebrtcTCPSocketParent.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelParent.h => media/mtransport/ipc/WebrtcTCPSocketParent.h
extra : moz-landing-system : lando
2019-09-17 18:15:41 +00:00
Byron Campen [:bwc]
5aea6ddbff Bug 1569183: Teach WebrtcProxyChannel to handle non-proxied TCP connections, and SOCKS proxying because that was easy to do also. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45097

--HG--
extra : moz-landing-system : lando
2019-09-17 18:15:23 +00:00
Byron Campen [:bwc]
663351b2eb Bug 1569183: Add some much-needed logging to this function. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45096

--HG--
extra : moz-landing-system : lando
2019-09-17 18:15:06 +00:00
Alex Chronopoulos
efb44bee9c Bug 1581806 - Trigger devicechange event for audio and video input devices only. r=dminor
After Bug 1581193 devicechange notifications were triggered with any device change, not just video and audio devices. This patch limits down the notifications to only video and audio input devices change.

Differential Revision: https://phabricator.services.mozilla.com/D46147

--HG--
extra : moz-landing-system : lando
2019-09-17 14:31:39 +00:00
Matthew Gregan
25b3f4cfbc Bug 1575131 - Update libcubeb for IAudioClient3 support on Win10. r=padenot
This picks up the work contributed by @ligfx in https://github.com/kinetiknz/cubeb/pull/530.

Differential Revision: https://phabricator.services.mozilla.com/D42590

--HG--
extra : moz-landing-system : lando
2019-08-26 07:52:25 +00:00
Dan Minor
fc594a5197 Bug 1581577 - Fix ICE duration telemetry high value; r=bwc
The Telemetry::AccumulateTimeDelta function reports in milliseconds but I had
assumed seconds when I added the hostname obfuscation ICE duration histogram.
This change adjusts the "high" value accordingly.

With the telemetry we've collected to date, 60% of the values are below 600
milliseconds, so I think that setting a high value of 30 seconds should be
sufficient even if there is a long tail. Since this does not change the data
being collected, no additional data-review is required, but it does require
renaming the key.

Differential Revision: https://phabricator.services.mozilla.com/D46045

--HG--
extra : moz-landing-system : lando
2019-09-16 18:15:28 +00:00
Dan Minor
382ae1bcb5 Bug 1581193 - Fix devicechange event on Windows; r=achronop
This restores the code for generating devicechange events that was
accidentally removed as part of updating the Windows video capture code
in Bug 1552755.

Differential Revision: https://phabricator.services.mozilla.com/D46033

--HG--
extra : moz-landing-system : lando
2019-09-17 06:47:06 +00:00
John Lin
17e9f72cc3 Bug 1580600 - rename setRates() to setBitrate() and pass the value in bps. r=jya
Depends on D45775

Differential Revision: https://phabricator.services.mozilla.com/D45776

--HG--
extra : moz-landing-system : lando
2019-09-13 23:38:32 +00:00
John Lin
d266695db7 Bug 1580597 - p1: pass timestamp values correctly. r=jya
Bug 1568101/D40532 captures the input timestamp and uses it in the resolve
function. However, there could be multiple encoded frames returned (e.g.,
for Drain()), and all of them will get the same captured timestamp. Read
back the timestamp from encoded data makes sure every frame gets the right
value. Also convert it for EncodedImage::_timeStamp uses different unit.

Differential Revision: https://phabricator.services.mozilla.com/D45774

--HG--
extra : moz-landing-system : lando
2019-09-14 00:23:37 +00:00
Byron Campen [:bwc]
6e3f7f6bb1 Bug 1577719: Init r_log in the c'tor, to simplify things. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45463

--HG--
extra : moz-landing-system : lando
2019-09-11 02:29:15 +00:00
Dan Minor
dafa68a84f Bug 1580524 - Free conduits when transceiver is stopped; r=bwc
Freeing the conduits when the transceiver is stopped releases all of the
associated webrtc.org objects which results in substantial memory savings.

On my system, with an opt+debug build and 200 stopped transceivers, I see
373.17 MB of memory use in the content process without this patch, and
158.93 MB of memory use with this patch applied.

Going further and calling Shutdown_m as part of Stop() reduces the memory
use to 157.98 MB, which seems like a marginal improvement at the cost of
a much larger risk of introducing bugs.

Differential Revision: https://phabricator.services.mozilla.com/D45845

--HG--
extra : moz-landing-system : lando
2019-09-13 17:44:06 +00:00
Ryan Alderete
862aa4197f Bug 1579506 - Remove OpenAES source code and references r=bryce,mhoye
With NSS now being used to do the decryption in the Clearkey CDM, remove the
source and licensing information related to OpenAES.

Differential Revision: https://phabricator.services.mozilla.com/D45205

--HG--
extra : moz-landing-system : lando
2019-09-12 23:27:08 +00:00
Bastien Orivel
59f8fe9fee Bug 1580908 - Part 8: Update rsdparsa. r=ng
I just copied all the files from the upstream repository into the
rsdparsa directory

Differential Revision: https://phabricator.services.mozilla.com/D45717

--HG--
extra : moz-landing-system : lando
2019-09-12 21:46:25 +00:00
Boris Zbarsky
1128b8dee8 Bug 1578173 part 6. Remove remaining uses of [Constructor] from bindings. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D45394

--HG--
extra : moz-landing-system : lando
2019-09-12 11:01:17 +00:00
Mike Shal
f8f5fce637 Bug 1496746 - Remove VPATH; r=glandium
Having a full VPATH for the srcdir sometimes causes make to grab the
wrong prerequisite for a rule, in particular if we have a file in the
srcdir and also generate a file of the same name in the objdir. We don't
really need VPATH anymore though, since most of the information comes
from mozbuild, where we can explicitly list the path to the srcdir or
objdir as necessary.

Differential Revision: https://phabricator.services.mozilla.com/D42968

--HG--
extra : moz-landing-system : lando
2019-09-09 17:44:47 +00:00
Dan Minor
37c64b1005 Bug 1569250 - Add telemetry for mDNS use in WebRTC; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D44888

--HG--
extra : moz-landing-system : lando
2019-09-09 16:45:02 +00:00
Mihai Alexandru Michis
7e0ca2f5cc Backed out changeset ef18dbaff6c7 (bug 1569250) for causing failures in AccumulateTimeDelta. CLOSED TREE 2019-09-09 17:07:20 +03:00
Dan Minor
54d9433d62 Bug 1569250 - Add telemetry for mDNS use in WebRTC; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D44888

--HG--
extra : moz-landing-system : lando
2019-09-09 13:21:18 +00:00
Ryan Alderete
2e2b52b880 Bug 1572846 - Update Clearkey to use NSS for decryption instead of OpenAES r=bryce,jld
Clearkey previously relied on OpenAES to do its encryption.  In order to
facilitate future changes and the need for CBC support, switch to NSS, which
should be more flexible and actively maintained.

Differential Revision: https://phabricator.services.mozilla.com/D41993

--HG--
extra : moz-landing-system : lando
2019-09-05 19:19:06 +00:00
Dan Minor
fb8723ba06 Bug 1570669 - Only redact peer reflex candidates if host address obfuscation is enabled; r=mjf
This adds a mObfuscateHostAddresses member and uses it to control whether or
not peer reflex candidates are redacted. It is only necessary to keep track of
signaled addresses to support redacting peer reflex candidates, so there is no
need to store them if host address obfuscation is disabled.

Differential Revision: https://phabricator.services.mozilla.com/D44531

--HG--
extra : moz-landing-system : lando
2019-09-06 15:23:53 +00:00
Dan Minor
f849f9d1b0 Bug 1579076 - Remove expired WebRTC telemetry; r=ng,drno
Differential Revision: https://phabricator.services.mozilla.com/D44884

--HG--
extra : moz-landing-system : lando
2019-09-06 03:52:29 +00:00
Ryan VanderMeulen
15c1a17047 Bug 1508198 - Update libjpeg-turbo to 2.0.3. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D44851

--HG--
extra : moz-landing-system : lando
2019-09-05 16:49:12 +00:00
Christian Holler
d5d628a5fb Bug 1577571 - Add OnUpgradeFailed to nsIHttpUpgradeListener. r=michal
Differential Revision: https://phabricator.services.mozilla.com/D44680

--HG--
extra : moz-landing-system : lando
2019-09-05 12:10:27 +00:00
Andreas Pehrson
528b5f4cd3 Bug 1576771 - Reset VideoFrameConverter's track-enabled state when disconnecting video listeners. r=bwc
Depends on D44675

Differential Revision: https://phabricator.services.mozilla.com/D44676

--HG--
extra : moz-landing-system : lando
2019-09-04 14:53:51 +00:00
Eric Rahm
2f5a215771 Bug 1577885 - Remove using namespace std from GMP ClearKey r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D44269

--HG--
extra : moz-landing-system : lando
2019-09-03 19:10:42 +00:00
Cameron Kaiser
47b9886e70 Bug 1576433 - Enable SIMD in libjpeg for PowerPC. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D43352

--HG--
extra : moz-landing-system : lando
2019-09-03 00:15:52 +00:00
Andreas Pehrson
6319ba4dbc Bug 1573102 - Remove mGraph from MediaStreamTrack::MSGListener. r=karlt
To accomodate this, MediaStreamTrackListener::NotifyEnded/Removed get an
additional aGraph argument. NotifyEnabledStateChanged is getting it too, for
completion.

Differential Revision: https://phabricator.services.mozilla.com/D43667

--HG--
extra : moz-landing-system : lando
2019-08-29 13:32:59 +00:00
Dan Minor
eae489fda9 Bug 1554976 - Use StunAddrs to set interface for mdns_service; r=mjf
The Rust get_if_addrs library previously used does not build on Android with
our build system. Since we're already using nICEr to determine the local
interface addresses, rather than fix the Rust library, we can use those
addresses to set the interface on which mdns_service listens.

Differential Revision: https://phabricator.services.mozilla.com/D42760

--HG--
extra : moz-landing-system : lando
2019-08-28 19:51:18 +00:00
Dan Minor
6e5937318f Bug 1554976 - Move thread assertion inside if statement in OnLookupComplete; r=mjf
Checking this assertion outside of the if statement can result in
a use-after-free in debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D42152

--HG--
extra : moz-landing-system : lando
2019-08-28 19:51:06 +00:00
Dan Minor
2511d2ab0c Bug 1554976 - Make mDNS service a singleton; r=mjf
The current code causes one mDNS service to be created for each PeerConnection.
Due to Bug 1569311, the services persist until shutdown, which can lead to a
lot of mDNS threads running on sites which use WebRTC for fingerprinting. This
change makes it so we start at most one mDNS service.

I've filed Bug 1569955 to look at shutting down the mDNS service after the
last hostname is unregistered. As an alternative, if we fix Bug 1569311, we
could also use refcounting and stop the mDNS service after the last
StunAddrsRequestParent is freed.

Differential Revision: https://phabricator.services.mozilla.com/D42151

--HG--
extra : moz-landing-system : lando
2019-08-28 19:50:51 +00:00
Dan Minor
51353ec9f7 Bug 1554976 - Use mdns_service to generate UUIDs; r=mjf
With the move to the socket process, the UUID service is no longer available
in nricectx. This adds a pair of helper functions to mdns_service to generate
UUIDs and uses them to generate hostnames inside nricectx.

Differential Revision: https://phabricator.services.mozilla.com/D42150

--HG--
extra : moz-landing-system : lando
2019-08-28 19:50:44 +00:00
Dan Minor
fc82a0c5d5 Bug 1554976 - Obfuscate default rtp and rtcp candidates if required; r=ng
The default RTP candidate is used to populate the c= line in SDP. Rather than
using the mDNS address, which sipcc can not parse, we use 0.0.0.0:9, which is
what Chromium has chosen as well [1].

For RTCP, the mDNS obfuscated address is used.

[1] https://webrtc.googlesource.com/src.git/+/3ae59d33a310280e2f21ed4c53849950171e48e8

Differential Revision: https://phabricator.services.mozilla.com/D38498

--HG--
extra : moz-landing-system : lando
2019-08-28 19:50:25 +00:00
Dan Minor
6c6b65f876 Bug 1554976 - Add plumbing to enable/disable host address obfuscation; r=mjf
This only enables mDNS on OS X for now. Some versions of Windows lack mDNS
support, there are some oddities with resolving IPv6 addresses on Linux, and
Android has not yet been tested. All of these will be addressed in follow on
bugs.

Differential Revision: https://phabricator.services.mozilla.com/D38496

--HG--
extra : moz-landing-system : lando
2019-08-28 19:50:06 +00:00
Dan Minor
217f23e8b5 Bug 1554976 - Register mDNS hostname if required; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38495

--HG--
extra : moz-landing-system : lando
2019-08-28 19:49:49 +00:00
Dan Minor
2665020e51 Bug 1554976 - Copy actual address to CandidateInfo in MediaTransportHandler; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38494

--HG--
extra : moz-landing-system : lando
2019-08-28 19:49:36 +00:00
Dan Minor
6c39c9271f Bug 1554976 - Generate mDNS addresses in nricectx; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38493

--HG--
extra : moz-landing-system : lando
2019-08-28 19:49:24 +00:00
Dan Minor
6285d788cc Bug 1554976 - Add methods to register/unregister mDNS hostnames to StunAddrsRequestParent; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38492

--HG--
extra : moz-landing-system : lando
2019-08-28 19:49:12 +00:00
Dan Minor
04580ed952 Bug 1554976 - Add rust mdns library to mtransport; r=ng,dragana
This adds a mdns_service to mtransport to handle responding to mDNS queries.
All hostnames will be generated from UUIDs, so the responder assumes that it
is the only responder for a hostname which is registered with it. Because of
this, the responder does not first make a DNS query itself to see if any other
responder is handling a hostname, and does not wait a random amount of time
before replying, both of which are required by the specification to avoid
collisions with other responders.

Differential Revision: https://phabricator.services.mozilla.com/D38489

--HG--
extra : moz-landing-system : lando
2019-08-28 19:48:50 +00:00
Gurzau Raul
a6c5c5e3ac Backed out 14 changesets (bug 1554976) for Windows build bustages on a CLOSED TREE.
Backed out changeset a9b209d9d880 (bug 1554976)
Backed out changeset 27b4dddf9597 (bug 1554976)
Backed out changeset 3e16c10bb966 (bug 1554976)
Backed out changeset 6a404fca61dc (bug 1554976)
Backed out changeset 77c4e76c8130 (bug 1554976)
Backed out changeset 24f146b86cc4 (bug 1554976)
Backed out changeset b49b4326dcfd (bug 1554976)
Backed out changeset e2c837d1e0a0 (bug 1554976)
Backed out changeset 24728144c263 (bug 1554976)
Backed out changeset a099e69241a0 (bug 1554976)
Backed out changeset 0e34595c2680 (bug 1554976)
Backed out changeset a506bb40047e (bug 1554976)
Backed out changeset 513026415092 (bug 1554976)
Backed out changeset e0fc6a1d4332 (bug 1554976)
2019-08-28 18:10:11 +03:00
Dan Minor
a81f8d6f24 Bug 1554976 - Use StunAddrs to set interface for mdns_service; r=mjf
The Rust get_if_addrs library previously used does not build on Android with
our build system. Since we're already using nICEr to determine the local
interface addresses, rather than fix the Rust library, we can use those
addresses to set the interface on which mdns_service listens.

Differential Revision: https://phabricator.services.mozilla.com/D42760

--HG--
extra : moz-landing-system : lando
2019-08-28 13:12:26 +00:00
Dan Minor
2507ef392a Bug 1554976 - Move thread assertion inside if statement in OnLookupComplete; r=mjf
Checking this assertion outside of the if statement can result in
a use-after-free in debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D42152

--HG--
extra : moz-landing-system : lando
2019-08-28 13:12:13 +00:00
Dan Minor
c3d8942d0f Bug 1554976 - Make mDNS service a singleton; r=mjf
The current code causes one mDNS service to be created for each PeerConnection.
Due to Bug 1569311, the services persist until shutdown, which can lead to a
lot of mDNS threads running on sites which use WebRTC for fingerprinting. This
change makes it so we start at most one mDNS service.

I've filed Bug 1569955 to look at shutting down the mDNS service after the
last hostname is unregistered. As an alternative, if we fix Bug 1569311, we
could also use refcounting and stop the mDNS service after the last
StunAddrsRequestParent is freed.

Differential Revision: https://phabricator.services.mozilla.com/D42151

--HG--
extra : moz-landing-system : lando
2019-08-28 13:12:01 +00:00
Dan Minor
d54770d4a5 Bug 1554976 - Use mdns_service to generate UUIDs; r=mjf
With the move to the socket process, the UUID service is no longer available
in nricectx. This adds a pair of helper functions to mdns_service to generate
UUIDs and uses them to generate hostnames inside nricectx.

Differential Revision: https://phabricator.services.mozilla.com/D42150

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:49 +00:00
Dan Minor
b07a76f4bd Bug 1554976 - Obfuscate default rtp and rtcp candidates if required; r=ng
The default RTP candidate is used to populate the c= line in SDP. Rather than
using the mDNS address, which sipcc can not parse, we use 0.0.0.0:9, which is
what Chromium has chosen as well [1].

For RTCP, the mDNS obfuscated address is used.

[1] https://webrtc.googlesource.com/src.git/+/3ae59d33a310280e2f21ed4c53849950171e48e8

Differential Revision: https://phabricator.services.mozilla.com/D38498

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:42 +00:00
Dan Minor
2da923ff0b Bug 1554976 - Add plumbing to enable/disable host address obfuscation; r=mjf
This only enables mDNS on OS X for now. Some versions of Windows lack mDNS
support, there are some oddities with resolving IPv6 addresses on Linux, and
Android has not yet been tested. All of these will be addressed in follow on
bugs.

Differential Revision: https://phabricator.services.mozilla.com/D38496

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:33 +00:00
Dan Minor
d467f3a90a Bug 1554976 - Register mDNS hostname if required; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38495

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:24 +00:00
Dan Minor
717793ab02 Bug 1554976 - Copy actual address to CandidateInfo in MediaTransportHandler; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38494

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:20 +00:00
Dan Minor
9fa62a0a55 Bug 1554976 - Generate mDNS addresses in nricectx; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38493

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:14 +00:00
Dan Minor
6803a86c10 Bug 1554976 - Add methods to register/unregister mDNS hostnames to StunAddrsRequestParent; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38492

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:11 +00:00
Dan Minor
a17af56ba5 Bug 1554976 - Add rust mdns library to mtransport; r=ng,dragana
This adds a mdns_service to mtransport to handle responding to mDNS queries.
All hostnames will be generated from UUIDs, so the responder assumes that it
is the only responder for a hostname which is registered with it. Because of
this, the responder does not first make a DNS query itself to see if any other
responder is handling a hostname, and does not wait a random amount of time
before replying, both of which are required by the specification to avoid
collisions with other responders.

Differential Revision: https://phabricator.services.mozilla.com/D38489

--HG--
extra : moz-landing-system : lando
2019-08-28 13:09:59 +00:00
Kershaw Chang
5018d39958 Bug 1571987 - Forward proxy check request to parent process r=dragana,bwc
Differential Revision: https://phabricator.services.mozilla.com/D41004

--HG--
extra : moz-landing-system : lando
2019-08-24 05:37:00 +00:00
Sylvestre Ledru
d264b841c9 Bug 1576502 - Fix some wording issues r=mhoye
Differential Revision: https://phabricator.services.mozilla.com/D43363

--HG--
extra : moz-landing-system : lando
2019-08-27 15:38:58 +00:00
Paul Adenot
c23f8dcae9 Bug 1576168 - Update audio_thread_priority to 0.19.1. r=pehrsons
This changes the hard-limit of `RLIMIT_RTTIME` to be the maximum available
(200ms on my system), and keep the soft limit to the same number.

Having different numbers allow catching SIGXCPU before getting SIGKILL.

Differential Revision: https://phabricator.services.mozilla.com/D43402

--HG--
extra : moz-landing-system : lando
2019-08-27 08:00:36 +00:00
Dan Minor
1555cd2006 Bug 1570548 - Check if mDecoder is null in WebrtcMediaDataDecoder::Release; r=bryce
In InitDecode it is possible for mDecoder to be null if the CreateDecoder call
fails, in which case an error code is returned. Release is called by
GenericDecoder::~VCMGenericDecoder regardless of whether InitDecode succeeds, so
we need to check if mDecoder is null in Release.

Differential Revision: https://phabricator.services.mozilla.com/D43469

--HG--
extra : moz-landing-system : lando
2019-08-26 17:50:46 +00:00
Coroiu Cristina
38d7f20baa Backed out 2 changesets (bug 1576168) for build bustages on a CLOSED TREE
Backed out changeset 3ea6795200b1 (bug 1576168)
Backed out changeset 4e8fc76cd529 (bug 1576168)
2019-08-26 19:46:38 +03:00
Paul Adenot
1029a3ce04 Bug 1576168 - Update audio_thread_priority to 0.19.0. r=pehrsons
This changes the hard-limit of `RLIMIT_RTTIME` to be the maximum available
(200ms on my system), and keep the soft limit to the same number.

Having different numbers allow catching SIGXCPU before getting SIGKILL.

Differential Revision: https://phabricator.services.mozilla.com/D43402

--HG--
extra : moz-landing-system : lando
2019-08-26 14:20:22 +00:00
Dan Minor
7c3097eb13 Bug 1565800 - Use local copy of _captureCapability in OnIncomingFrame; r=jolin
In OnIncomingFrame() we check if the capture has started by calling
CaptureStarted() which holds a lock. If StopCapture() is called on the
control thread after we check CaptureStarted() it is possible that
_captureCapability will be zeroed out prior to frame being delivered because
the lock has been released. This would result in an unknown video type in
CalcBufferSize() and trigger an assertion there. This creates a local copy of
_captureCapability with the lock held to ensure it is not zeroed out when the
frame is delivered.

Differential Revision: https://phabricator.services.mozilla.com/D42338

--HG--
extra : moz-landing-system : lando
2019-08-21 15:52:31 +00:00
Tijl Coosemans
9c3421dfef Bug 1575876 - Drop header unused on FreeBSD that breaks with new libc++. r=bwc
--HG--
extra : histedit_source : ef16b712dcd62120d01b902a5f734a8163c907a3
2019-08-24 01:38:05 +03:00
Matthew Gregan
36165906fe Bug 1575679 - Update libnestegg to pick up PR 65. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D42966

--HG--
extra : moz-landing-system : lando
2019-08-21 21:50:42 +00:00
Ryan Alderete
4b595ec1a8 Bug 1570158 - Add proxy information to candidates table in about:webrtc r=bwc,baku
This adds a field to about:webrtc which indicates whether an associated
candidate is behind a proxy or not.

Differential Revision: https://phabricator.services.mozilla.com/D39974

--HG--
extra : moz-landing-system : lando
2019-08-21 10:04:45 +00:00
Ryan Alderete
dccf61abe4 Bug 1574512 - Fix error handling in nr_ice_set_target_for_default_local_address_lookup() r=bwc
If the remote IP address and port number are unable to be converted to a
transport address, the context was incorrectly left with a pointer to zeroed
out memory, which causes nr_ice_get_default_local_address() to abort.  Freeing
the address and setting the pointer to null on failure should allow the
fallback to be used to retrieve the default local address.

Differential Revision: https://phabricator.services.mozilla.com/D42661

--HG--
extra : moz-landing-system : lando
2019-08-20 15:46:59 +00:00
Alastor Wu
0e392d0f13 Bug 1568101 - part7 : rename 'MediaDataDecoderCodec' to 'MediaDataCodec'. r=jolin
As this class is not only used for creating decoder, also for encoder, it's more proper to rename it as `MediaDataCodec`.

Differential Revision: https://phabricator.services.mozilla.com/D41443

--HG--
rename : media/webrtc/signaling/src/media-conduit/MediaDataDecoderCodec.cpp => media/webrtc/signaling/src/media-conduit/MediaDataCodec.cpp
rename : media/webrtc/signaling/src/media-conduit/MediaDataDecoderCodec.h => media/webrtc/signaling/src/media-conduit/MediaDataCodec.h
extra : moz-landing-system : lando
2019-08-19 08:03:55 +00:00
Alastor Wu
e0241d05dc Bug 1568101 - part6 : set bitrate. r=jolin
Use `BitrateAdjuster` to calculate bitrate and prevent to set bitrate too often, because certain hardware encoders tend to consistently overshoot the bitrate that they are configured to encode at.

Differential Revision: https://phabricator.services.mozilla.com/D40533

--HG--
extra : moz-landing-system : lando
2019-08-19 07:34:08 +00:00
Alastor Wu
9bd4a96457 Bug 1568101 - part5 : implement encoding. r=jolin,jya
In order to encode video frame, we have to convert `webrtc::VideoFrame` to gecko's video data, and then send this YUV-based video data to the encoder.

The encoder won't return an encoded frame everytime when we call its `encode()`, so we have to wait until there are valid samples added to `mEncodedFrames`.

Then, convert the `MediaRawData` to `webrtc::EncodedImage` and provide an NAL entries list to indicate where the NALs are in the encoded bytes stream and how large they are. We would send those data back
to the consumer of the encoder via calling a callback function `OnEncodedImage()`.

Differential Revision: https://phabricator.services.mozilla.com/D40532

--HG--
extra : moz-landing-system : lando
2019-08-20 07:41:33 +00:00
Alastor Wu
86b6cfa0eb Bug 1568101 - part4 : implement a generic refcounting encoder interface. r=jya
`RefCountedWebrtcVideoEncoder` is a generic interface which supports refcounting, using that can ensure the encoder is always alive even if using it in an async task.

So now both `WebrtcGmpVideoEncoder` and `WebrtcMediaDataEncoder` would inherit from `RefCountedWebrtcVideoEncoder`.
We can use `WebrtcVideoEncoderProxy` to wrap them and return `WebrtcVideoEncoderProxy` for the use in the WebRTC pineline.

Differential Revision: https://phabricator.services.mozilla.com/D41855

--HG--
extra : moz-landing-system : lando
2019-08-19 08:03:15 +00:00
Alastor Wu
c636eac2d6 Bug 1568101 - part3 : implement initializing and releasing encoder. r=jolin
In this patch, we implement how to create a platform encoder, init an encoder and release it when we don't need it anymore.

In addition, as the encoder factory only supports h264 for now, so all configuration related to encoder would be h264 specific.

Differential Revision: https://phabricator.services.mozilla.com/D40531

--HG--
extra : moz-landing-system : lando
2019-08-19 07:52:11 +00:00
Alastor Wu
58ec457e76 Bug 1568101 - part2 : use a static pref to control the feature. r=jolin
Use a static pref to control this feature and turn it off by default.

Differential Revision: https://phabricator.services.mozilla.com/D40530

--HG--
extra : moz-landing-system : lando
2019-08-08 23:38:21 +00:00
Alastor Wu
9fd259ee61 Bug 1568101 - part1 : implement a basic interface for WebrtcMediaDataEncoderCodec. r=jolin
Implement a basic interface for `WebrtcMediaDataEncoder`, which will only be used on OSX for encoding h264 only.

Differential Revision: https://phabricator.services.mozilla.com/D40529

--HG--
extra : moz-landing-system : lando
2019-08-09 20:58:06 +00:00
Andreas Pehrson
49244b4fad Bug 1571705 - Clarify mInputStream guarantees in MediaStreamTrack. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D41508

--HG--
extra : moz-landing-system : lando
2019-08-19 19:26:25 +00:00
Paul Adenot
5366291789 Bug 1574914 - Bump audio_thread_priority to 0.18. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D42504

--HG--
extra : moz-landing-system : lando
2019-08-19 13:50:08 +00:00
Simon Sapin
c65755ac41 Bug 1568540 - Update the url crate to 2.0 r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D42364

--HG--
extra : moz-landing-system : lando
2019-08-17 16:26:27 +00:00
Chun-Min Chang
4c2709e357 Bug 1574644 - Update cubeb-coreaudio-rs to version 71faddb. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D42382

--HG--
extra : moz-landing-system : lando
2019-08-16 22:20:30 +00:00
Mike Hommey
c53b03de07 Bug 1572986 - Link libmozavutil against libatomic when needed. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D41483

--HG--
extra : moz-landing-system : lando
2019-08-12 16:47:40 +00:00
Sylvestre Ledru
645f2d5773 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D41559

--HG--
extra : moz-landing-system : lando
2019-08-13 07:15:25 +00:00
Tom Schuster
2c4cb96468 Bug 1558915 - Use infallible nsIURI::SchemeIs everywhere. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D41367

--HG--
extra : moz-landing-system : lando
2019-08-09 15:17:06 +00:00
Andreas Pehrson
50628ddd24 Bug 1570673 - Add an active state to VideoFrameConverter and propagate it from MediaPipeline. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D40598

--HG--
extra : moz-landing-system : lando
2019-08-05 18:00:48 +00:00
Kershaw Chang
18d3f24206 Bug 1570950 - Make sure the IPC channel is closed before destroying r=jld
The stack from crash report suggests that ChildImpl was deleted at the end of function GetOrCreateSocketActorForCurrentThread(). This only happens when SendInitBackground failed, so we have to close the IPC channel before ChildImpl getting destroyed.

Differential Revision: https://phabricator.services.mozilla.com/D40838

--HG--
extra : moz-landing-system : lando
2019-08-06 21:17:40 +00:00
Nicholas Nethercote
2bdd4bbfd0 Bug 1570212 - Convert media.webrtc.net.force_disable_rtcp_reception to a static pref. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D40154

--HG--
extra : moz-landing-system : lando
2019-08-02 12:33:17 +00:00
Ryan Alderete
41872c8747 Bug 1452713 - Update webRTCIPHandlingPolicy to match Chrome r=bwc,mixedpuppy
Previously, the network.webRTCIPHandlingPolicy "disable_non_proxied_udp" only
enabled the use of WebRTC if a proxy was configured and the WebRTC service
supported TURN TCP.

This aims to match Chrome's behavior by forcing the use of a proxy if one is
configured, otherwise falling back to mode 3 (no host candidates and default
route only).

Also, remove some dead code left over from the old way of routing TURN
communications through an HTTP proxy.

Differential Revision: https://phabricator.services.mozilla.com/D37892

--HG--
extra : moz-landing-system : lando
2019-08-02 21:33:46 +00:00
Chun-Min Chang
817f6f88f6 Bug 1570446 - P2: Update cubeb-coreaudio-rs to version ee0f981. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D39979

--HG--
extra : moz-landing-system : lando
2019-08-02 18:29:37 +00:00
Chun-Min Chang
f29bfc124d Bug 1570446 - P1: Update script importing cubeb-coreaudio-rs to gecko. r=padenot
- Don't import the build settings since the settings in gecko is more
complicated.
- Print out the picked commits when running the scripts

Differential Revision: https://phabricator.services.mozilla.com/D40097

--HG--
extra : moz-landing-system : lando
2019-08-02 18:29:25 +00:00
Paul Adenot
6e399961ed Bug 1570948 - Bump audio_thread_priority to 0.17. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D40410

--HG--
extra : moz-landing-system : lando
2019-08-02 12:44:33 +00:00
Dan Minor
97c5db53eb Bug 1561923 - Remove expired WebRTC telemetry; r=drno,bwc
Differential Revision: https://phabricator.services.mozilla.com/D37757

--HG--
extra : moz-landing-system : lando
2019-07-31 19:57:55 +00:00
Andreas Pehrson
4b3fa9c67e Bug 1493613 - Move MediaStream control from DOMMediaStream to MediaStreamTrack. r=padenot
This is inherently large, because modifying these bits of DOMMediaStream and
MediaStreamTrack affects all consumers and producers of all DOMMediaStreams and
MediaStreamTracks.

Things are generally much simpler now.

Producers of tracks now create a MediaStream in the graph, add it to a
MediaStreamTrackSource subclass that takes ownership of it, and add the source
to a MediaStreamTrack. Should the producer need a DOMMediaStream it is now much
simpler to create as the only thing needed is the current window. The stream is
a rather simple wrapper around an array of MediaStreamTracks.

HTMLMediaElement is still not as straight forward as other consumers since it
consumes the DOMMediaStream directly, as opposed to a set of tracks.
The new MediaStreamRenderer helper class helps bridge the gap between this fact
and the new track-based MediaStreamGraph interface, as it needs to juggle
registering multiple audio tracks for audio output. This hooks into existing
HTMLMediaElement logic and brings a welcome simplification to all the glue
previously needed there.

Differential Revision: https://phabricator.services.mozilla.com/D37934

--HG--
extra : moz-landing-system : lando
2019-07-31 07:58:17 +00:00
Andreas Pehrson
719dfe4ede Bug 1493613 - Update muted state through MediaStreamTrackSource. r=bwc,smaug
This ensures all clones of the original track also receives the new muted state.

Differential Revision: https://phabricator.services.mozilla.com/D37933

--HG--
extra : moz-landing-system : lando
2019-07-31 09:35:06 +00:00
Nicholas Nethercote
cd426e3ad2 Bug 1569526 - Remove return values from Add*VarCache(). r=KrisWright
They're infallible in practice and always `NS_OK`. (This stems from
`AddVarCacheNoAssignment()` always returning `NS_OK`.)

As a result, the commit removes lots of unnecessary checks.

Differential Revision: https://phabricator.services.mozilla.com/D39804

--HG--
extra : moz-landing-system : lando
2019-07-30 06:19:46 +00:00
Matthew Gregan
536af4fbf3 Bug 1569460 - Update AudioIPC to f6f56c43. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D39802

--HG--
extra : moz-landing-system : lando
2019-07-29 23:17:56 +00:00
Andrea Marchesini
cef26c06c6 Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - PProxyConfigLookup IPC protocol, r=bwc,kershaw,jld
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-29 12:27:59 +00:00
Mike Hommey
7acef03e16 Bug 1569331 - Use the more traditional way to override dependencies for coreaudio-sys. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D39579

--HG--
extra : moz-landing-system : lando
2019-07-27 00:35:09 +00:00
Matthew Gregan
e0fdf04539 Bug 1569090 - Update audioipc to 177ebd96. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D39453

--HG--
rename : media/audioipc/audioipc/src/async.rs => media/audioipc/audioipc/src/async_msg.rs
extra : moz-landing-system : lando
2019-07-27 13:14:23 +00:00
Daniel Varga
eadf32a8eb Backed out 2 changesets (bug 1569090) for causing debug SM build fail with error: failed to load source for a dependency on mio-named-pipes. On a CLOSED TREE
Backed out changeset 6aa27e77e38f (bug 1569090)
Backed out changeset 5251efcd4ac1 (bug 1569090)

--HG--
rename : media/audioipc/audioipc/src/async_msg.rs => media/audioipc/audioipc/src/async.rs
rename : third_party/rust/tokio-named-pipes/LICENSE-APACHE => third_party/rust/fs2/LICENSE-APACHE
rename : third_party/rust/memmap-0.6.2/LICENSE-APACHE => third_party/rust/memmap-0.5.2/LICENSE-APACHE
rename : third_party/rust/tokio-named-pipes/LICENSE-MIT => third_party/rust/memmap-0.5.2/LICENSE-MIT
rename : third_party/rust/memmap-0.6.2/ci/install.sh => third_party/rust/memmap-0.5.2/ci/install.sh
2019-07-27 12:58:34 +03:00
Matthew Gregan
ae4794f5de Bug 1569090 - Update audioipc to 177ebd96. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D39453

--HG--
rename : media/audioipc/audioipc/src/async.rs => media/audioipc/audioipc/src/async_msg.rs
extra : moz-landing-system : lando
2019-07-26 16:51:29 +00:00
Jean-Yves Avenard
577b826128 Bug 1543359 - P13. Let the video decoder determines the default colorspace if unknown. r=mattwoodrow
When unknown, we rely on the picture height and assume that anything less than 720p is 601 and 709 otherwise. It's not perfect but it's the best we can do.

Differential Revision: https://phabricator.services.mozilla.com/D39275

--HG--
extra : moz-landing-system : lando
2019-07-26 08:45:39 +00:00
Narcis Beleuzu
e84980d8b1 Backed out 15 changesets (bug 1543359) for wrench bustages on image.rs . CLOSED TREE
Backed out changeset 548006270186 (bug 1543359)
Backed out changeset c9585e9d9f3c (bug 1543359)
Backed out changeset 1c7ca95a2a9b (bug 1543359)
Backed out changeset d742d80b892f (bug 1543359)
Backed out changeset 210eee703fd9 (bug 1543359)
Backed out changeset 4eb933d55d88 (bug 1543359)
Backed out changeset fb9b71ed9f4b (bug 1543359)
Backed out changeset 98b968443458 (bug 1543359)
Backed out changeset a85bd4691bea (bug 1543359)
Backed out changeset b576317853e9 (bug 1543359)
Backed out changeset 095bca5c9b1a (bug 1543359)
Backed out changeset 48eb0ebf9f2e (bug 1543359)
Backed out changeset b22b0eb708b8 (bug 1543359)
Backed out changeset 52187d9320b1 (bug 1543359)
Backed out changeset fa6792c1c2e8 (bug 1543359)
2019-07-26 11:40:33 +03:00
Jean-Yves Avenard
d6adb6b604 Bug 1543359 - P13. Let the video decoder determines the default colorspace if unknown. r=mattwoodrow
When unknown, we rely on the picture height and assume that anything less than 720p is 601 and 709 otherwise. It's not perfect but it's the best we can do.

Differential Revision: https://phabricator.services.mozilla.com/D39275

--HG--
extra : moz-landing-system : lando
2019-07-26 06:14:30 +00:00
Cosmin Sabou
ae7e8fbf55 Backed out 14 changesets (bug 1543359) for causing build bustages. CLOSED TREE
Backed out changeset 87c99ef85813 (bug 1543359)
Backed out changeset cd0afc5758ba (bug 1543359)
Backed out changeset 101ac87ff017 (bug 1543359)
Backed out changeset 348e748e3451 (bug 1543359)
Backed out changeset d9e937f5caf4 (bug 1543359)
Backed out changeset 2f4eb6501552 (bug 1543359)
Backed out changeset 0d316ef8c668 (bug 1543359)
Backed out changeset bf238b58c694 (bug 1543359)
Backed out changeset 496f206d03d6 (bug 1543359)
Backed out changeset 7c3a1f23baa8 (bug 1543359)
Backed out changeset 90fff717198b (bug 1543359)
Backed out changeset b2ce591ca398 (bug 1543359)
Backed out changeset a63968f077e3 (bug 1543359)
Backed out changeset ca660ab1e0c1 (bug 1543359)
2019-07-26 07:39:11 +03:00
Jean-Yves Avenard
84900ae6ff Bug 1543359 - P13. Let the video decoder determines the default colorspace if unknown. r=mattwoodrow
When unknown, we rely on the picture height and assume that anything less than 720p is 601 and 709 otherwise. It's not perfect but it's the best we can do.

Differential Revision: https://phabricator.services.mozilla.com/D39275

--HG--
extra : moz-landing-system : lando
2019-07-26 04:26:56 +00:00
Mike Hommey
2919ab6ba3 Bug 1569003 - Disable bindgen when building coreaudio-sys. r=nalexander
This is the most immediate solution to the problem. This is how
automation ends up building things because it's cross-compiling and
cross-compiling falls back to the code path of that feature, and this
solves the immediate problem of builds not working out of the box.

The more long term fix would be to fix the coreaudio-sys crate to do the
right thing.

Differential Revision: https://phabricator.services.mozilla.com/D39447

--HG--
extra : moz-landing-system : lando
2019-07-26 03:54:13 +00:00
Nicholas Nethercote
18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Ryan Alderete
992406dcb2 Bug 1506219 - Use a known remote for applications loaded from file:// URIs r=bwc
Fall back to using Google's DNS server to determine the associated local
addresses for web applications that are not loaded over the network.  This
includes the loopback address, which is frequently used in the unit tests.

Provide a separate function for setting the target for the default local
address lookup.

Differential Revision: https://phabricator.services.mozilla.com/D37331

--HG--
extra : moz-landing-system : lando
2019-07-24 21:58:33 +00:00
Ryan Alderete
cd13ca2e02 Bug 1506219 - Update default route according to latest IETF draft r=bwc
draft-ietf-rtcweb-ip-handling specifies that the default route is the route
used to reach the origin rather than the one used to reach the internet, so
update the IP routing to reflect this.  This addresses issues in which the
wrong IP address is used on machines with multiple network interfaces.

Differential Revision: https://phabricator.services.mozilla.com/D36831

--HG--
extra : moz-landing-system : lando
2019-07-24 19:50:46 +00:00
Andreea Pavel
14071390d5 Backed out 2 changesets (bug 1567892) for build bustages on a CLOSED TREE
Backed out changeset edcdfaa8a2b1 (bug 1567892)
Backed out changeset 3aef1ee02e9b (bug 1567892)
2019-07-25 08:26:29 +03:00
Andrea Marchesini
00f3ae963f Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - part 2 - PProxyConfigLookup IPC protocol, r=bwc,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-25 04:51:00 +00:00
Mike Hommey
baf04d4ceb Bug 1567739 - Stop using deprecated rust libc integer types in rsdparsa_capi. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D38939

--HG--
extra : moz-landing-system : lando
2019-07-24 22:15:55 +00:00
Alex Chronopoulos
f8e782919a Bug 1568515 - Import dav1d from upstream to c138435. r=TD-Linux
Differential Revision: https://phabricator.services.mozilla.com/D39184

--HG--
extra : moz-landing-system : lando
2019-07-24 17:03:48 +00:00
Nico Grunbaum
a28afec671 Bug 1566701 - P4 - Adapting the glue code to the new address types - r=drno
Differential Revision: https://phabricator.services.mozilla.com/D38567

--HG--
extra : moz-landing-system : lando
2019-07-23 21:55:24 +00:00
Nico Grunbaum
5a20a4a360 Bug 1566701 - P3 - Update rsdparsa_capi to support FQDNs - r=drno
Differential Revision: https://phabricator.services.mozilla.com/D38566

--HG--
extra : moz-landing-system : lando
2019-07-23 21:55:21 +00:00
Nico Grunbaum
d6d546de5b Bug 1566701 - P1 - Update rsdparsa to HEAD of mozilla/rsdparsa with FQDN support - r=drno
Differential Revision: https://phabricator.services.mozilla.com/D38564

--HG--
extra : moz-landing-system : lando
2019-07-23 21:55:13 +00:00
Bogdan Tara
e50924670e Backed out 2 changesets (bug 1567892) for build bustages complaining about PNecko.ipdl CLOSED TREE
Backed out changeset 18a1d7fe61e0 (bug 1567892)
Backed out changeset b1b922fe6c11 (bug 1567892)
2019-07-24 18:59:39 +03:00
Andrea Marchesini
9876c2f82a Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - part 2 - PProxyConfigLookup IPC protocol, r=bwc,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-24 15:28:56 +00:00
Brindusan Cristian
b55b8731f2 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-07-24 06:58:05 +03:00
Matthew Gregan
cbbdf7fcb4 Bug 1539225 - Update AudioIPC to pick up backend selection & context name support. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D38957

--HG--
extra : moz-landing-system : lando
2019-07-23 19:34:52 +00:00