Граф коммитов

2766 Коммитов

Автор SHA1 Сообщение Дата
Randell Jesup 809e9aa0d4 Bug 1346291: update code that accidentally assumed libyuv would define things like int32 r=sotaro,jib 2018-05-09 23:59:16 -04:00
David Major 4ac65c8eef Bug 1459617: Merge upstream webrtc fix for build bustage with clang trunk. r=dminor
https://webrtc.googlesource.com/src/+/bda78c9464f4d0e6ff26b0035624a967269c3b0a
2018-05-09 16:32:31 -04:00
Dan Minor b9bfaf036c Bug 1456071 - Do not dispatch InsertDTMFTone call to sts thread; r=bwc
This removes the dispatch to the sts thread prior to calling
AudioConduit::InsertDTMFTone. There are assertions in ChannelProxy which
restrict the methods there to running on the main thread, so the current
code crashes immediately when inserting a tone in a debug build. The
inserted DTMF event ends up in a queue, so there is no reason not to just do
the insertion from the main thread.

MozReview-Commit-ID: G8JM9QDLrGF

--HG--
extra : rebase_source : 65168ee08efa5fc1960e35fd5acf4bdde0420b84
2018-04-26 11:36:19 -04:00
Dan Minor 21cb54ff16 Bug 1414829 - Fix VideoConduitTest gtest assertion failures; r=drno
--HG--
extra : rebase_source : 9e881c4a84389f480f2dcdd1c6be714bba2fdc72
2017-11-28 15:58:47 -05:00
Dan Minor f09687bfc8 Bug 1414829 - Add DeleteStreams to media conduits; r=jesup
--HG--
extra : rebase_source : da8ae4e2cb53e787f1730c2f5efcd65421de300f
2018-01-08 12:40:38 -05:00
Paul Adenot c6e563b490 Bug 1456115 - Make last_sample_rate_ in `neteq_impl.cc` atomic. r=dminor
This allows removing locking, and allows other threads to progress without
taking the lock, hence lowering the probability that the lock will be taken for
a long time when we need to pull NeqEQ.

MozReview-Commit-ID: HMO67A0hher

--HG--
extra : rebase_source : aa5c77895eb57d60b61d9a8a5822e53593348830
2018-04-23 11:55:19 +02:00
Paul Adenot f412eb58ae Bug 1456115 - Re-serialize inbound NotifyPull. r=jya
We made NotifyPull parallel to try to lower the load, and we initially measured
an improvement. However, we did the measurements with a profiler that did an
aggregation of the results. Our results had an high variance, so the mean load
was in fact not meaningful.

More careful measurement performed without doing any aggregation show that,
under load, relying on the fact that the scheduler schedules the tasks on time
is too risky, and that the code is fast enough to not have to parallelize.

MozReview-Commit-ID: CMhSn8Sc0OO

--HG--
extra : rebase_source : cfb41f861089bce9e10446bee81c13f8565ba90e
2018-04-12 14:23:03 +02:00
Paul Adenot 1c6c907315 Bug 1456115 - Remove locking in AcmReceiver::GetAudio. r=dminor
This also causes a lot of dropouts. We don't need to lock here. NetEQ is thread
safe, and its created in the ctor. The rest of the members are made atomic or is
simply never accessed in multiple threads.

MozReview-Commit-ID: 2fRw5ZgxdpQ

--HG--
extra : rebase_source : f2aa082a3e856e873cfcd96ff721ccdc77df3633
2018-04-12 14:36:02 +02:00
Paul Adenot 19325f0f09 Bug 1456115 - Stop locking when getting the sampling rate from the channel in acm_receiver.cc. r=dminor
This accounts for half of our audio dropouts, there is very high contention on
this piece of data.

MozReview-Commit-ID: 2HSfqZHT2MK

--HG--
extra : rebase_source : 10c451ac60563a0f1c14a314f5a12cc45055e20b
2018-04-09 13:52:08 +02:00
Narcis Beleuzu d6e889b127 Backed out 4 changesets (bug 1456115) for Asan Mochitest filures "AddressSanitizer: stack-overflow /celt/bands.c:1437:4 in quant_all_bands". CLOSED TREE
Backed out changeset 3379d4fc07f6 (bug 1456115)
Backed out changeset 9c77f5b53b56 (bug 1456115)
Backed out changeset e48268ffa4d8 (bug 1456115)
Backed out changeset bffecfd92808 (bug 1456115)
2018-04-24 21:47:07 +03:00
Paul Adenot a1d88e5fb9 Bug 1456115 - Make last_sample_rate_ in `neteq_impl.cc` atomic. r=dminor
This allows removing locking, and allows other threads to progress without
taking the lock, hence lowering the probability that the lock will be taken for
a long time when we need to pull NeqEQ.

