Commit Graph

2416 Commits

Author SHA1 Message Date
Nils Ohlmeier [:drno]
44e91b37c9 Bug 1392813: removed unused sendrecv attributes. r=bwc
MozReview-Commit-ID: 4T3taLcYXtq

--HG--
extra : rebase_source : bce648963cfeb437d9c3f015b0fe33889628212a
2017-08-22 15:27:08 -07:00
Nils Ohlmeier [:drno]
776005a2ec Bug 1392745: verify mid presence in inactive m-section r=mjf
MozReview-Commit-ID: 7XISDzZCirr

--HG--
extra : rebase_source : a786be541a31edac05647fe2ee4d0c63c982d3d0
2017-08-22 14:22:52 -07:00
Nils Ohlmeier [:drno]
240ea1983a Bug 1392745: keep MID when disabling m-sections r=mjf
MozReview-Commit-ID: 3CDA7lF70kr

--HG--
extra : rebase_source : 6d1a663acfde0a48cbb8fa0c51899a886b24b41a
2017-08-22 12:05:22 -07:00
Michael Froman
5d1597b31f Bug 1391857 - fixing ctx flags for e10s stun addr gathering. r=drno
In the case of e10s, the ctx flags for default route only (and less
importantly in this case, proxy only) were not set on the ice ctx
when SetStunAddrs was called in PeerConnectionMedia.

MozReview-Commit-ID: CldUpJfaaH3

--HG--
extra : rebase_source : 6223722275d4741519890d4d2b8436b05ca43155
2017-08-22 10:13:06 -05:00
Mike Hommey
f7fa48a68d Bug 1392515 - Properly link webrtc-gtest on Linux. r=gps
The main difference between Linux and other platforms is that mozglue is
a static library and doesn't include the allocator, while it is a
dynamic library and includes the allocator on other platforms.

As such, linking against mozglue alone doesn't guarantee everything that
should be linked is linked, which GeckoProgram() does. But since
webrtc-gtest doesn't want to link libxul, we use linkage=None.

--HG--
extra : rebase_source : 552b123cb4ef6a861a49bc5eea0f03b9b5427e8b
2017-08-22 14:51:44 +09:00
Wes Kocher
6dd42e2664 Merge inbound to central, a=merge
MozReview-Commit-ID: BMWuqvmTljV
2017-08-22 17:07:23 -07:00
Dan Minor
b779bb7db1 Bug 1392583 - Remove calls to FATAL() from audio_device_template.h for unimplemented functions; r=padenot
This removes calls to FATAL() and replaces them with LOG() statements. The
unimplemented functions already returned error codes.

MozReview-Commit-ID: KgXVCIKWoLp

--HG--
extra : rebase_source : 993d3700e734fd6042fc5708261dc58d9987e64b
2017-08-22 09:58:03 -04:00
Dan Minor
0c9287d1b6 Bug 1388129 - Fix interaction between quality scaler and scaleResolutionDownBy; r=jesup
Currently we apply the scaleResolutionDownBy factor to the resolution
requested by the quality scaler. This can lead to a cycle where the quality
scaler requests a slightly larger resolution and we scale it down even
smaller than the current resolution.

This changes things so that we only apply scaleResolutionDownBy to the
incoming resolution and then take the minimum of the scaled resolution and
the resolution requested by the quality scaler.

--HG--
extra : rebase_source : 1d16ed60b575c48d43e2e1928c518bc197339cbc
2017-08-18 12:11:50 -04:00
Wes Kocher
c043502159 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 7sFZmPUXSx6
2017-08-18 17:21:29 -07:00
Wes Kocher
b1fc5e008c Merge inbound to central, a=merge
MozReview-Commit-ID: 4cWGBbMEU2x
2017-08-18 15:53:07 -07:00
Eric Rahm
50513900c7 Bug 1389598 - Part 2: Remove gonk references from media/ r=jesup
--HG--
extra : rebase_source : d1af2d0987038e1c0b0b0c971d0d2e4e9f08364a
2017-08-11 17:46:15 -07:00
Michael Froman
cb5753f469 Bug 1390318 - add MID support to webrtc.org. r=drno
MozReview-Commit-ID: EHgEuhw855n

