All changes in these files are a result of code formatting being applied.
When these files were under webrtc, they were treated as third party code and
not formatting. By moving them, formatting is now applied.
Differential Revision: https://phabricator.services.mozilla.com/D80544
Before P1, GetCurrentThreadSerialEventTarget would have always returned the same data as NS_GetCurrentThread, making the comment incorrect Now it will properly return the running TaskQueue if any.
This change of name more clearly exposes what they are doing, as we aren't always dealing with threads directly; but a nsISerialEventTarget
Differential Revision: https://phabricator.services.mozilla.com/D80354
Chrome will not accept sdp with ssrc-group:FID on recvonly msections, causing
calls to fail to be established between Firefox and Chrome when only a
microphone is present on the Firefox side.
Differential Revision: https://phabricator.services.mozilla.com/D80034
Chrome will not accept sdp with ssrc-group:FID on recvonly msections, causing
calls to fail to be established between Firefox and Chrome when only a
microphone is present on the Firefox side.
Differential Revision: https://phabricator.services.mozilla.com/D80034
With RTX enabled, we have multiple SSRCs associated with a single MID, but the
filter code assumes that only one binding will be present. This change allows
a set of SSRCs to be associated with a MID.
Differential Revision: https://phabricator.services.mozilla.com/D76894
Note that transportId is not implemented and is not a stat but a key back into
the stats report. It identifies the related transport stats object. We don't
have transport stats, so this can not be implemented at the moment.
Differential Revision: https://phabricator.services.mozilla.com/D57116
Since this passes IsConsistent() and data_ is null, capacity_ must be zero,
which implies size_ is zero, and so we attempt to copy zero bytes from a null
pointer. This doesn't seem to crash, but is still undefined behaviour.
Differential Revision: https://phabricator.services.mozilla.com/D76913
The side effect of not filtering on V4L2_CAP_VIDEO_CAPTURE is that every device
is enumerated twice. Because we look up devices by name, and the device that
supports V4L2_CAP_VIDEO_CAPTURE seems to always appear first in /dev/video,
this does not seem to end up with us ever choosing an inappropriate device. We
might get away with just filtering device names from the list, but if the order
of devices ever changed in /dev/video there could be problems.
Differential Revision: https://phabricator.services.mozilla.com/D75593
In this bug we're moving away from monolithic JNI headers to class-specific
headers so that we don't have to rebuild the world every time we make a change
to a JNI interface.
Differential Revision: https://phabricator.services.mozilla.com/D75376
The current code will only set the TranmissionOffset extension if
capture_time_ms is > 0, but when adjusting timestamps for rtx packets, it is
adjusted without first checking to see if it is valid, which will cause invalid
values of capture_time_ms to be written to TranmissionOffset, leading to assertion
failures.
This bug is still present on tip of libwebrtc, so we'll also need to prepare a
patch for upstream.
Depends on D74842
Differential Revision: https://phabricator.services.mozilla.com/D75528
This imports a few fixes from tip of libwebrtc, which now supports mid, rid
and rrid. The rtx packet is now allocated as max_packet_size_, which is
necessary to have enough capacity for the rrid. It takes the
CopyHeaderAndExtensionsToRtxPacket function from upstream, which omits
copying extensions that should not be copied over, such as rid. It is necessary
to make AllocateExtension and FindExtension public in order for this
function to work.
It then copies the rid from the source packet over to rrid in the rtx packet.
Upstream has code for this as well, but taking it would require more
extensive changes to our copy of libwebrtc. We can drop these local
modifications with the next update.
Differential Revision: https://phabricator.services.mozilla.com/D74840
In order for the SendSideCongestionController to work properly, it needs the
timestamp at which the packets were sent. This is set by calling
Call::OnSentPacket when a packet is sent. Without the sent timestamp, it drops
the estimated available bandwidth so low that only one simulcast stream will
be allocated any bandwidth.
Differential Revision: https://phabricator.services.mozilla.com/D75310
This imports a few fixes from tip of libwebrtc, which now supports mid, rid
and rrid. The rtx packet is now allocated as max_packet_size_, which is
necessary to have enough capacity for the rrid. It takes the
CopyHeaderAndExtensionsToRtxPacket function from upstream, which omits
copying extensions that should not be copied over, such as rid. It is necessary
to make AllocateExtension and FindExtension public in order for this
function to work.
It then copies the rid from the source packet over to rrid in the rtx packet.
Upstream has code for this as well, but taking it would require more
extensive changes to our copy of libwebrtc. We can drop these local
modifications with the next update.
Depends on D74839
Differential Revision: https://phabricator.services.mozilla.com/D74840