MozReview-Commit-ID: HMO67A0hher

--HG--
extra : rebase_source : aa5c77895eb57d60b61d9a8a5822e53593348830
2018-04-23 11:55:19 +02:00
Paul Adenot 0640ca7fdb Bug 1456115 - Re-serialize inbound NotifyPull. r=jya
We made NotifyPull parallel to try to lower the load, and we initially measured
an improvement. However, we did the measurements with a profiler that did an
aggregation of the results. Our results had an high variance, so the mean load
was in fact not meaningful.

More careful measurement performed without doing any aggregation show that,
under load, relying on the fact that the scheduler schedules the tasks on time
is too risky, and that the code is fast enough to not have to parallelize.

MozReview-Commit-ID: CMhSn8Sc0OO

--HG--
extra : rebase_source : cfb41f861089bce9e10446bee81c13f8565ba90e
2018-04-12 14:23:03 +02:00
Paul Adenot 2d783a2f32 Bug 1456115 - Remove locking in AcmReceiver::GetAudio. r=dminor
This also causes a lot of dropouts. We don't need to lock here. NetEQ is thread
safe, and its created in the ctor. The rest of the members are made atomic or is
simply never accessed in multiple threads.

MozReview-Commit-ID: 2fRw5ZgxdpQ

--HG--
extra : rebase_source : f2aa082a3e856e873cfcd96ff721ccdc77df3633
2018-04-12 14:36:02 +02:00
Paul Adenot 581308e902 Bug 1456115 - Stop locking when getting the sampling rate from the channel in acm_receiver.cc. r=dminor
This accounts for half of our audio dropouts, there is very high contention on
this piece of data.

MozReview-Commit-ID: 2HSfqZHT2MK

--HG--
extra : rebase_source : 10c451ac60563a0f1c14a314f5a12cc45055e20b
2018-04-09 13:52:08 +02:00
Nils Ohlmeier [:drno] cf2d709fb0 Bug 1455557: accept new line as RTCP FB NACK terminator. r=bwc
MozReview-Commit-ID: B0KaqRvLqNs

--HG--
extra : rebase_source : 97bca7eb56b1e112fc3ff091e58323ff1d09d43e
2018-04-20 21:52:16 -07:00
Paul Adenot fbf116232d Bug 1444976 - Trace some initial real-time media stuff. r=pehrsons
MozReview-Commit-ID: 7mmDHVS2t8f

--HG--
extra : rebase_source : ac56722792f99aadd8e359ef9ae4b30f6dc78076
extra : source : 7b9d0ce0b1cb20540d1c5bf4c77596359b5cb73e
2018-04-12 17:51:35 +02:00
Andreea Pavel 14ac5e554d Backed out 3 changesets (bug 1444976) for failing android at dom/media/tests/mochitest/test_getUserMedia_mediaStreamTrackClone.html a=backout
Backed out changeset 79b7ee8b01ee (bug 1444976)
Backed out changeset 35ca96cabe3c (bug 1444976)
Backed out changeset 2512c9c24244 (bug 1444976)
2018-04-18 21:25:14 +03:00
Paul Adenot f00a090b8a Bug 1444976 - Trace some initial real-time media stuff. r=pehrsons
MozReview-Commit-ID: 7mmDHVS2t8f

--HG--
extra : rebase_source : a6b0bd42a63f3fc6e4a6307249ed447d749f96c4
extra : source : 7b9d0ce0b1cb20540d1c5bf4c77596359b5cb73e
2018-04-12 17:51:35 +02:00
Dan Minor aa20bd6084 Bug 1437345 - Update generated files; r=jesup
MozReview-Commit-ID: 5xmc2mrA2mz

--HG--
extra : rebase_source : 88e2293daadc84ca2e4246371ffa4e37ae9853ac
2018-03-19 08:35:21 -07:00
Jan Beich 036d3dfaf5 Bug 1437345 - Don't try to build audio_device backends. r=dminor
MozReview-Commit-ID: JjLucnqna0A

--HG--
extra : rebase_source : 3aff9d6da57917840b1f27430911a426ace4fbd0
2018-03-14 17:09:06 +00:00
Dan Minor 71ea2be163 Bug 1437345 - Set defaults for gn visual studio build; r=jesup
This hard codes the visual studio version to 2015. We did the same thing for the
gyp build. It also sets default paths for visual studio, which are ignored by the
remainder of the build system.

