aecf59ec97ff6a06d03a5d9f8e676869a676e9d8: Bug 1299515 - Modernize tests that disable tracks to prime for coming patches. r=jib
Andreas Pehrson <pehrsons@mozilla.com> - Tue, 28 Nov 2017 11:15:44 +0100 - rev 749523
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Modernize tests that disable tracks to prime for coming patches. r=jib MozReview-Commit-ID: 9rzaZimjpm9
ddcf3f90fdb34c2447b4ed9630301d1e9a3c9c7a: Bug 1299515 - Put pushPrefs in head.js. r=jib
Andreas Pehrson <pehrsons@mozilla.com> - Thu, 23 Nov 2017 17:28:40 +0100 - rev 749522
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Put pushPrefs in head.js. r=jib MozReview-Commit-ID: F770g5cjH0k
ea42c8ffb6f5c42c52458f45d1ee068625fd1d99: Bug 1299515 - Drive by touchups in MediaTrackConstraints. r=jib
Andreas Pehrson <pehrsons@mozilla.com> - Tue, 21 Nov 2017 15:53:02 +0100 - rev 749521
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Drive by touchups in MediaTrackConstraints. r=jib MozReview-Commit-ID: EBztQ99CKQ4
42743183facc80469128a4bb7eeceb24dbc41b72: Bug 1299515 - Wire up track-disabling logic to frontend APIs. r=jib, r=johannh
Andreas Pehrson <pehrsons@mozilla.com> - Fri, 17 Nov 2017 20:13:06 +0100 - rev 749520
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Wire up track-disabling logic to frontend APIs. r=jib, r=johannh This modifies mediaCaptureWindowState() to say whether a camera or microphone is actively captured or not. Note that this is not the same as the device being on or off. If we disallow a device from being off while disabled, we still notify chrome that we're not actively capturing. MozReview-Commit-ID: B1taormqc3j
ae1d261df7881bfb980ec4b574badbf63412b8b9: Bug 1299515 - Stop Camera and Microphone device when tracks become disabled. r=jib
Andreas Pehrson <pehrsons@mozilla.com> - Fri, 17 Nov 2017 19:56:00 +0100 - rev 749519
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Stop Camera and Microphone device when tracks become disabled. r=jib This wires up the disabling of a track with actually stopping the device if we allow it. This is possible for: - Camera (enabled by default, controlled by pref "media.getusermedia.camera.off_while_disabled.enabled") - Microphone (disabled by default, controlled by pref "media.getusermedia.microphone.off_while_disabled.enabled") Screen-, app-, or windowsharing is not supported at this time. On disabling, there's a delay before the device is ordered to stop. This is now defaulting to 3 seconds but can be overriden by prefs "media.getusermedia.camera.off_while_disabled.delay_ms" and "media.getusermedia.microphone.off_while_disabled.delay_ms". The delay is in place to prevent misuse by malicious sites. If a track is re-enabled before the delay has passed, the device will not be touched until another disable followed by the full delay happens. MozReview-Commit-ID: D4nZWzrYZGm
7989fd5fee8ac0188bedbafd7a96950000224846: Bug 1299515 - Implement MediaTimer::Cancel to allow for rejecting timer promises. r=jya
Andreas Pehrson <pehrsons@mozilla.com> - Wed, 20 Dec 2017 10:02:31 +0100 - rev 749518
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Implement MediaTimer::Cancel to allow for rejecting timer promises. r=jya MozReview-Commit-ID: ESLlbIS8XHa
b9369a5669943e9cbc1ce7ee16a5893cdf65a20e: Bug 1299515 - Implement MediaTimer::WaitFor for convenience. r=jya
Andreas Pehrson <pehrsons@mozilla.com> - Wed, 20 Dec 2017 10:01:47 +0100 - rev 749517
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Implement MediaTimer::WaitFor for convenience. r=jya MozReview-Commit-ID: VpHxUKn3hO
abd22366d81e48c08efa3940f2b726ea125e6c10: Bug 1299516 - Allow MediaEngines to Start() and Stop() without affecting tracks. r=jib, r=padenot
Andreas Pehrson <pehrsons@mozilla.com> - Mon, 18 Dec 2017 16:19:33 +0100 - rev 749516
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299516 - Allow MediaEngines to Start() and Stop() without affecting tracks. r=jib, r=padenot This is the larger change for this bug. In order to turn off a device on disabling we want to Stop() it without ending the attached track. To allow this, this patch breaks out track-creation from Start() to SetTrack() and moves track-ending logic from Stop() to Deallocate(). It is a programming error to Start() or Stop() a MediaEngineSource that hasn't seen a SetTrack(). MozReview-Commit-ID: 3KzmuDjCAH0
f30324f2c1a5036d656c38a460810aa394d3cbac: Bug 1299515 - Flatten MediaEngineSource class hierarchy. r=jib
Andreas Pehrson <pehrsons@mozilla.com> - Wed, 24 Jan 2018 16:49:13 +0100 - rev 749515
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Flatten MediaEngineSource class hierarchy. r=jib The scope of flattening this hierarchy quickly grows large, so this patch does a couple more things: - Creates a pure interface MediaEngineSourceInterface and a base class MediaEngineSource with common defaults and refcount support (no state!) - Breaks out some of the helper classes to dedicated files, e.g., AllocationHandle, MediaEnginePrefs. - Clarifies the threading model (written on one thread *and* under lock, read under either) - Fixes style, indentation, include-sorting in the affected files - Adds comments, especially for clarifying what responsibilities methods have, and thread usage of class members - Changes Monitors to Mutexes since we only use them as Mutexes anyhow - Makes MediaEngineRemoteVideoSource no longer a shared source since we now support scaling in this source and CamerasChild can act as a broker of frames. This greatly simplifies it. The only shared source is now MediaEngineWebRTCMicrophoneSource, so the sharing specific common methods have been moved to that source. MozReview-Commit-ID: KeVZQo6gLm2
9b3fccf3598ce38aa45651f1fcbb1ffa6642b110: Bug 1299515 - Make `const nsMainThreadPtrHandle<T>` usable. r=erahm
Andreas Pehrson <pehrsons@mozilla.com> - Wed, 22 Nov 2017 11:24:18 +0100 - rev 749514
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Make `const nsMainThreadPtrHandle<T>` usable. r=erahm This enables having a const nsMainThreadPtrHandle<T> member which we want to ensure doesn't get assigned to, but whose (the `T`'s) non-const methods are still usable on main thread. Similar to how RefPtr<T> works. MozReview-Commit-ID: 8CG0MwIZmLc
2cb8db608693a3c4e42983cb518c173491958093: Bug 1299515 - Include nsContentUtils in TimeoutManager. r=mystor
Andreas Pehrson <pehrsons@mozilla.com> - Wed, 06 Dec 2017 12:56:32 +0100 - rev 749513
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Include nsContentUtils in TimeoutManager. r=mystor The build is failing without this. Assuming I did something in an earlier patch that either removed an nsContentUtils include or changed the order so it's not available here. MozReview-Commit-ID: Lsm8yhRbtFC
7e60b5c251edfe249aa1bf0ce94ff1ebf6084b40: Bug 1299515 - Only notify of enabled state if it actually changed. r=jib
Andreas Pehrson <pehrsons@mozilla.com> - Wed, 15 Nov 2017 18:41:28 +0100 - rev 749512
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Only notify of enabled state if it actually changed. r=jib MozReview-Commit-ID: 4pGYXb9onJO
cecd3d81440ff3ab829b1f8fd4358ffc7cbb5e2b: Bug 1299515 - Remove special handling for releasing callbacks on main thread. r=jib
Andreas Pehrson <pehrsons@mozilla.com> - Wed, 15 Nov 2017 18:40:35 +0100 - rev 749511
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Remove special handling for releasing callbacks on main thread. r=jib MozReview-Commit-ID: 1JtVdbkL1DK
ef4ed456f5c1d193d076df0ca1678591c03cdee6: Bug 1299515 - Remove superfluous include in MediaStreamTrack.h. r=jib
Andreas Pehrson <pehrsons@mozilla.com> - Tue, 14 Nov 2017 11:54:18 +0100 - rev 749510
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Remove superfluous include in MediaStreamTrack.h. r=jib MozReview-Commit-ID: DTLQyiX8PtG
d943ce6712cecc196fbc95f931d7e3af2d13bd04: Bug 1299515 - Remove ReleaseMediaOperationResource. r=jib
Andreas Pehrson <pehrsons@mozilla.com> - Tue, 14 Nov 2017 11:53:52 +0100 - rev 749509
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Remove ReleaseMediaOperationResource. r=jib MozReview-Commit-ID: 184hG8rMCmc
871480d5c37d3ff8e2d011ca4700f550148d490d: Bug 1299515 - Remove GetUserMediaNotificationEvent. r=jib
Andreas Pehrson <pehrsons@mozilla.com> - Tue, 14 Nov 2017 11:50:07 +0100 - rev 749508
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Remove GetUserMediaNotificationEvent. r=jib MozReview-Commit-ID: 3ecH5vCce17
87a5b07fa4c9c258e11b1c77058afe135b9a6533: Bug 1299515 - Plumb MediaStreamTrack enabled state to sources. r=jib
Andreas Pehrson <pehrsons@mozilla.com> - Fri, 10 Nov 2017 15:55:42 +0100 - rev 749507
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1299515 - Plumb MediaStreamTrack enabled state to sources. r=jib MozReview-Commit-ID: Eg1g9JtLmOz
c7bd57a9d7ef2010fe408ffab503077bc15f3e01: Bug 1408294 - Don't assume there is always a listener feeding a SourceMediaStream. r=padenot
Andreas Pehrson <pehrsons@mozilla.com> - Thu, 04 Jan 2018 10:32:30 +0100 - rev 749506
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1408294 - Don't assume there is always a listener feeding a SourceMediaStream. r=padenot There are legit cases when a SourceMediaStream gets pulled without a listener present. A clear example (though a corner case and easily overlooked) that I've hit is when the last track is ended and the only stream listener is removed at the same time. This leads to a pull on the next iteration where the track-end has not yet been picked up. And thus, a false positive error saying that a live track doesn't have listeners. The real error here will now instead be caught by the new assert for when a pulled stream underruns (which is now illegal). MozReview-Commit-ID: 3e8FcCZfhYJ
0fdd4ce7e10eb7d31fd0497012ba6ce622a8ad42: Bug 1408294 - Append null audio data when audio input underruns. r=padenot
Andreas Pehrson <pehrsons@mozilla.com> - Thu, 21 Dec 2017 19:01:17 +0100 - rev 749505
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1408294 - Append null audio data when audio input underruns. r=padenot MozReview-Commit-ID: KEP3J41BEmJ
d0172a1b5d25894c3b56f5efc13a76919a3a54db: Bug 1408294 - Simplify MSG integration code for MediaPipelineReceive. r=bwc
Andreas Pehrson <pehrsons@mozilla.com> - Thu, 21 Dec 2017 15:55:26 +0100 - rev 749504
Push 97413 by bmo:apehrson@mozilla.com at Wed, 31 Jan 2018 16:00:40 +0000
Bug 1408294 - Simplify MSG integration code for MediaPipelineReceive. r=bwc Most importantly this avoids having a SourceMediaStream *with a track* but *without any listeners*. I'm adding asserts to ensure that all NotifyPull()s append enough data to all live tracks. MozReview-Commit-ID: InGj3n0f0y3
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip