Commit Graph

7405 Commits

Author SHA1 Message Date
Dan Minor
d67ce316c5 Bug 1595479 - Call Stop as part of Transceiver shutdown; r=ng
This consolidates the shutdown code and ensures that an RTCP bye is sent
as part of tearing down a PeerConnection.

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

--HG--
extra : moz-landing-system : lando
2019-12-20 20:55:03 +00:00
Dan Minor
f50ddd24b2 Bug 1595479 - Add RtcpEventObserver to Conduits and Transceiver; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D57860

--HG--
extra : moz-landing-system : lando
2019-12-20 20:54:35 +00:00
Dan Minor
0cd4afab2d Bug 1595479 - Plumb RtcpEventObserver through Channel and VideoReceiveStream; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D57859

--HG--
extra : moz-landing-system : lando
2019-12-20 20:53:56 +00:00
Dan Minor
f3e464071c Bug 1595479 - Add RtcpEventObserver to RtcpReceiver; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D57858

--HG--
extra : moz-landing-system : lando
2019-12-20 20:53:19 +00:00
Nico Grunbaum
8ef8e3598b Bug 1602739 - P2 - make opaque stats IDs in PeerConnectionImpl;r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D57949

--HG--
extra : moz-landing-system : lando
2019-12-20 20:20:34 +00:00
Nico Grunbaum
271de92265 Bug 1602739 - P1 - Add stats ID generator;r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D57948

--HG--
extra : moz-landing-system : lando
2019-12-20 20:41:21 +00:00
Alex Chronopoulos
1bb4949d41 Bug 1604746 - Start the pipeline after stopping to avoid thread races. r=padenot
With tracks in different MTGs we risk of having thread races if we stop and start immediatelly. Previously, stoping and starting was happenign to the same MTG so this problem did not exist. This change wires a promise in the `MediaTrack::RemoveListener` method and perform the start when that step has been completed.

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

--HG--
extra : moz-landing-system : lando
2019-12-20 17:03:42 +00:00
Alex Chronopoulos
59fb3dc5da Bug 1604746 - Recreate the send track in the MTG of the provided track if they belong to different MTGs. r=padenot
In `MediaPipelineTransmit::SetTrack()` the provided `MediaStreamTrack` connects to the existing send-track. This step crashes if the two tracks belong to different MTGs. With this change, when the two tracks belong to different MTGs, the existing send-track is stopped and deleted and a new send-track is created in the same MTG with the provided `MediaStreamTrack`.

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

--HG--
extra : moz-landing-system : lando
2019-12-20 15:13:56 +00:00
Nathan Froyd
705e153788 Bug 1604557 - use GeneratedFile template in media/libdav1d/; r=padenot
The template is slightly nicer and involves a little less repetition.

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

--HG--
extra : moz-landing-system : lando
2019-12-18 13:05:39 +00:00
Chris Peterson
406763af7f Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj
This changeset is a simple find and replace of `MOZ_FALLTHROUGH` and `[[fallthrough]]`.

Unfortunately, the MOZ_FALLTHROUGH_ASSERT macro (to assert on case fallthrough in debug builds) is still necessary after switching from [[clang::fallthrough]] to [[fallthrough]] because:

* MOZ_ASSERT(false) followed by [[fallthrough]] triggers a -Wunreachable-code warning in DEBUG builds
* but MOZ_ASSERT(false) without [[fallthrough]] triggers a -Wimplicit-fallthrough warning in NDEBUG builds.

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

--HG--
extra : moz-landing-system : lando
2019-12-20 07:16:43 +00:00
Michael Froman
762801c6fa Bug 1548318 - pt 2 - fix a typo in PeerConnectionMedia::FlushIceCtxOperationQueueIfReady. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D56814

--HG--
extra : moz-landing-system : lando
2019-12-18 18:47:34 +00:00
Michael Froman
21bf0d2c35 Bug 1548318 - pt 1 - get new local addrs when gathering ICE candidates after ICE restart. r=bwc
- Convert to a StunAddrRequestState enum so there is now a pending state,
    rather than just done/not done.  This is to make sure we don't have
    multiple stun addrs requests in flight at the same time.
  - Reset the stun addrs in PeerConnectionMedia from PeerConnectionImpl when
    PeerConnectionImpl::SetSignalingState_m detects ICE restart in an offer.
  - GatherIfReady will now request new stun addrs if none are available.

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

--HG--
extra : moz-landing-system : lando
2019-12-19 15:19:11 +00:00
Nico Grunbaum
76dcc2f02b Bug 1601561 - Move parser names to static functions.;r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D57131

--HG--
extra : moz-landing-system : lando
2019-12-16 14:07:13 +00:00
Byron Campen [:bwc]
3ec709712b Bug 1408256: Fix bug where renegotiation would un-set a previously negotiated max-fs. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D55890

--HG--
extra : moz-landing-system : lando
2019-12-17 19:45:00 +00:00
Byron Campen [:bwc]
d4420e0bb9 Bug 1408256: Tests for bug. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D55889

--HG--
extra : moz-landing-system : lando
2019-12-17 19:19:01 +00:00
Dan Minor
e17b8ba5d0 Bug 1603349 - Use try_recv rather than recv_timeout in mdns_service; r=ng
There are known bugs with recv_timeout which may explain the crashes we're
seeing in Bug 1603349. This patch switches to using try_recv which returns
immediately if no data is available. This thread already has timeouts set in
the UDP socket reads and writes, so the timeout with the receive channel
should not be necessary.

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

--HG--
extra : moz-landing-system : lando
2019-12-17 19:39:12 +00:00
Dan Minor
e3b31c2c02 Bug 1603790 - Only add unobfuscated addresses to mSignaledAddresses; r=mjf
We should only add a hostname to mSignaledAddresses if it is not obfuscated.
Prior to Bug 1567201 this was handled by an early exit in
MediaTransportHandlerSTS::AddIceCandidate if the address was obfuscated.
With the changes in Bug 1567201, that early exit went away and we're now adding
all addresses to mSignaledAddresses which breaks hiding prflx and srflx
addresses. Unfortunately, this is not something that easily unit testable.

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

--HG--
extra : moz-landing-system : lando
2019-12-16 21:05:46 +00:00
Nico Grunbaum
2cfc1ded7d Bug 1598923 - Fix known WEBRTCSDP issues blocking parallel parsing mode in Nightly;r=drno
Bug 1598923 - P1 - Remove use of description API and use format in SDP rust to C bindings;r?drno

Bug 1598923 - P2 - Add pref to select strictness of SDP parsing success;r?drno

Bug 1598923 - P3 - Update to WEBRTC-SDP 0.3.2;r?drno

Bug 1598923 - P4 - update to WEBRTC-SDP 0.3.3;r?mjf

Bug 1598923 - P5 - Adapt channel handling to WEBRTC-SDP changes;r?mjf

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

--HG--
extra : moz-landing-system : lando
2019-12-13 08:17:16 +00:00
Jeff Walden
e57173377f Bug 1439659 - Make |MOZ_{LITTLE,BIG}_ENDIAN| into function macros so that invoking them inside |#if| conditions when they haven't been defined yet is a compile error. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D57038

--HG--
extra : moz-landing-system : lando
2019-12-13 20:51:04 +00:00
Andreas Pehrson
486a4ba711 Bug 1601034 - Do not block main thread in mediapipeline_unittest.cpp. r=bwc
The STS thread dispatches SyncRunnables to main thread. There are two cases of
blocking affected here:
- SyncRunnables from main to STS:
  Can cause a deadlock.
- PR_Sleep on the main thread:
  Effectively sleeps STS too, if STS dispatches a SyncRunnable to main during
  main's sleep.

This patch gets rid of both of these.

Depends on D57001

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

--HG--
extra : moz-landing-system : lando
2019-12-12 21:50:06 +00:00
Andreas Pehrson
a13470c3da Bug 1601034 - Set the MediaPipelineTransmit send track in a dedicated method to enable unit tests. r=bwc
Depends on D56620

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

--HG--
extra : moz-landing-system : lando
2019-12-12 21:50:14 +00:00
Andreas Pehrson
af57fdc27d Bug 1601034 - Only update the conduit in replaceTrack() if the track source changed between camera and non-camera. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D56620

--HG--
extra : moz-landing-system : lando
2019-12-12 21:39:26 +00:00
Andreas Pehrson
d03a022cc6 Bug 1601034 - Add a ProcessedMediaTrack layer in MediaPipelineTransmit to handle replaceTrack of ended tracks. r=dminor,padenot
Before this patch, if a send audio MediaStreamTrack ended, we ended up not
sending anything over the network. If replaceTrack() at that point replaced the
ended track with a live one, we'd start sending data again, but the rtp stream
would continue from where the previous track ended.

Having a gap in audio like that would confuse a receiver's *video* jitter
buffer, because it's trying to sync to an audio track that just had a massive
amount of "jitter" (it can't tell the difference).

This patch fixes this by adding a track layer in MediaPipelineTransmit that
remains active for as long as the MediaPipeline is active. Thus if the send
audio MediaStreamTrack ends, we continue sending silence over the network, which
the receiver can understand. If later replaced, the receiver sees real audio
instead of silence and continues gracefully.

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

--HG--
extra : moz-landing-system : lando
2019-12-12 16:53:43 +00:00
Ciure Andrei
dd135cd361 Backed out 2 changesets (bug 1601034) for causing gtest mediapipeline_unittest.cpp failures CLOSED TREE
Backed out changeset 6a429cfa6440 (bug 1601034)
Backed out changeset e17753103d27 (bug 1601034)
2019-12-12 18:48:01 +02:00
Alex Chronopoulos
c7942e4cd7 Bug 1603384 - Update cubeb from upstream to aa63601. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D56872

--HG--
extra : moz-landing-system : lando
2019-12-12 15:24:23 +00:00
Andreas Pehrson
d117c5de66 Bug 1601034 - Only update the conduit in replaceTrack() if the track source changed between camera and non-camera. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D56620

--HG--
extra : moz-landing-system : lando
2019-12-12 09:35:37 +00:00
Andreas Pehrson
02224ebfcd Bug 1601034 - Add a ProcessedMediaTrack layer in MediaPipelineTransmit to handle replaceTrack of ended tracks. r=dminor,padenot
Before this patch, if a send audio MediaStreamTrack ended, we ended up not
sending anything over the network. If replaceTrack() at that point replaced the
ended track with a live one, we'd start sending data again, but the rtp stream
would continue from where the previous track ended.

Having a gap in audio like that would confuse a receiver's *video* jitter
buffer, because it's trying to sync to an audio track that just had a massive
amount of "jitter" (it can't tell the difference).

This patch fixes this by adding a track layer in MediaPipelineTransmit that
remains active for as long as the MediaPipeline is active. Thus if the send
audio MediaStreamTrack ends, we continue sending silence over the network, which
the receiver can understand. If later replaced, the receiver sees real audio
instead of silence and continues gracefully.

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

--HG--
extra : moz-landing-system : lando
2019-12-12 15:23:43 +00:00
Mike Hommey
7f4fff1db4 Bug 1601859 - Vendor cubeb-pulse-rs. r=kinetik
This technically breaks mach vendor rust because of the missing
licenses, but this will be fixed subsequently.

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

--HG--
rename : media/libcubeb/cubeb-pulse-rs/AUTHORS => third_party/rust/cubeb-pulse/AUTHORS
rename : media/libcubeb/cubeb-pulse-rs/Cargo.toml => third_party/rust/cubeb-pulse/Cargo.toml
rename : media/libcubeb/cubeb-pulse-rs/LICENSE => third_party/rust/cubeb-pulse/LICENSE
rename : media/libcubeb/cubeb-pulse-rs/README.md => third_party/rust/cubeb-pulse/README.md
rename : media/libcubeb/cubeb-pulse-rs/src/backend/context.rs => third_party/rust/cubeb-pulse/src/backend/context.rs
rename : media/libcubeb/cubeb-pulse-rs/src/backend/cork_state.rs => third_party/rust/cubeb-pulse/src/backend/cork_state.rs
rename : media/libcubeb/cubeb-pulse-rs/src/backend/intern.rs => third_party/rust/cubeb-pulse/src/backend/intern.rs
rename : media/libcubeb/cubeb-pulse-rs/src/backend/mod.rs => third_party/rust/cubeb-pulse/src/backend/mod.rs
rename : media/libcubeb/cubeb-pulse-rs/src/backend/stream.rs => third_party/rust/cubeb-pulse/src/backend/stream.rs
rename : media/libcubeb/cubeb-pulse-rs/src/capi.rs => third_party/rust/cubeb-pulse/src/capi.rs
rename : media/libcubeb/cubeb-pulse-rs/src/lib.rs => third_party/rust/cubeb-pulse/src/lib.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/Cargo.toml => third_party/rust/pulse-ffi/Cargo.toml
rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/src/ffi_funcs.rs => third_party/rust/pulse-ffi/src/ffi_funcs.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/src/ffi_types.rs => third_party/rust/pulse-ffi/src/ffi_types.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/src/lib.rs => third_party/rust/pulse-ffi/src/lib.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/Cargo.toml => third_party/rust/pulse/Cargo.toml
rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs => third_party/rust/pulse/src/context.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/error.rs => third_party/rust/pulse/src/error.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/lib.rs => third_party/rust/pulse/src/lib.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/mainloop_api.rs => third_party/rust/pulse/src/mainloop_api.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/operation.rs => third_party/rust/pulse/src/operation.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/proplist.rs => third_party/rust/pulse/src/proplist.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs => third_party/rust/pulse/src/stream.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/threaded_mainloop.rs => third_party/rust/pulse/src/threaded_mainloop.rs
rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/util.rs => third_party/rust/pulse/src/util.rs
extra : moz-landing-system : lando
2019-12-11 20:57:35 +00:00
Mike Hommey
1c4ef0191c Bug 1601859 - Vendor cubeb-coreaudio. r=padenot
This technically breaks mach vendor rust because of the missing
licenses, but this will be fixed subsequently.

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

--HG--
rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/Cargo.toml => third_party/rust/coreaudio-sys-utils/Cargo.toml
rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/aggregate_device.rs => third_party/rust/coreaudio-sys-utils/src/aggregate_device.rs
rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/audio_object.rs => third_party/rust/coreaudio-sys-utils/src/audio_object.rs
rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/audio_unit.rs => third_party/rust/coreaudio-sys-utils/src/audio_unit.rs
rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/cf_mutable_dict.rs => third_party/rust/coreaudio-sys-utils/src/cf_mutable_dict.rs
rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/dispatch.rs => third_party/rust/coreaudio-sys-utils/src/dispatch.rs
rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/lib.rs => third_party/rust/coreaudio-sys-utils/src/lib.rs
rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/string.rs => third_party/rust/coreaudio-sys-utils/src/string.rs
rename : media/libcubeb/cubeb-coreaudio-rs/Cargo.toml => third_party/rust/cubeb-coreaudio/Cargo.toml
rename : media/libcubeb/cubeb-coreaudio-rs/LICENSE => third_party/rust/cubeb-coreaudio/LICENSE
rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/aggregate_device.rs => third_party/rust/cubeb-coreaudio/src/backend/aggregate_device.rs
rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/auto_array.rs => third_party/rust/cubeb-coreaudio/src/backend/auto_array.rs
rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/auto_release.rs => third_party/rust/cubeb-coreaudio/src/backend/auto_release.rs
rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/device_property.rs => third_party/rust/cubeb-coreaudio/src/backend/device_property.rs
rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/mixer.rs => third_party/rust/cubeb-coreaudio/src/backend/mixer.rs
rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/mod.rs => third_party/rust/cubeb-coreaudio/src/backend/mod.rs
rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/resampler.rs => third_party/rust/cubeb-coreaudio/src/backend/resampler.rs
rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/utils.rs => third_party/rust/cubeb-coreaudio/src/backend/utils.rs
rename : media/libcubeb/cubeb-coreaudio-rs/src/capi.rs => third_party/rust/cubeb-coreaudio/src/capi.rs
rename : media/libcubeb/cubeb-coreaudio-rs/src/lib.rs => third_party/rust/cubeb-coreaudio/src/lib.rs
extra : moz-landing-system : lando
2019-12-10 15:43:17 +00:00
Dan Minor
2eadd0b6f8 Bug 1601992 - Set write timeout on udp socket; r=ng
We don't currently set a write timeout on the udp socket which could cause
write calls to block indefinitely. It is possible that this is blocking
long enough to cause the shutdown hangs seen in Bug 1601992.

This also bumps the number of times we retry failed queries from 2 to 3 to
account for the increased likelihood of not sending a query or answer.

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

--HG--
extra : moz-landing-system : lando
2019-12-11 12:20:36 +00:00
Gabriele Svelto
69790bc62e Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:16:44 +00:00
Mike Hommey
6a1d6c2698 Bug 1587468 - Update uuid to 0.8.1. r=webdriver-reviewers,whimboo,emilio
This leaves one out-of-tree of uuid 0.7, handled by https://github.com/mozilla/rkv/pull/184
(but we have two copies of that, we'd need to have it landed on both
branches and pulled).

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

--HG--
extra : moz-landing-system : lando
2019-12-06 00:47:50 +00:00
Chun-Min Chang
f19a547ee7 Bug 1588233 - P3: Update soundtouch to version 2.1.2. r=padenot
The changed-files are updated by running `sh update.sh <upstream-path>`
with moz-libsoundtouch.patch applied.

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

--HG--
extra : moz-landing-system : lando
2019-11-26 00:42:19 +00:00
Chun-Min Chang
c2fb3ad4ed Bug 1588233 - P1: Correct the moz-patch for soundtouch. r=padenot
Correct the format of the diff for AAFilter.cpp so the update-script can
work.

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

--HG--
extra : moz-landing-system : lando
2019-11-26 00:42:34 +00:00
Dan Minor
9a042a7df9 Bug 1598761 - Handle ErrorKind::Interrupted in mdns_service; r=ng
This happens very frequently in rr runs, and may explain some
intermittents we've seen in automation.

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

--HG--
extra : moz-landing-system : lando
2019-11-25 17:52:17 +00:00
june wilde
bb30244e33 Bug 1395259 - Remove win32k usage from webrtc's TaskQueue; r=dminor
Removes calls to the win32k API.
Replaces hardware and event timers with waitable timers.
Removes handling various task objects through the thread message queue.
Removes ProcessQueuedMessages, CancelTimers functions.
Adds event handle for stopping the TaskQueue thread.
Adds ReplyHandler class as an in between for TaskQueue objects to post tasks to each other without worrying if the other TaskQueue remains valid.
Adds rtc::CriticalSection's for timer_tasks_.
Removes ThreadState scoped class.

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

--HG--
extra : moz-landing-system : lando
2019-11-25 16:11:32 +00:00
Nico Grunbaum
f77baeeca3 Bug 1570549 - P8 - Restore SDP comparison telemetry;r=bwc
This moves the telemetry and preferences out into their own files and restores the parse result telemetery.

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

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:52 +00:00
Nico Grunbaum
76b1352f58 Bug 1570549 - P7 - Add SDP pref defaults; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52329

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:44 +00:00
Nico Grunbaum
44bb324bfb Bug 1570549 - P6 - Use hybrid parser in JsepSessionImpl; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52328

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:37 +00:00
Nico Grunbaum
94a27a1007 Bug 1570549 - P5 - Adding shim SDP parsing interface with pref controls - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52327

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:29 +00:00
Nico Grunbaum
b4fb3512e5 Bug 1570549 - P4 - Refactor parsing comparison entry point - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52326

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:22 +00:00
Nico Grunbaum
3428e183af Bug 1570549 - P3 - Add SDP logger; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52325

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:10 +00:00
Nico Grunbaum
53b0127879 Bug 1570549 - P2 - refactor unit tests - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52324

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:02 +00:00
Nico Grunbaum
0abad4cc61 Bug 1570549 - P1 - refactor into common SDP parser interface - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52323

--HG--
rename : media/webrtc/signaling/src/sdp/SdpErrorHolder.h => media/webrtc/signaling/src/sdp/SdpParser.h
extra : moz-landing-system : lando
2019-11-24 03:44:55 +00:00
Brindusan Cristian
1cde1fcaf7 Backed out 8 changesets (bug 1570549) for wpt failures at RTCTrackEvent-fire.html.
Backed out changeset 1d487300d143 (bug 1570549)
Backed out changeset 7d4be5f410c9 (bug 1570549)
Backed out changeset d328f63d66a8 (bug 1570549)
Backed out changeset e0dbf967bc68 (bug 1570549)
Backed out changeset 3469d786723d (bug 1570549)
Backed out changeset 1435516b2085 (bug 1570549)
Backed out changeset 3364ed9a7862 (bug 1570549)
Backed out changeset 94346355a426 (bug 1570549)

--HG--
rename : media/webrtc/signaling/src/sdp/SdpParser.h => media/webrtc/signaling/src/sdp/SdpErrorHolder.h
2019-11-23 11:24:03 +02:00
Nico Grunbaum
ab7812c038 Bug 1570549 - P8 - Restore SDP comparison telemetry;r=bwc
This moves the telemetry and preferences out into their own files and restores the parse result telemetery.

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

--HG--
extra : moz-landing-system : lando
2019-11-23 04:46:07 +00:00
Nico Grunbaum
6b9797515a Bug 1570549 - P6 - Use hybrid parser in JsepSessionImpl; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52328

--HG--
extra : moz-landing-system : lando
2019-11-23 04:45:47 +00:00
Nico Grunbaum
730d3c6f69 Bug 1570549 - P5 - Adding shim SDP parsing interface with pref controls - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52327

--HG--
extra : moz-landing-system : lando
2019-11-23 04:45:40 +00:00
Nico Grunbaum
e41c1d95b1 Bug 1570549 - P4 - Refactor parsing comparison entry point - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52326

--HG--
extra : moz-landing-system : lando
2019-11-23 04:45:33 +00:00
Nico Grunbaum
195e8eaf1f Bug 1570549 - P3 - Add SDP logger; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52325

--HG--
extra : moz-landing-system : lando
2019-11-23 04:45:31 +00:00
Nico Grunbaum
0f880559e0 Bug 1570549 - P2 - refactor unit tests - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52324

--HG--
extra : moz-landing-system : lando
2019-11-23 04:45:23 +00:00
Nico Grunbaum
f1362ebca3 Bug 1570549 - P1 - refactor into common SDP parser interface - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52323

--HG--
rename : media/webrtc/signaling/src/sdp/SdpErrorHolder.h => media/webrtc/signaling/src/sdp/SdpParser.h
extra : moz-landing-system : lando
2019-11-23 04:45:21 +00:00
Noemi Erli
2871c44dd4 Backed out 8 changesets (bug 1570549) for causing build bustages in sdp_unittests.cpp CLOSED TREE
Backed out changeset 0574444bda48 (bug 1570549)
Backed out changeset 19c2658031e2 (bug 1570549)
Backed out changeset 0817d4ca061d (bug 1570549)
Backed out changeset 629c2fec174c (bug 1570549)
Backed out changeset 3bfbbda57d4c (bug 1570549)
Backed out changeset ac4ef8625479 (bug 1570549)
Backed out changeset dc0e0e020273 (bug 1570549)
Backed out changeset 94df2bb99c20 (bug 1570549)

--HG--
rename : media/webrtc/signaling/src/sdp/SdpParser.h => media/webrtc/signaling/src/sdp/SdpErrorHolder.h
2019-11-23 04:45:55 +02:00
Nico Grunbaum
ecd11a5b59 Bug 1570549 - P8 - Restore SDP comparison telemetry;r=bwc
This moves the telemetry and preferences out into their own files and restores the parse result telemetery.

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

--HG--
extra : moz-landing-system : lando
2019-11-22 23:42:34 +00:00
Nico Grunbaum
4e0f17d1a0 Bug 1570549 - P6 - Use hybrid parser in JsepSessionImpl; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52328

--HG--
extra : moz-landing-system : lando
2019-11-22 23:42:28 +00:00
Nico Grunbaum
7d5e889eeb Bug 1570549 - P5 - Adding shim SDP parsing interface with pref controls - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52327

--HG--
extra : moz-landing-system : lando
2019-11-22 23:42:26 +00:00
Nico Grunbaum
e1a21a71f6 Bug 1570549 - P4 - Refactor parsing comparison entry point - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52326

--HG--
extra : moz-landing-system : lando
2019-11-22 23:41:27 +00:00
Nico Grunbaum
17a87d116f Bug 1570549 - P3 - Add SDP logger; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52325

--HG--
extra : moz-landing-system : lando
2019-11-22 23:41:19 +00:00
Nico Grunbaum
61c3c8a467 Bug 1570549 - P2 - refactor unit tests - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52324

--HG--
extra : moz-landing-system : lando
2019-11-22 23:41:12 +00:00
Nico Grunbaum
beefd85ad7 Bug 1570549 - P1 - refactor into common SDP parser interface - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52323

--HG--
rename : media/webrtc/signaling/src/sdp/SdpErrorHolder.h => media/webrtc/signaling/src/sdp/SdpParser.h
extra : moz-landing-system : lando
2019-11-22 23:41:05 +00:00
Sylvestre Ledru
d7bc96df97 Bug 1598019 - Do not compile some files in libekr r=drno
Also removed a duplicate declaration in the gyp file

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

--HG--
extra : moz-landing-system : lando
2019-11-21 18:40:54 +00:00
Jed Davis
4992ca410f Bug 1545504 - Strengthen bounds check in WebRTC PhysicalSocketServer. r=jesup
PhysicalSocketServer isn't currently used by Mozilla's WebRTC
integration, but just in case, let's make sure that this array index is
bounds-checked in actual use, not just in debug builds (which tend to
never see realistic test conditions).

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

--HG--
extra : moz-landing-system : lando
2019-11-17 03:40:50 +00:00
Landry Breuil
6cd8db12f6 Bug 1596546: disable sndio lazy loading on OpenBSD, and directly link with it r=kinetik
unveil() work in bug #1580271 broke sound playback

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

--HG--
extra : moz-landing-system : lando
2019-11-15 06:33:19 +00:00
Chun-Min Chang
b98337f5cd Bug 1589931 - P2: Update cubeb-audiounit-rs to 0920240. r=padenot
Pick commits:
0920240 - Always return null-terminated strings from current_device (#25)

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

--HG--
extra : moz-landing-system : lando
2019-11-14 21:00:16 +00:00
Nico Grunbaum
975181c5f0 Bug 1580156 - set WebRTC thread name r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D51975

--HG--
extra : moz-landing-system : lando
2019-11-07 20:22:42 +00:00
Sylvestre Ledru
c786684183 Bug 1562642 - add missing license in media/webrtc/signaling/src/sdp/ r=drno
Depends on D52582

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

--HG--
extra : moz-landing-system : lando
2019-11-11 21:42:41 +00:00
Dan Minor
1945617175 Bug 1592620 - Add whitelist for mDNS hostname obfuscation; r=bwc
This adds a whitelist of domains for which mDNS hostname obfuscation is
disabled. The implementation is an updated version of the old screensharing
whitelist code.

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

--HG--
extra : moz-landing-system : lando
2019-11-12 17:17:11 +00:00
Byron Campen [:bwc]
c5a5c754d7 Bug 1588588: Get MediaPipeline to use the new timestamp implementation, and fix a typo in how we calculate expiries for CSRC stats. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D50113

--HG--
extra : moz-landing-system : lando
2019-11-07 23:07:09 +00:00
Byron Campen [:bwc]
f5e5fe0d20 Bug 1588588: Remove jsimpl for RTCStatsReport, and refactor to prepare for moving some stats functionality to RTCRtpReceiver/Sender. r=smaug,ng
Differential Revision: https://phabricator.services.mozilla.com/D49195

--HG--
extra : moz-landing-system : lando
2019-11-07 23:07:05 +00:00
Byron Campen [:bwc]
0fc304bf59 Bug 1594109: Don't try to unfreeze pairs for obsolete streams. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D52379

--HG--
extra : moz-landing-system : lando
2019-11-11 16:13:09 +00:00
Brindusan Cristian
06dcacf2e7 Backed out changeset 0163a2b9ca5c (bug 1592620) for mochitest failures at test_dataChannel_hostnameObfuscationWhitelist.html. CLOSED TREE 2019-11-08 17:09:08 +02:00
Dan Minor
4438d45346 Bug 1592620 - Add whitelist for mDNS hostname obfuscation; r=bwc
This adds a whitelist of domains for which mDNS hostname obfuscation is
disabled. The implementation is an updated version of the old screensharing
whitelist code.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 20:59:29 +00:00
Chun-Min Chang
bb5b523cb0 Bug 1590151 - Update cubeb-coreaudio-rs to cd954ca. r=padenot
Pick commits:
cd954ca - Update dependencies (#22)
7043a0c - Make audiounit_get_devices_of_type infallible (#21)

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

--HG--
extra : moz-landing-system : lando
2019-11-07 16:41:44 +00:00
Dan Minor
8db9191ae9 Bug 1588817 - Only enable host obfuscation when running in content process; r=drno
The mDNS code makes use of the StunAddrsRequest which does not exist when
we are running with e10s disabled. If e10s is disabled, PeerConnectionMedia
will not be in the content process, and we can disable hostname obfuscation
in that case.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 18:04:31 +00:00
Andreas Pehrson
ad9fc60102 Bug 1588055 - Remove use of nsAutoPtr in MediaPipeline. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D49239

--HG--
extra : moz-landing-system : lando
2019-11-06 05:11:00 +00:00
Andreas Pehrson
28c99e5390 Bug 1588055 - Fix MediaPipeline static-analysis warnings and make RefPtr passing consistent. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D48957

--HG--
extra : moz-landing-system : lando
2019-11-06 05:11:02 +00:00
Andreas Pehrson
494c9c3aad Bug 1212237 - Use a content principal by default for received tracks. r=bwc
This swaps things around so that received tracks in peer connections have a
content principal instead of a null principal initially.

This puts an extra requirement on us to not output any frames under the content
principal after ALPN has been negotiated with requested privacy, but before this
private principal has been signaled to the MediaPipelines. The private principal
is signaled from the STS thread, via the main thread, whereas media is consumed
directly by MediaPipelines after being received on the STS thread.

This patch adds an extra signaling path directly from the STS thread that tells
MediaPipelines to make their PrincipalHandle private, and to ignore any data
until the private PrincipalHandle is set. It also moves the responsibility of
updating the principal of the received MediaStreamTracks from TransceiverImpl
to MediaPipeline, so it's all in the same path.

This lets all MediaStream and MediaStreamTrack APIs consume received tracks
directly after getting exposed to JS without errors. In case privacy is later
requested, consumers that have already been set up must handle this on the fly.
(They do, in specs and impls)

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

--HG--
extra : moz-landing-system : lando
2019-11-06 05:11:04 +00:00
Andreas Pehrson
8624ea2658 Bug 1212237 - s/nsIEventTarget/nsISerialEventTarget/ in media/webrtc. r=bwc
nsISerialEventTarget is more semantically accurate for these uses, as the
dispatched runnables cannot run in parallel. It also allows us to use
InvokeAsync in future patches, as that function only takes nsISerialEventTarget.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 05:10:58 +00:00
Andreas Pehrson
c39989d19a Bug 1212237 - Be explicit about principals for received tracks. r=bwc
This patch fixes two things:
1) A potential threading issue in setting and reading the PrincipalHandle for
   MediaPipelineReceiveVideo.
2) Plumbs the PrincipalHandle down to the receiving MediaPipelines right from
   the start. It hasn't been necessary in the past as initially the principal
   handed to a track's constructor is trusted, but it's good form and will help
   clarify the situation for the next patch which switches the initial
   principal from always-private to mostly-non-private. In most cases this
   principal does no longer get updated after the track's been created, so it
   helps to have a PrincipalHandle that matches the track's principal.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 05:11:06 +00:00
Brindusan Cristian
56bcd62c3a Backed out 7 changesets (bug 1212237, bug 1588055) for mochitest failures at test_peerConnection_recordReceiveTrack.html.
Backed out changeset 15f2829db807 (bug 1588055)
Backed out changeset bbff556beb57 (bug 1588055)
Backed out changeset c3f52449c92c (bug 1212237)
Backed out changeset c23272ab755f (bug 1212237)
Backed out changeset 184b8485ae32 (bug 1212237)
Backed out changeset e406c203d2a9 (bug 1212237)
Backed out changeset 4adcbfd99da0 (bug 1212237)
2019-11-06 07:06:02 +02:00
Andreas Pehrson
199b843bd7 Bug 1588055 - Remove use of nsAutoPtr in MediaPipeline. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D49239

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:59 +00:00
Andreas Pehrson
13a4cca896 Bug 1588055 - Fix MediaPipeline static-analysis warnings and make RefPtr passing consistent. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D48957

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:52 +00:00
Andreas Pehrson
18c4e9ab29 Bug 1212237 - Use a content principal by default for received tracks. r=bwc
This swaps things around so that received tracks in peer connections have a
content principal instead of a null principal initially.

This puts an extra requirement on us to not output any frames under the content
principal after ALPN has been negotiated with requested privacy, but before this
private principal has been signaled to the MediaPipelines. The private principal
is signaled from the STS thread, via the main thread, whereas media is consumed
directly by MediaPipelines after being received on the STS thread.

This patch adds an extra signaling path directly from the STS thread that tells
MediaPipelines to make their PrincipalHandle private, and to ignore any data
until the private PrincipalHandle is set. It also moves the responsibility of
updating the principal of the received MediaStreamTracks from TransceiverImpl
to MediaPipeline, so it's all in the same path.

This lets all MediaStream and MediaStreamTrack APIs consume received tracks
directly after getting exposed to JS without errors. In case privacy is later
requested, consumers that have already been set up must handle this on the fly.
(They do, in specs and impls)

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

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:45 +00:00
Andreas Pehrson
0b04e39974 Bug 1212237 - s/nsIEventTarget/nsISerialEventTarget/ in media/webrtc. r=bwc
nsISerialEventTarget is more semantically accurate for these uses, as the
dispatched runnables cannot run in parallel. It also allows us to use
InvokeAsync in future patches, as that function only takes nsISerialEventTarget.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:29 +00:00
Andreas Pehrson
b009f6cd63 Bug 1212237 - Be explicit about principals for received tracks. r=bwc
This patch fixes two things:
1) A potential threading issue in setting and reading the PrincipalHandle for
   MediaPipelineReceiveVideo.
2) Plumbs the PrincipalHandle down to the receiving MediaPipelines right from
   the start. It hasn't been necessary in the past as initially the principal
   handed to a track's constructor is trusted, but it's good form and will help
   clarify the situation for the next patch which switches the initial
   principal from always-private to mostly-non-private. In most cases this
   principal does no longer get updated after the track's been created, so it
   helps to have a PrincipalHandle that matches the track's principal.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:15 +00:00
Edwin Takahashi
9a7b0768dc Bug 1592855 - run mach vendor aom with python3 r=dminor
Changes:
- update sections of `generate_sources_mozbuild.py` and `cmakeparser.py` to be python3 compatible
- change import of `urlparse` to be python3 compatible

Depends on D51414

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

--HG--
extra : moz-landing-system : lando
2019-11-04 20:31:43 +00:00
Jan-Ivar Bruaroey
d60ad185ac Bug 1593161 - Fixed video capturing on Mac. (from upstream) r=pehrsons
On specific Macbooks (no exact pattern, unfortunately),
video from an integrated camera is not captured.
Changed AVCaptureVideoDataOutput pixel format configuration
as in Chromium which solved the problem.
https://chromium.googlesource.com/chromium/src/media/+/master/capture/video/mac/video_capture_device_avfoundation_mac.mm
FourCharCode best_fourcc = kCVPixelFormatType_422YpCbCr8;

Tested with external cameras as well.

Bug: webrtc:8958

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

--HG--
extra : moz-landing-system : lando
2019-11-05 08:07:48 +00:00
Matthew Gregan
be1d399b68 Bug 1592193 - Update libnestegg to b50521d4. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D51734

--HG--
extra : moz-landing-system : lando
2019-11-05 00:08:16 +00:00
Dzmitry Malyshau
2200211212 Bug 1592398 - Fix SSL name collisions with Apple Security libraries r=drno
Forces the order of includes before `sslproto.h`

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

--HG--
extra : moz-landing-system : lando
2019-11-04 22:23:46 +00:00
Byron Campen [:bwc]
fa9fb525b5 Bug 1470568: Remove the rid= and pt= stuff from our simulcast parsing. Also, handle paused rids correctly. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D47658

--HG--
extra : moz-landing-system : lando
2019-11-04 15:04:14 +00:00
Chun-Min Chang
7f26e8dfa4 Bug 1591249 - Bump coreaudio-sys to 0.2.3. r=glandium
The current coreaudio-sys in gecko is a custom 0.2.2 version that used
to avoid the cross-compiling issue mentioned in bug 1569003. The issue
has been fixed in the coreaudio-sys 0.2.3, so we should follow the
upstream instead of using a custom version. As a result, the
coreaudio-sys would generate API bindings based on the MacOS SDK defined
in the build settings.

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

--HG--
extra : moz-landing-system : lando
2019-10-31 20:14:00 +00:00
Nils Ohlmeier [:drno]
7483f82422 Bug 1591854: properly count active track in CountTracks(). r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D50774

--HG--
extra : moz-landing-system : lando
2019-10-31 19:36:00 +00:00
Dan Minor
e032a7e2a3 Bug 1372950 - Enable mediapipeline_unittest on Windows; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D51283

--HG--
extra : moz-landing-system : lando
2019-10-31 15:25:15 +00:00
Dan Minor
3b09f09a9d Bug 1420893 - Remove mediaconduit_unittests; r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D50971

--HG--
extra : moz-landing-system : lando
2019-10-30 11:31:23 +00:00
Dan Minor
1f3dd67cb9 Bug 1543622 - Make number of channels out param of GetAudioFrame; r=pehrsons
The number of channels is available in mAudioFrame in GetAudioFrame so
there is no reason to calculate it after the fact in MediaPipeline.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 17:30:03 +00:00
Gabriele Svelto
550a8ee421 Bug 1590984 - Use poll() instead of select() in WebRTC code r=drno
The use of select() was leading to crashes when the file descriptor value was
larger than FD_SETSIZE. Recent versions of glibc have checks in the FD_CLR(),
FD_SET() and FD_ISSET() macros that will abort() the program instead of doing
an out-of-bounds access. poll() doesn't have limitations on the file
descriptor values and provides behavior that is otherwise identical to
select() thus solving the problem.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 23:26:12 +00:00
Arthur Iakab
acebcd6ca5 Backed out 2 changesets (bug 1590249) for causing a spike in webgl crashes. CLOSED TREE
Backed out changeset fee677cef072 (bug 1590249)
Backed out changeset a132b59ed504 (bug 1590249)
2019-10-29 03:04:11 +02:00
Chun-Min Chang
97ec12425c Bug 1590890 - Disable bindgen when building coreaudio-sys. r=glandium
Revert the coreaudio-sys dependency changed in bug 1589514, which causes
a trouble when compiling with sccache

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

--HG--
extra : moz-landing-system : lando
2019-10-28 22:04:16 +00:00
Matthew Gregan
25d20e8373 Bug 1590249 - Fix media/audioipc/update.sh when run on Windows. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D50005

--HG--
extra : moz-landing-system : lando
2019-10-22 13:58:33 +00:00
Dan Minor
a7d0a8983c Bug 1380786 - Remove ICE candidate telemetry; r=bwc
This ICE candidate telemetry has not been used in a long time and in
addition requires special handling by the telemetry code. It is best
removed.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 20:24:15 +00:00
Nico Grunbaum
571742b7bd Bug 1583867 - add rtpTimestamp field to RTP sync/contrib sources; r=jib,smaug
Differential Revision: https://phabricator.services.mozilla.com/D47096

--HG--
extra : moz-landing-system : lando
2019-10-23 15:12:15 +00:00
Dan Minor
8f20970320 Bug 1588123 - Update libdav1d to head; r=TD-Linux
This updates libdav1d to commit 5595102721d3c298d7cee64e64878486a3b8bdad.

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

--HG--
rename : third_party/dav1d/snap/snapcraft.yaml => third_party/dav1d/package/snap/snapcraft.yaml
extra : moz-landing-system : lando
2019-10-24 18:58:15 +00:00
Paul Adenot
12cabe50dd Bug 1590652 - Temporarily revert to using IAudioClient on Windows 10. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D50242

--HG--
extra : moz-landing-system : lando
2019-10-23 21:19:36 +00:00
Chun-Min Chang
d7aacc3bc4 Bug 1589514 - P2: Update cubeb-coreaudio-rs to 92e2e11. r=padenot
Depends on D50002

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

--HG--
extra : moz-landing-system : lando
2019-10-22 11:46:55 +00:00
Chun-Min Chang
d8668b05bc Bug 1589514 - P1: Update script importing cubeb-coreaudio-rs. r=padenot
Pick commits:
92e2e11 - minor style fix
5163960 - Update authors
fdb0b1d - Make utf8_from_cfstringref work with empty CFStringRef (#20)
a39bf5f - Remove a fixed issue

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

--HG--
extra : moz-landing-system : lando
2019-10-22 11:46:32 +00:00
Bogdan Tara
5109dc7399 Backed out changeset c3295fe9b509 (bug 1588123) for bustages complaining about rules.mk & recurse.mk CLOSED TREE
--HG--
rename : third_party/dav1d/package/snap/snapcraft.yaml => third_party/dav1d/snap/snapcraft.yaml
2019-10-22 18:28:27 +03:00
Dan Minor
1f9f60bf3d Bug 1588123 - Update libdavid to 0.5 + one commit; r=TD-Linux
Differential Revision: https://phabricator.services.mozilla.com/D49897

--HG--
rename : third_party/dav1d/snap/snapcraft.yaml => third_party/dav1d/package/snap/snapcraft.yaml
extra : moz-landing-system : lando
2019-10-21 13:47:25 +00:00
Matthew Gregan
9638ad722c Bug 1590246 - Update audioipc to 8af8083a. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D50000

--HG--
extra : moz-landing-system : lando
2019-10-22 01:31:31 +00:00
Mihai Alexandru Michis
922400506b Backed out 2 changesets (bug 1590246) for causing windows bustages on audioipc-client. CLOSED TREE
Backed out changeset 586eef699017 (bug 1590246)
Backed out changeset 37e879bff967 (bug 1590246)
2019-10-22 03:59:01 +03:00
Matthew Gregan
dc5bf91654 Bug 1590246 - Update audioipc to 8f2a9e0a. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D50000

--HG--
extra : moz-landing-system : lando
2019-10-22 00:01:07 +00:00
Dan Minor
188c0c2c70 Bug 1587164 - Avoid left shift of negative value in TimestampWrapAroundHandler; r=bwc
The code for handling backwards wraps left shifts num_wrap_ - 1. If
num_wrap_ is zero, this results in a left shift of a negative value which
is undefined behaviour. This modifies the code to avoid the shift at the cost
of an extra multiplication.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 13:48:21 +00:00
Jeff Gilbert
6c3e1d29c0 Bug 1586423 - Revert bug 1470568 for breaking Google Meet, etc. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D49364

--HG--
extra : moz-landing-system : lando
2019-10-16 16:40:19 +00:00
Nils Ohlmeier [:drno]
661ecac0a9 Bug 1588346: removed webrtc sdk directory. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D49077

--HG--
extra : moz-landing-system : lando
2019-10-15 11:35:55 +00:00
Dan Minor
a964c79cd0 Bug 1517369 - Check for invalid rtp extension ids; r=bwc
This adds checks for invalid and duplicated rtp extension ids to
JsepSessionImpl. Since the version of webrtc.org we're using does not support
two byte extension ids, ids must be between 1 and 14 inclusive. Duplicated
extension ids are also disallowed by RFC 8285. Passing an invalid extension id
into the webrtc.org code will trigger a release assertion and a browser crash.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 15:26:01 +00:00
Dan Minor
dba62d5da9 Bug 1583967 - Fix pointer overflow errors in webrtc signal processing; r=ng
These have already been fixed upstream. The upstream comment was: "Negative
overflow is permitted here, because this is auto-regressive filters, and the
state for each batch run is stored in the "negative" positions of the output
vector."

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

--HG--
extra : moz-landing-system : lando
2019-10-14 18:17:40 +00:00
Jan Beich
d354b5e3a2 Bug 1588669 - Allow ALSA/SNDIO lazy bindings after 81926b0c0d8c. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D49258

--HG--
extra : moz-landing-system : lando
2019-10-15 09:33:33 +00:00
Paul Adenot
c9cbd16860 Bug 1575883 - Update cubeb-pulse-rs to f9eb50b8. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D47281

--HG--
extra : moz-landing-system : lando
2019-10-11 16:00:41 +00:00
Paul Adenot
27ec83b3f0 Bug 1575883 - Update audioipc to b82970f. r=kinetik
This includes https://github.com/djg/audioipc-2/pull/75, is and from by fork, to
test. To be replaced with upstream when landing.

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

--HG--
extra : moz-landing-system : lando
2019-10-11 16:00:41 +00:00
Paul Adenot
1f614d2cd1 Bug 1575883 - Update cubeb-coreaudio-rs to fd242ea. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D47278

--HG--
extra : moz-landing-system : lando
2019-10-11 15:44:18 +00:00
Paul Adenot
8088048155 Bug 1575883 - Update cubeb to a1200c34. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D47277

--HG--
extra : moz-landing-system : lando
2019-10-11 16:05:55 +00:00
Paul Adenot
6571cd8b7b Bug 1575883 - Remove cubeb_panner.{cpp,h} from the cubeb update script. r=kinetik
Those files have been removed upstream.

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

--HG--
extra : moz-landing-system : lando
2019-10-11 15:50:18 +00:00
Paul Adenot
e489af208a Bug 1575883 - Backed out changeset 86f456156bd0. r=kinetik
Going over the RT budget is now handled by demoting the thread instead of
crashing.

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

--HG--
extra : moz-landing-system : lando
2019-10-11 15:50:18 +00:00
Nils Ohlmeier [:drno]
c17df5dd68 Bug 1583317: added prefs to set DTLS min/max versions in PeerConnections. r=mt
Differential Revision: https://phabricator.services.mozilla.com/D46835

--HG--
extra : moz-landing-system : lando
2019-10-11 20:00:41 +00:00
Sylvestre Ledru
ed331805ac Bug 1587905 - Remove useless variable 'r' declaration & assignation r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D48890

--HG--
extra : moz-landing-system : lando
2019-10-11 07:32:47 +00:00
Tom Ritter
6e3753f7eb Bug 1585359 - Remove mingw-gcc configuration stuff from libaom r=jya
mingw-gcc is no longer supported.

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

--HG--
extra : moz-landing-system : lando
2019-10-10 18:30:56 +00:00
Tom Ritter
f388fabece Bug 1585358 - Remove mingw-gcc configuration stuf from libvpx r=jya
mingw-gcc is no longer supported.

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

--HG--
extra : moz-landing-system : lando
2019-10-10 18:30:56 +00:00
Dan Minor
cb833e8387 Bug 1587159 - Fix undefined shift in g722_encode.c; r=ng
Left shifting a negative value results in undefined behaviour. It is safer to
multiply in this case.

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

--HG--
extra : moz-landing-system : lando
2019-10-09 20:12:28 +00:00
Christian Holler
9d0310b514 Bug 1580320 - Check return value of PeerConnectionImpl::GetFingerprint. r=drno
Differential Revision: https://phabricator.services.mozilla.com/D48509

--HG--
extra : moz-landing-system : lando
2019-10-08 17:52:27 +00:00
Andreas Schuler
9cde4e3ef1 Bug 1585009: Support playout-delay RTP header extension r=bwc
Added playout-delay RTP header extension for video to JsepSessionImpl::SetupDefaultRtpExtensions.
This ensures that this extension will be preserved when generating an answer to an offer (by a sending peer) containing it.
Also updated JsepSessionTest to include a test verifying that the expected default audio and video extensions are set.

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

--HG--
extra : moz-landing-system : lando
2019-10-08 12:49:52 +00:00
Dan Minor
ad61673439 Bug 1564902 - Checked paused_ prior to calling SendPacket; r=bwc
There is a window inside of SendPacket where the critical section is released
which means that other code could set paused_. This would lead to us hitting
the assertion at the top of SendPacket. Checking paused_ in the while loop
will avoid this. Upstream has fixed this problem in a similar way, but the
code has changed there enough that it doesn't make sense to try to bring in
their fix directly.

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

--HG--
extra : moz-landing-system : lando
2019-10-08 15:42:58 +00:00
John Lin
2341df44ac Bug 1581902 - p6: introduce a pref to enable/disable H.264 for WebRTC. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D46368

--HG--
extra : moz-landing-system : lando
2019-10-08 17:16:01 +00:00
John Lin
8f1bf15aa3 Bug 1581902 - p5: check H.264 hardware availability. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D46367

--HG--
extra : moz-landing-system : lando
2019-10-08 17:15:52 +00:00
John Lin
3ab45bc445 Bug 1581902 - p1: use MediaDataEncoder on Android. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D46366

--HG--
extra : moz-landing-system : lando
2019-10-08 17:15:15 +00:00
Daniel Varga
27d99ab2df Backed out 6 changesets (bug 1581902) for xpcshell failure at xpcshell/rs-blocklist/test_gfxBlacklist_Equal_DriverNew.js. On a CLOSED TREE
Backed out changeset c900fdf28f82 (bug 1581902)
Backed out changeset 92c9ea70040d (bug 1581902)
Backed out changeset 1f588b5bf019 (bug 1581902)
Backed out changeset f837f2c5224f (bug 1581902)
Backed out changeset 44e248976099 (bug 1581902)
Backed out changeset c7dfff053f71 (bug 1581902)
2019-10-07 23:07:36 +03:00
John Lin
47c168e1bc Bug 1581902 - p6: introduce a pref to enable/disable H.264 for WebRTC. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D46368

--HG--
extra : moz-landing-system : lando
2019-10-01 16:54:50 +00:00
John Lin
854d85bd05 Bug 1581902 - p5: check H.264 hardware availability. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D46367

--HG--
extra : moz-landing-system : lando
2019-10-01 16:54:41 +00:00
John Lin
a93536ca9d Bug 1581902 - p1: use MediaDataEncoder on Android. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D46366

--HG--
extra : moz-landing-system : lando
2019-10-01 16:53:59 +00:00
Dan Minor
5ca5bdf957 Bug 1559011 - Try using PW_RENDERFULLCONTENT for Windows window capture; r=pehrsons
This is a partial cherrypick of https://webrtc.googlesource.com/src/+/f89110d67902e787f6745ad2b52f7f09fc808512.
The cropping changes in that revision are problematic on our version of webrtc.org and
result in distorted video, which looks as though there is a stride problem. This takes
the change to try to use PW_RENDERFULLCONTENT and to fall back to the current code if
that fails. This fixes capturing Chrome windows and allows Firefox to properly capture
its own window.

Using PW_RENDERFULLCONTENT can adversely affect performance. Using the
CroppingWindowCapturer can avoid using the WindowCapturer in some circumstances and so
result in better performance. Bug 1586071 tracks switching to the
CroppingWindowCapturer.

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

--HG--
extra : moz-landing-system : lando
2019-10-03 19:47:07 +00:00
Byron Campen [:bwc]
9067a09c0a Bug 1470568: Remove the rid= and pt= stuff from our simulcast parsing. Also, handle paused rids correctly. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D47658

--HG--
extra : moz-landing-system : lando
2019-10-02 20:20:07 +00:00
Dorel Luca
46491fb5f0 Backed out changeset 62b78793d12e (bug 1583867) for WPT failures in webrtc/RTCRtpReceiver-getSynchronizationSources.https.html 2019-10-03 02:43:28 +03:00
Nico Grunbaum
6722b1c2c1 Bug 1583867 - add rtpTimestamp field to RTP sync/contrib sources; r=jib,smaug
Differential Revision: https://phabricator.services.mozilla.com/D47096

--HG--
extra : moz-landing-system : lando
2019-10-02 21:55:33 +00:00
Byron Campen [:bwc]
972f1535a0 Bug 1582190: Close DataChannelConnection when datachannel negotiation fails for some reason. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D46357

--HG--
extra : moz-landing-system : lando
2019-09-26 15:35:42 +00:00
Byron Campen [:bwc]
e5f31d7bfb Bug 1582190: Get transport-related parameters for datachannel from the bundle-tag, if bundle is being used. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46356

--HG--
extra : moz-landing-system : lando
2019-09-26 15:35:22 +00:00
Byron Campen [:bwc]
58744662ec Bug 1581898: Move telephone-event to the back of the codec list, because webrtc.org crashes if we don't. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46830

--HG--
extra : moz-landing-system : lando
2019-10-02 07:50:16 +00:00
Andreas Pehrson
1bdb34c6ec Bug 1454998 - Rename streams to tracks. r=padenot,karlt,smaug
This renames the following (in alphabetical order, non-exhaustive):

AudioCaptureStream -> AudioCaptureTrack
AudioNodeStream -> AudioNodeTrack
AudioNodeExternalInputStream -> AudioNodeExternalInputTrack
DirectMediaStreamTrackListener -> DirectMediaTrackListener
MediaStream -> MediaTrack
  - Note that there's also dom::MediaTrack. Namespaces differentiate them.
MediaStreamGraph -> MediaTrackGraph
MediaStreamTrackListener -> MediaTrackListener
MSG -> MTG (in comments)
ProcessedMediaStream -> ProcessedMediaTrack
SharedDummyStream -> SharedDummyTrack
SourceMediaStream -> SourceMediaTrack
StreamTime -> TrackTime
TrackUnionStream -> ForwardedInputTrack
  - Because this no longer takes a union of anything, but only a single track
    as input.

Other minor classes, members and comments have been updated to reflect these
name changes.

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

--HG--
rename : dom/media/AudioCaptureStream.cpp => dom/media/AudioCaptureTrack.cpp
rename : dom/media/AudioCaptureStream.h => dom/media/AudioCaptureTrack.h
rename : dom/media/TrackUnionStream.cpp => dom/media/ForwardedInputTrack.cpp
rename : dom/media/TrackUnionStream.h => dom/media/ForwardedInputTrack.h
rename : dom/media/MediaStreamGraph.cpp => dom/media/MediaTrackGraph.cpp
rename : dom/media/MediaStreamGraph.h => dom/media/MediaTrackGraph.h
rename : dom/media/MediaStreamGraphImpl.h => dom/media/MediaTrackGraphImpl.h
rename : dom/media/MediaStreamListener.cpp => dom/media/MediaTrackListener.cpp
rename : dom/media/MediaStreamListener.h => dom/media/MediaTrackListener.h
rename : dom/media/webaudio/AudioNodeExternalInputStream.cpp => dom/media/webaudio/AudioNodeExternalInputTrack.cpp
rename : dom/media/webaudio/AudioNodeExternalInputStream.h => dom/media/webaudio/AudioNodeExternalInputTrack.h
rename : dom/media/webaudio/AudioNodeStream.cpp => dom/media/webaudio/AudioNodeTrack.cpp
rename : dom/media/webaudio/AudioNodeStream.h => dom/media/webaudio/AudioNodeTrack.h
extra : moz-landing-system : lando
2019-10-02 10:23:02 +00:00
Andreas Pehrson
8028758d0e Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt
This change mainly removes the `mTracks` member from MediaStream and moves all
associated members up a level, so that a MediaStream in practice represents a
single track.

Classes will be renamed in a future patch to reflect this.

Other changes include:

The new `mEnded` member of MediaStream changes meaning to only become true when
all data in the stream has been processed. It stems from
StreamTracks::Track::mEnded which used to become true as soon as the last bit of
data had been added to a track, and there could still be data in the track that
would get processed in future iterations. We are moving towards not having any
future data in tracks, which is why this change is ok to make -- keeping the old
behavior will soon not make sense.

TrackUnionStream is changed to no longer take a list of streams as input and
forward the union of their tracks to itself. Instead it's limited to having one
track as input at a time.

The autofinishing functionality that TrackUnionStream had before has been
transformed into an autoending functionality to allow it to defer ending until
its been told that it's ok to end through the control API. This lets a single
TrackUnionStream span the lifetime of multiple inputs, which will be useful for
making DecodedStream spec compliant with HTMLMediaElement::CaptureStream(), and
for implementing the currently discussed MediaRecorder::ReplaceTrack(), to name
a few potential use cases.

AudioNodeStreams used to only have a track (and thus an AudioSegment) if the
EXTERNAL_OUTPUT flag was enabled on them. With all MediaStreams now representing
a track, AudioNodeStreams inherently have an AudioSegment as a member. It is
however only used with data if the EXTERNAL_OUTPUT flag is enabled.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 10:22:53 +00:00
Gurzau Raul
40dae37e00 Backed out 7 changesets (bug 1454998) for build bustages at MediaTrackGraph.h on a CLOSED TREE.
Backed out changeset 80417bdfa721 (bug 1454998)
Backed out changeset 8ff03f2f4ca2 (bug 1454998)
Backed out changeset ae6056b748d1 (bug 1454998)
Backed out changeset ab721cb2066b (bug 1454998)
Backed out changeset d0e8d413cd1c (bug 1454998)
Backed out changeset 3ce4dc7e9ae2 (bug 1454998)
Backed out changeset 6105a4176729 (bug 1454998)

--HG--
rename : dom/media/AudioCaptureTrack.cpp => dom/media/AudioCaptureStream.cpp
rename : dom/media/AudioCaptureTrack.h => dom/media/AudioCaptureStream.h
rename : dom/media/MediaTrackGraph.cpp => dom/media/MediaStreamGraph.cpp
rename : dom/media/MediaTrackGraph.h => dom/media/MediaStreamGraph.h
rename : dom/media/MediaTrackGraphImpl.h => dom/media/MediaStreamGraphImpl.h
rename : dom/media/MediaTrackListener.cpp => dom/media/MediaStreamListener.cpp
rename : dom/media/MediaTrackListener.h => dom/media/MediaStreamListener.h
rename : dom/media/ForwardedInputTrack.cpp => dom/media/TrackUnionStream.cpp
rename : dom/media/ForwardedInputTrack.h => dom/media/TrackUnionStream.h
rename : dom/media/webaudio/AudioNodeExternalInputTrack.cpp => dom/media/webaudio/AudioNodeExternalInputStream.cpp
rename : dom/media/webaudio/AudioNodeExternalInputTrack.h => dom/media/webaudio/AudioNodeExternalInputStream.h
rename : dom/media/webaudio/AudioNodeTrack.cpp => dom/media/webaudio/AudioNodeStream.cpp
rename : dom/media/webaudio/AudioNodeTrack.h => dom/media/webaudio/AudioNodeStream.h
2019-10-02 11:46:23 +03:00
Andreas Pehrson
36d89d91c8 Bug 1454998 - Rename streams to tracks. r=padenot,karlt,smaug
This renames the following (in alphabetical order, non-exhaustive):

AudioCaptureStream -> AudioCaptureTrack
AudioNodeStream -> AudioNodeTrack
AudioNodeExternalInputStream -> AudioNodeExternalInputTrack
DirectMediaStreamTrackListener -> DirectMediaTrackListener
MediaStream -> MediaTrack
  - Note that there's also dom::MediaTrack. Namespaces differentiate them.
MediaStreamGraph -> MediaTrackGraph
MediaStreamTrackListener -> MediaTrackListener
MSG -> MTG (in comments)
ProcessedMediaStream -> ProcessedMediaTrack
SharedDummyStream -> SharedDummyTrack
SourceMediaStream -> SourceMediaTrack
StreamTime -> TrackTime
TrackUnionStream -> ForwardedInputTrack
  - Because this no longer takes a union of anything, but only a single track
    as input.

Other minor classes, members and comments have been updated to reflect these
name changes.

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

--HG--
rename : dom/media/AudioCaptureStream.cpp => dom/media/AudioCaptureTrack.cpp
rename : dom/media/AudioCaptureStream.h => dom/media/AudioCaptureTrack.h
rename : dom/media/TrackUnionStream.cpp => dom/media/ForwardedInputTrack.cpp
rename : dom/media/TrackUnionStream.h => dom/media/ForwardedInputTrack.h
rename : dom/media/MediaStreamGraph.cpp => dom/media/MediaTrackGraph.cpp
rename : dom/media/MediaStreamGraph.h => dom/media/MediaTrackGraph.h
rename : dom/media/MediaStreamGraphImpl.h => dom/media/MediaTrackGraphImpl.h
rename : dom/media/MediaStreamListener.cpp => dom/media/MediaTrackListener.cpp
rename : dom/media/MediaStreamListener.h => dom/media/MediaTrackListener.h
rename : dom/media/webaudio/AudioNodeExternalInputStream.cpp => dom/media/webaudio/AudioNodeExternalInputTrack.cpp
rename : dom/media/webaudio/AudioNodeExternalInputStream.h => dom/media/webaudio/AudioNodeExternalInputTrack.h
rename : dom/media/webaudio/AudioNodeStream.cpp => dom/media/webaudio/AudioNodeTrack.cpp
rename : dom/media/webaudio/AudioNodeStream.h => dom/media/webaudio/AudioNodeTrack.h
extra : moz-landing-system : lando
2019-10-02 08:18:16 +00:00
Andreas Pehrson
1bc37d8ea4 Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt
This change mainly removes the `mTracks` member from MediaStream and moves all
associated members up a level, so that a MediaStream in practice represents a
single track.

Classes will be renamed in a future patch to reflect this.

Other changes include:

The new `mEnded` member of MediaStream changes meaning to only become true when
all data in the stream has been processed. It stems from
StreamTracks::Track::mEnded which used to become true as soon as the last bit of
data had been added to a track, and there could still be data in the track that
would get processed in future iterations. We are moving towards not having any
future data in tracks, which is why this change is ok to make -- keeping the old
behavior will soon not make sense.

TrackUnionStream is changed to no longer take a list of streams as input and
forward the union of their tracks to itself. Instead it's limited to having one
track as input at a time.

The autofinishing functionality that TrackUnionStream had before has been
transformed into an autoending functionality to allow it to defer ending until
its been told that it's ok to end through the control API. This lets a single
TrackUnionStream span the lifetime of multiple inputs, which will be useful for
making DecodedStream spec compliant with HTMLMediaElement::CaptureStream(), and
for implementing the currently discussed MediaRecorder::ReplaceTrack(), to name
a few potential use cases.

AudioNodeStreams used to only have a track (and thus an AudioSegment) if the
EXTERNAL_OUTPUT flag was enabled on them. With all MediaStreams now representing
a track, AudioNodeStreams inherently have an AudioSegment as a member. It is
however only used with data if the EXTERNAL_OUTPUT flag is enabled.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 08:17:51 +00:00
Dan Minor
2e0c0c08a2 Bug 1571015 - Improve WebRTC Call Duration Telemetry; r=drno,ng
This adds a reference counted implementation of Telemetry::AutoTimer for use
in timing WebRTC calls. The telemetry is recorded when the reference count goes
from one to zero. This allows capturing the total call duration, rather than
the duration of individual PeerConnections. The timers are stored in a
HashTable, indexed by the Document URI, allowing for call durations to be
calculated individually for separate pages.

This reuses the existing WEBRTC_CALL_DURATION telemetry key. This means we
won't be able to compare telemetry from versions of Firefox with this change
to versions of Firefox without this change. The reason for making this change
is that the telemetry is not very useful in its current form, so I think it
makes sense to do this rather than adding a new key.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 19:45:02 +00:00