This was required to get gn code generation working on a fresh install of
Windows. I must have had similar changes on my old Windows VM but missed
commiting them as part of the gyp to gn build switch.

MozReview-Commit-ID: 7fYngpdIwxh

--HG--
extra : rebase_source : de24b50f8e19465d8c145ce96c31d4ad7cc52e57
2018-03-19 06:55:21 -07:00
Nicholas Nethercote 51f2b494ea Bug 1448222 - Remove MediaPrefs. r=jya
This patch converts all the prefs in MediaPrefs to the new StaticPrefs system.

Note that the "media.wmf.skip-blacklist" pref was present in both MediaPrefs
and gfxPrefs. The copy in MediaPrefs was never used; this explains why this
patch does not add an entry for it to StaticPrefList.h.

Note also that the patch removes themedia.rust.mp4parser pref, because it's
unused.

MozReview-Commit-ID: IfHP37NbIjY

--HG--
extra : rebase_source : df84ea813b7c366d7be663c696891325610149c8
2018-03-20 09:48:56 +11:00
Dan Minor b42c863551 Bug 1453740 - Allow 1x1 windows in VP8EncoderImpl::InitEncode; r=pehrsons
A minimized window has a resolution of 1x1. Although we removed minimized windows from the list
of available windows to share, nothing prevents the user from minimizing it during a call. With
the current code, this will cause InitEncode to fail, resulting in a fatal release assert.

I tested this patch with window sharing on meet.google.com and I was able to minimize and restore
the window several times without problem. While minimized, the window appears as a black screen
to the other meeting participants. It renders normally when restored.

MozReview-Commit-ID: LE2NBiEy8nw

--HG--
extra : rebase_source : f95fd3f797e9f7262a938087ce3fb1e27f743920
2018-04-12 11:31:59 -07:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Jan-Ivar Bruaroey b5b5ad5862 Bug 1452031 - Use strong types for Media error names, fixing OverconstrainedError typo. r=pehrsons
MozReview-Commit-ID: AqGoW9rBdl5

--HG--
extra : rebase_source : fc7a638a2502aaebf318a35c6135755558a7396b
2018-04-10 01:22:53 -04:00
Dan Minor 30d5029270 Bug 1453030 - Only create RTCDTMFSender on audio RTCRtpSender senders; r=bwc
MozReview-Commit-ID: KsnUYCs8IYU

--HG--
extra : rebase_source : 2bee2f713ef65ef5baaa6cd37a3f9521beaa9a73
2018-04-10 13:19:42 -04:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Andreas Pehrson 2dcab8c04e Bug 1452048 - Read _captureStarted under lock on the camera thread. r=dminor
It is written under lock on the controlling thread (CamerasParent) in
StartCapture/StopCapture.

MozReview-Commit-ID: E7eq1YElhwt

--HG--
extra : rebase_source : f37b666d84c6710ac0d5c56002b82c707635f49b
2018-04-06 15:50:31 +02:00
Andreas Pehrson 3ed24c4f4c Bug 1452048 - Leave critical section before calling into java StartCapture(). r=dminor
If we stay in the critical section, and the StartCapture() is a reconfiguring
one, we risk deadlocking with IncomingFrame which runs on the camera thread.

MozReview-Commit-ID: 5rU4urrBWxr

--HG--
extra : rebase_source : 4c6e0c1e02eb1116a1fe433681bf4ad36f47186a
2018-04-06 15:49:24 +02:00
Andreas Pehrson edabee9ab6 Bug 1452048 - Give Looper lifetime control to external callers. r=dminor
Looper lifetime must be handled by external callers as otherwise internal
callers may accidentally and unknowingly quit the looper and essentially
terminate the camera thread, stopping any flow of frames and preventing future
messages.

In this case, a reconfig of the capture settings through startCapture() causes
startCaptureOnCameraThread() to restart the capture by calling into
stopCaptureOnCameraThread() (quitting the looper) and then re-calling
startCaptureOnCameraThread() (not restarting the looper as that is invalid).

The camera thread is set up by startCapture() on the external calling thread,
which will never know that a seemingly graceful camera thread operation stopped
the camera thread altogether, and so it cannot take any action.

MozReview-Commit-ID: DUTFdanTan1

--HG--
extra : rebase_source : afeb80aa8b2596a2615f57ec4af182a837323b7e
2018-04-06 13:59:45 +02:00
Andreea Pavel 7a4b9a3f56 Merge mozilla-inbound to mozilla-central. a=merge
--HG--
extra : rebase_source : 66bd87105d99036ada5008499ff0eaea579b531a
2018-04-06 13:20:21 +03:00
Dan Minor d474e7f00c Bug 1432793 - Add gtests for simulcast screenshare and odd resolutions; r=bwc
MozReview-Commit-ID: ADBh7SCVgoC