--HG--
extra : rebase_source : 8d575753a628b18472c3acd13ca88f5aa63c16b1
2017-07-27 16:19:56 -05:00
Dan Minor
9f34033ad7 Bug 1387525 - Fix crash in webrtc::NetEqImpl::InsertPacketInternal; r=jesup
The webrtc.org code assumes we will always get a valid decoder for a known payload
type, but this is not true for our builds. This adds a check that we have a valid
decoder before calling IncomingPacket.

MozReview-Commit-ID: GUJR7Qn28vh

--HG--
extra : rebase_source : 6bd5872b59d964c3246708f0e6f549bb74dcc0b3
2017-08-15 08:25:43 -04:00
Randell Jesup
e4fdfcbf3b Bug 1390202: Populate temporal_layer_thresholds_bps so we'll send temporal layers in webrtc r=bwc 2017-08-18 00:33:59 -04:00
Henri Sivonen
29fb7aad8e Bug 1378123 - Make inner window track whether there is an active PeerConnection. r=jib
MozReview-Commit-ID: 98Hwhnxtt1T

--HG--
extra : rebase_source : 3d7be906acec0d4262fae15d1755cdb7cfc71eb3
2017-08-04 13:28:15 +03:00
Michael Froman
830c799f81 Bug 1389256 - fix incomplete handling of RepairedRtpStreamId after webrtc.org backport of RtpStreamId. r=bwc
During my backport of RtpStreamId from webrtc.org, I missed a few
places where RepairedRtpStreamId was used or was not completely
implemented.  Also, the webrtc.org code used repairedStreamId,
which is not really correct per the spec (draft-ietf-avtext-rid)
so I fixed all occurances to use the correct repairedRtpStreamId
to avoid confusion later.

The RTP header extensions default IDs for RtpStreamId and
RepairedRtpStreamId were also adjusted to not collide with
PlayoutDelay's default ID.

MozReview-Commit-ID: HSlS8nsKQ29

--HG--
extra : rebase_source : f1bf7fc9ceec22de1c56ef3b7be22fccea01ecdb
2017-07-28 14:52:46 -05:00
Lennart Grahl
c2ebc3e45e Bug 979417 - Implement EOR when receiving and explicit EOR when sending on data channels (including DCEP). r=drno,jesup
This allows sending and receiving arbitrarily (we limit to 1 GiB atm) sized
messages while not relying on the deprecated PPID fragmentation/reassembly
mode. The code already supports the ndata extension but it's not activated,
yet. Without the SCTP ndata extension, a large data channel message will
monopolise the SCTP association. While this is a problem, it is a temporary
solution until the extension is being activated. Keep in mind that every
application that uses data channels currently does fragmentation/reassembly on
application-level and it's unlikely that this will change until the popular
implementations (libwebrtc) implement EOR as well. Moreover, until the WebRTC
API specifies an API that hands over partial messages, doing application-level
fragmentation/reassembly is still useful for very large messages (sadly).

We fall back to PPID-based fragmentation/reassembly mode IFF a=max-message-size
is not set in the SDP and the negotiated amount of SCTP inbound streams is
exactly 256. Other implementations should avoid using this combination (to be
precise, other implementations should send a=max-message-size).

It also changes behaviour of RTCDataChannel.send which now raises TypeError in
case the message is too large for the other peer to receive. This is a
necessity to ensure that implementations that do not look at the EOR flag when
receiving are always able to receive our messages. Even if these
implementations do not set a=max-message-size, we use a safe default value (64
KiB, dictated by the spec) that every implementation should be able to receive,
with or without EOR support.

* Due to the use of explicit EOR, this required some major refactoring of all
  send-related and deferred sending functions (which is now a lot less
  complex). There's now only one place where `usrsctp_sendv` is being used.