--HG--
extra : rebase_source : 561a924560c0dbffbc95317b4cc5303dec6a8de6
2018-04-04 13:09:06 -04:00
Dan Minor 3eee879885 Bug 1432793 - Force screensharing simulcast to one layer and stop generating layers once an odd width and height are found; r=bwc
This limits screensharing simulcast to a single layer. When window sharing, our
source video can have arbitrary dimensions. If one of those dimensions ends up
being odd, the aspect ratio of the smaller layer will not match the aspect ratio
of the odd sized layer, causing a runtime assertion failure and crash.

It is not sufficient to prevent the creation of odd sized layers in
CreateEncoderStreams because the user can resize the window while it is being
shared, which will cause a fatal assertion prior to the streams being recreated.

When switching back from window sharing to camera, a call to
CreateEncoderStreams will occur with resolutions matching the dimensions of
the window that was just shared. To prevent a crash, this also adds a check
which prevents the creation of layers with odd resolutions.

Looking at cricket::GetSimulcastConfig for the version of webrtc.org in tree,
the number of simulcast layers is limited to one, or two if a field experiment
is enabled. That code also limits resolutions at which screensharing is allowed
as well as the number of layers that can be created for each resolution, and
ensures that each layer is exactly half the size of the layer above.

Adding these new constraints to CreateEncoderStreams makes us more consistent
with what the webrtc.org code would do when creating streams, which should
help to avoid more assertion failures in the future. Long term, I believe we
should just switch to using cricket::GetSimulcastConfig.

MozReview-Commit-ID: 8gjdY5GPPjl

--HG--
extra : rebase_source : b13b7acdac7f1e0b6016417b83bbe97dc2417a92
2018-03-28 11:07:54 -04:00
Narcis Beleuzu 2e33871511 Backed out changeset 847e9f622eb7 (bug 1432793) for build bustages on VideoConduit.cpp. CLOSED TREE 2018-04-05 00:16:14 +03:00
Dan Minor cc64345766 Bug 1432793 - Force screensharing simulcast to one layer and stop generating layers once an odd width and height are found; r=bwc
This limits screensharing simulcast to a single layer. When window sharing, our
source video can have arbitrary dimensions. If one of those dimensions ends up
being odd, the aspect ratio of the smaller layer will not match the aspect ratio
of the odd sized layer, causing a runtime assertion failure and crash.

It is not sufficient to prevent the creation of odd sized layers in
CreateEncoderStreams because the user can resize the window while it is being
shared, which will cause a fatal assertion prior to the streams being recreated.

When switching back from window sharing to camera, a call to
CreateEncoderStreams will occur with resolutions matching the dimensions of
the window that was just shared. To prevent a crash, this also adds a check
which prevents the creation of layers with odd resolutions.

Looking at cricket::GetSimulcastConfig for the version of webrtc.org in tree,
the number of simulcast layers is limited to one, or two if a field experiment
is enabled. That code also limits resolutions at which screensharing is allowed
as well as the number of layers that can be created for each resolution, and
ensures that each layer is exactly half the size of the layer above.

Adding these new constraints to CreateEncoderStreams makes us more consistent
with what the webrtc.org code would do when creating streams, which should
help to avoid more assertion failures in the future. Long term, I believe we
should just switch to using cricket::GetSimulcastConfig.

MozReview-Commit-ID: 8gjdY5GPPjl

--HG--
extra : rebase_source : 5a22f6d0a995303e6a4039eafc056631fbb86415
2018-03-28 11:07:54 -04:00
Boris Zbarsky 5ae1563978 Bug 1450422. Get rid of nsIDOMDataChannel. r=mystor
MozReview-Commit-ID: Dei5EEd0FZO
2018-04-04 15:32:19 -04:00
shindli 1b8212aefc Backed out 3 changesets (bug 1444976) for B, S and BR failures in z:\build\build\src\dom\media\AsyncLogger.h(47) on a CLOSED TREE
Backed out changeset 5a183343f307 (bug 1444976)
Backed out changeset 390ce943cda8 (bug 1444976)
Backed out changeset 75b4992b4a23 (bug 1444976)
2018-04-04 18:33:06 +03:00
Paul Adenot 84c49acfc5 Bug 1444976 - Trace some initial real-time media stuff. r=pehrsons
Tracing is very cheap, we should trace a bunch of stuff.

MozReview-Commit-ID: IhOyyRPXfg9

--HG--
extra : rebase_source : e6fa62f096ec269901f739bcd7f8ef6d61b79f12
extra : source : c0579ea271b9f5ff1b552fba1d4d2105b3d02eda
2018-03-20 18:23:26 +01:00
Byron Campen [:bwc] d0a45cf0c0 Bug 1448863: Stop sync dispatching in Decode. r=jesup
MozReview-Commit-ID: 3EK0zAsFpHz

--HG--
extra : rebase_source : 0591c5a8fa4abbe46b789817fd9c617e9ef02da6
2018-03-26 10:19:31 -05:00
Andreas Pehrson 14c26e7086 Bug 1440255 - Remove tabs from VideoCaptureAndroid. r=dminor
MozReview-Commit-ID: Ga3TgD9J030

--HG--
extra : rebase_source : d8edb95a541ecfb9ee391f03c5484f92865a2e2d
2018-04-05 12:03:12 +02:00
Andreas Pehrson 74e4bc1164 Bug 1440255 - Consolidate failure paths. r=dminor
The cameraThread is set by startCapture(), so a failed startCapture() that
quits the Looper and runs the cameraThread to completion needs to set
cameraThread back to null for consistency.

Likewise, stopCapture() shall always quit the Looper and set cameraThread to
null.

MozReview-Commit-ID: H1ExLyTixYw

--HG--
extra : rebase_source : 472b657cd8219533a5878f5b268b6288e1fe6320
2018-04-05 16:04:13 +02:00
Andreas Pehrson d9f2b85781 Bug 1440255 - Make VideoCaptureAndroid reconfigurable through subsequent startCapture. r=dminor
MozReview-Commit-ID: 9yslx7rMN2w

--HG--
extra : rebase_source : 87808e17efb58b7194ce87719beb610a19fa0be3
2018-04-04 20:17:21 +02:00
Andreas Pehrson 75146eb774 Bug 1440255 - Move thread exchanging out to runnables. r=dminor
This is the proper fix for bug 1420585.

MozReview-Commit-ID: 5WKMvbpQFSE

--HG--
extra : rebase_source : 32269d06a7e826db2ea882cbc974c366a63f39c0
2018-04-05 11:56:30 +02:00
Andreas Pehrson 745c2b59a9 Bug 1440255 - Backout bug 1420585 deadlock wallpaper fix r=dminor
MozReview-Commit-ID: DurGH2RmXQH

--HG--
extra : rebase_source : 16400494705c332bb8739b28735a941c84f0a379
2018-04-05 11:55:26 +02:00
Andreas Pehrson 8333691fd5 Bug 1441585 - Set picture size to something valid. r=dminor
MozReview-Commit-ID: 13lZcfR9wlC

--HG--
extra : rebase_source : 4037cca90cccc846f7b4e0c6da12eace3962d5af
2018-04-05 17:32:09 +02:00
Alex Chronopoulos 2ef6a59abe Bug 1387454 - Create a MediaStreamGraph according to the given sample rate. r=padenot
MozReview-Commit-ID: 4YP8oWIVyjy

--HG--
extra : rebase_source : 54c83c0aa122fecc9e07868405e42d31b2172516
2018-04-03 20:02:15 +03:00
Nils Ohlmeier [:drno] 2058100636 Bug 1394602: don't allow SSRC changes with Bundle. r=bwc
MozReview-Commit-ID: Kgb0lghAY7r

--HG--
extra : rebase_source : 26d44970231736c5cfefef4dcfc3b5afcb8b24ba
2017-12-01 15:54:57 -08:00
Byron Campen [:bwc] 5d6b88c22d Bug 1449042: Negotiate tracks even when they're not active. r=drno
MozReview-Commit-ID: CBhwHgjt1gf

--HG--
extra : rebase_source : c38a52290154e6d800a9f34f1ce87eab8859afa5
extra : source : cd4a5a800efa075bc1c4ba0c672bd301ee694ec0
2018-03-27 13:39:10 -05:00
Nathan Froyd 052d391b9c Bug 1448031 - make various audio/video/media constructors explicit; r=gerald
Attempting to stand up the static analysis for Android builds revealed
that we weren't being explicit enough.
2018-03-27 10:51:32 -04:00
Boris Zbarsky 37b111ac2a Bug 1447472 part 2. Remove nsIDOMCustomEvent. r=qdot
MozReview-Commit-ID: 3NPqLIU8cka
2018-03-26 14:53:51 -04:00