* All data channel messages and DCEP messages will be sent without copying them
  first. Only in case this fails (e.g. usrsctp's buffer is full), the message
  will be copied and added to a buffer queue.
* Queued data channel messages will now be re-sent fairly (round-robin).
* Maximum message size and the PPID-based fragmentation are configurable using
  about:config (media.peerconnection.sctp.force_ppid_fragmentation and
  media.peerconnection.sctp.force_maximum_message_size).
* Enable interleaving of incoming messages for different streams (preparation
  for SCTP ndata, has no effect until it is enabled).
* Enable interleaving of outgoing messages (disabled if SCTP ndata has not been
  negotiated).
* Add pending messages flag to reduce performance impact from frequent calls to
  SendDeferredMessages.
* Handle partial delivery events (for cases where a partially delivered message
  is being aborted).
* Close a data channel/the connection in case the message is too large to be
  handled (this is only applied in cases where the remote peer ignores our
  announced local maximum message size).
* Various size_t to uint32_t conversions (message length) and back should be
  safe now.
* Remove aUsingDtls/mUsingDtls from DataChannelConnection.
* Set maximum message size in SDP and in the data channel stack.
* Replace implicit NS_ENSURE_*'s with explicit NS_WARN_IF's.
* Add SetMaxMessageSize method for late-applying those signalling parameters
  when a data channel has been created before the remote SDP was available.
* Limit remote maximum message size and add a GetMaxMessageSize method for a
  future implementation of RTCSctpTransport.maxMessageSize.

MozReview-Commit-ID: FlmZrpC5zVI

--HG--
extra : rebase_source : 54e1b838c788a3abbded4fb32fe7c2788f8a9bc0
2017-07-26 13:18:54 +02:00
Wes Kocher
cff9e9b197 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2YvHbITn9w3
2017-08-10 18:25:34 -07:00
Sylvestre Ledru
d938e24c4c Bug 1387002 - Replace .size() by .empty() when applicable in webrtc & mtransport r=jesup
MozReview-Commit-ID: 4DyftBRDEcU

--HG--
extra : rebase_source : 92b00b313060c0631e087216c6a30b421b58199d
2017-08-04 09:36:19 +02:00
Matthew Gregan
2f8cc7804c Bug 1388236 - Remove B2G-only AudioChannel code from MSG. r=padenot 2017-08-10 13:00:08 +12:00
Paul Adenot
09ca1b1297 Bug 1384655 - Remove obsolete latency measuring macros in downstream code we don't use anymore. r=jesup
MozReview-Commit-ID: ARAWGe7yFM4

--HG--
extra : amend_source : b1b3f4f33c9c2b15465ac5670a3639b8527a16a3
2017-08-08 10:00:37 +02:00
Sylvestre Ledru
289b4ecd71 Bug 1387376 - Reserve memory before using push_back with vector r=jesup
MozReview-Commit-ID: CrSFN0Ov1B4

--HG--
extra : rebase_source : 9863893841abcc1c7ef35932160cdbddaa535e45
2017-08-04 21:28:50 +02:00
Makoto Kato
d2130a3810 Bug 1386164 - Part 2. Use MOZ_SYSTEM_LIBEVENT for webrtc. r=jesup
GYP of WebRTC should reference MOZ_SYSTEM_LIBEVENT values if available.

MozReview-Commit-ID: CshsPrRidM8

--HG--
extra : rebase_source : 9e619c2f49e7c2b3f680814b95b823996773fa6c
2017-08-03 13:28:25 +09:00
Makoto Kato
b2458fa168 Bug 1386164 - Part 1. Use libevent2 headers instead of deprecated event.h. r=jesup
libevent uses event.h header that is fuzzy name.  Since our in-tree libevent is libevent2, we should use libevent2 headers instead of deprecated event.h

MozReview-Commit-ID: 6DjW9JEkNWL

--HG--
extra : rebase_source : b774e177b137bf7427122253a3e4c698689e08a4
2017-08-03 13:22:26 +09:00
Masatoshi Kimura
f143125cc2 Bug 1326520 - Rename nsIURI.path to pathQueryRef. r=valentin.gosu
MozReview-Commit-ID: DqJdTGopR9G

--HG--
extra : rebase_source : e8c9eb03468c075b79013b6e0bd8b367229c24cd
2017-07-29 20:50:21 +09:00
Nicholas Nethercote
581214bd8b Bug 1384835 (part 1, attempt 2) - Use nsA[C]String references instead of pointers for outparams of Get*String() pref functions. r=froydnj.
--HG--
extra : rebase_source : fe566945a55c281d8290634a5b55bed19415c839
2017-07-31 10:52:51 +10:00
Sebastian Hengst
d7527a414d Backed out changeset 07b534f44740 (bug 1384835) for failing xpcshell's security/manager/ssl/tests/unit/test_cert_sha1.js checkCertErrorGenericAtTime on Linux x64 debug. r=backout 2017-07-28 10:30:29 +02:00
Nicholas Nethercote
f314cbcbe5 Bug 1384835 (part 1) - Use nsA[C]String references instead of pointers for outparams of Get*String() pref functions. r=froydnj.
This is basically a cosmetic change; references are the normal way to do string
outparams.

--HG--
extra : rebase_source : ffc5945f269bdcd3d4116755b56713e87a44b6cd
2017-07-25 19:12:56 +10:00
Dan Minor
c6d57aa7de Bug 1384874 - Fix build failure on OSX 10.11.6 after Bug 1368030 landed; r=mjf
--HG--
extra : rebase_source : 36569545916cd2a201908ca835efc601ffb49f4d
2017-07-27 09:38:49 -04:00
Dan Minor
460bb5228f Bug 1382681 - Remove java.lang.RuntimeException in VideoCaptureAndroid; r=jesup
There does not seem to be any bad effects from calling stop twice, so just log that
it has happened rather than throwing an exception.

--HG--
extra : rebase_source : 0d92bad7b33010f50f41de8498b8406c3521c9e7
2017-07-25 11:31:26 -04:00
Heiher
fa12aab7f8 Bug 1384826 - Media: WebRTC: Fix build config for MIPS. r=jesup 2017-07-26 23:12:00 -04:00
Carsten "Tomcat" Book
d360d49d2a merge mozilla-inbound to mozilla-central a=merge 2017-07-27 10:57:25 +02:00
Dan Minor
01192ea8bd Bug 1368030 - Fix race condition in ScreenCapturerMac. r=jesup
The race condition is between ~ScreenCapturerMac and the ScreenRefresh and
ScreenUpdateMove callbacks. The destructor calls
UnregisterRefreshAndMoveHandlers but a callback may still occur after the
destruction of the object.

Rather than passing a pointer to ScreenCapturerMac into the callback, this
adds a separate object which keeps a pointer to ScreenCapturerMac guarded
by a CriticalSection. The destructor sets the ScreenCapturerMac to nullptr.
In the next callback, the handler unregisters the callbacks and deletes
the object.

The downside to this approach is that if the ScreenCapturerMac
object is allocated and deallocated before a callback occurs, the memory
for the separate object will be leaked.
2017-07-19 14:49:05 -04:00
Nathan Froyd
e1013bf46d Bug 1347963 - part 7 - make ImageContainer use RecursiveMutex; r=kats
Making ImageContainer slightly faster with RecursiveMutex is a good thing.
We need to fix up some cargo-culting of includes along the way, though.
2017-07-04 13:47:42 -04:00
Kartikaya Gupta
ba4b3b9101 Bug 1384233 - Remove SizePrintfMacros.h. r=froydnj
We have a minimum requirement of VS 2015 for Windows builds, which supports
the z length modifier for format specifiers. So we don't need SizePrintfMacros.h
any more, and can just use %zu and friends directly everywhere.

MozReview-Commit-ID: 6s78RvPFMzv

--HG--
extra : rebase_source : 009ea39eb4dac1c927aa03e4f97d8ab673de8a0e
2017-07-26 16:03:57 -04:00
Nathan Froyd
ffa6f2f3c0 Bug 1377959 - fix compiler warning about varargs functions; r=jesup 2017-07-25 16:52:56 -04:00
Carsten Book
115784405b Backed out changeset 0a60cc198321 for browser_devices_get_user_media_screen.js | application crashed [@ mozalloc_abort(char const*)] 2017-07-25 17:40:59 +02:00
Dan Minor
6e3ccd3e2a Bug 1368030 - Fix race condition in ScreenCapturerMac. r=jesup
The race condition is between ~ScreenCapturerMac and the ScreenRefresh and
ScreenUpdateMove callbacks. The destructor calls
UnregisterRefreshAndMoveHandlers but a callback may still occur after the
destruction of the object.

Rather than passing a pointer to ScreenCapturerMac into the callback, this
adds a separate object which keeps a pointer to ScreenCapturerMac guarded
by a CriticalSection. The destructor sets the ScreenCapturerMac to nullptr.
In the next callback, the handler unregisters the callbacks and deletes
the object.

The downside to this approach is that if the ScreenCapturerMac
object is allocated and deallocated before a callback occurs, the memory
for the separate object will be leaked.
2017-07-19 14:49:05 -04:00
Nicholas Nethercote
ac3e6bddb4 Bug 1382099 - Remove MOZ_WIDGET_GONK from media/, uriloader/, widget, /xpfe/. r=snorp.
--HG--
extra : rebase_source : 75fe5b8320d52c7316ca547f706b64f30250d28c
2017-07-24 10:08:55 +10:00
Sebastian Hengst
f16a7f8371 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 4EWdTlEncz7
2017-07-22 11:38:42 +02:00
Wes Kocher
d45eb771f0 Merge m-c to inbound, a=merge
MozReview-Commit-ID: Ah48RzFU8Mt
2017-07-21 18:20:46 -07:00
Wes Kocher
051dc17e6c Merge inbound to central, a=merge CLOSED TREE
MozReview-Commit-ID: GYc8r8gnS0j
2017-07-21 18:12:55 -07:00
Ryan VanderMeulen
f4e3a91992 Merge m-c to inbound. a=merge 2017-07-21 09:40:28 -04:00
Sebastian Hengst
367f0ac5a2 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IWRTFZdtzaE
2017-07-21 12:56:44 +02:00
Wes Kocher
61354cf6c0 Merge m-c to autoland, a=merge CLOSED TREE
MozReview-Commit-ID: 9pPsy8McMun
2017-07-21 18:18:35 -07:00
Sylvestre Ledru
7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02:00
Michael Froman
ab82f57025 Bug 1383272 - fixing incorrect comparison in RtpStreamId::Parse(...) r=bwc
When adding the length check for parsing RtpStreamId, I incorrectly used
the '<=' operator instead of the '>' operator.

MozReview-Commit-ID: 46XZBqWxkBc

--HG--
extra : rebase_source : 6290aeed489770070308aafacad01ce5b63a60a1
2017-07-21 15:54:11 -05:00
Nils Ohlmeier [:drno]
e49209f98a Bug 1196974: remove mozDontOfferDataChannel from code and test. r=bwc
MozReview-Commit-ID: 1CW3TaSMVZw

--HG--
extra : rebase_source : dc0e069e07d28dc53c4ba57954491bb5a663b518
2017-07-18 14:24:33 +02:00
Nils Ohlmeier [:drno]
b047050729 Bug 1372467 - Stop at end of line after unknown attribute. r=bwc
MozReview-Commit-ID: 5tg6gKbQfHy
2017-06-12 22:45:35 -07:00
Nils Ohlmeier [:drno]
a4ec39d147 Bug 1372383 - Improve SDP parsing. r=bwc
MozReview-Commit-ID: EJOvtMjQsav
2017-06-12 19:36:58 -07:00