6695387274287472e4542e10931e3dceace47de5: Bug 1208371 - Add a PrincipalIdListener to MediaStreamTrack. r?roc,mt draft
Andreas Pehrson <pehrsons@gmail.com> - Tue, 26 Jan 2016 18:33:41 +0800 - rev 327716
Push 10268 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:47:23 +0000
Bug 1208371 - Add a PrincipalIdListener to MediaStreamTrack. r?roc,mt
8094fa05ca9f4c2a1abb26b817998fcc5f641d78: Bug 1208371 - Add `NotifyPrincipalIdChange` to MediaStreamTrackListener. r?mt,roc draft
Andreas Pehrson <pehrsons@gmail.com> - Tue, 26 Jan 2016 16:45:25 +0800 - rev 327715
Push 10268 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:47:23 +0000
Bug 1208371 - Add `NotifyPrincipalIdChange` to MediaStreamTrackListener. r?mt,roc
fd88bb9375359e77471dbe1f2a600baa561afecd: Bug 1208371 - Add PrincipalID to MediaChunks. r?mt,roc draft
Andreas Pehrson <pehrsons@gmail.com> - Mon, 01 Feb 2016 23:45:11 +0800 - rev 327714
Push 10268 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:47:23 +0000
Bug 1208371 - Add PrincipalID to MediaChunks. r?mt,roc PrincipalID is a void pointer that can be passed by value in the MSG. A MediaStreamTrack whose source has just updated its principal, sets the new principal aside (as its "pending principal"), and combines the new principal into its current principal. Then the source starts passing the new principal to the MediaStreamGraph as a PrincipalID (the nsIPrincipal is static_cast()ed). Changes to a track's PrincipalID on the MSG will be surfaced through the MediaStreamTrackListener API. These changes are dispatched to main thread and compared to a MediaStreamTrack's pending principal. In case of a match the track knows the correct principal is flowing and can move the pending principal to the current principal and update any main thread principal observers.
fb1a6e4cbba4c65344442c0ce484c931007575aa: testAssert draft
Andreas Pehrson <pehrsons@gmail.com> - Mon, 11 Jan 2016 12:32:00 +0800 - rev 327713
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
testAssert
18a6a7edf0e35f1b87339726583f2cc773bfd31e: Bug 1208371 - Forward declare DOMMediaStream in HTMLMediaElement.h. r?roc draft
Andreas Pehrson <pehrsons@gmail.com> - Sat, 23 Jan 2016 23:20:28 +0800 - rev 327712
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Forward declare DOMMediaStream in HTMLMediaElement.h. r?roc
2447dc54130fa26bb20519fa6311f68a429a3abc: Bug 1208371 - Forward declare MediaStreamGraph classes in MediaPipeline.h. r?bwc draft
Andreas Pehrson <pehrsons@gmail.com> - Tue, 26 Jan 2016 16:19:08 +0800 - rev 327711
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Forward declare MediaStreamGraph classes in MediaPipeline.h. r?bwc
c79051ff2919b0ccdba376b7b7a4b230eb3a4fd8: Bug 1208371 - Move GetCurrentTime undef to DOMMediaStream.cpp. r?jesup draft
Andreas Pehrson <pehrsons@gmail.com> - Fri, 22 Jan 2016 17:23:10 +0800 - rev 327710
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Move GetCurrentTime undef to DOMMediaStream.cpp. r?jesup Not sure why this surfaced now. Include ordering must have changed.
bfa914607fe2a5a73a8f091950f6dadf0500325b: Bug 1208371 - Move MediaStreamTrack's label to MediaStreamTrackSource. r?jib draft
Andreas Pehrson <pehrsons@gmail.com> - Fri, 22 Jan 2016 16:27:37 +0800 - rev 327709
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Move MediaStreamTrack's label to MediaStreamTrackSource. r?jib
afa9ff5e46a45a6c9e23d1dc92897462e73c2847: Bug 1208371 - Clean up unnecessary virtuals in MediaPipeline. r?bwc draft
Andreas Pehrson <pehrsons@gmail.com> - Fri, 22 Jan 2016 11:34:15 +0800 - rev 327708
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Clean up unnecessary virtuals in MediaPipeline. r?bwc
9c58cf8b2d3996f36758b216492c5aea9e819648: Bug 1208371 - Forward declare MediaStreamTrack in MediaPipeline.h. r?bwc draft
Andreas Pehrson <pehrsons@gmail.com> - Fri, 22 Jan 2016 11:33:43 +0800 - rev 327707
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Forward declare MediaStreamTrack in MediaPipeline.h. r?bwc
155049af98d5ab0418655c88ec113f4b7ba611cd: Bug 1208371 - Ensure a media element's ImageContainer is protected when playing a stream. r?mt,roc draft
Andreas Pehrson <pehrsons@gmail.com> - Tue, 26 Jan 2016 16:42:48 +0800 - rev 327706
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Ensure a media element's ImageContainer is protected when playing a stream. r?mt,roc HTMLMediaElement needs special protection when playing a stream since its ImageContainer can outlive the video track of a stream. Consider for instance when a (cross-origin) video track is removed from a DOMMediaStream by a user and the remaining video track (non-CORS) does not yet contain any actual video frames. The HTMLMediaElement will display a frame from the removed track but the DOMMediaStream's principal has been updated to not include the principal from the removed track. With this patch we handle this by letting VideoFrameContainer notify HTMLMediaElement when it has flushed out all video frames belonging to a certain principalId. I.e., when a new principalId has been applied to the underlying ImageContainer.
bbd1b12d3fe3f97bbebe77217f330b38f0103abb: Bug 1208371 - Ensure DOMMediaStream principals reflect what could reside in their playback streams. r?mt,roc draft
Andreas Pehrson <pehrsons@gmail.com> - Tue, 26 Jan 2016 18:51:18 +0800 - rev 327705
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Ensure DOMMediaStream principals reflect what could reside in their playback streams. r?mt,roc Calculating a principal when adding a track is easy - just combine the new track principal into the stream's principal. When removing a track it's a bit trickier. The DOMMediaStream has to wait until the MediaStreamGraph has removed the track from the underlying playback stream. We do this by letting the MediaStreamGraph return a Pledge (single threaded Promise) when blocking a track in a stream (the way we end removed tracks). The pledge gets passed to the MediaStreamGraph and when the block has been applied it is passed back to the main thread where it is finally resolved and the DOMMediaStream may recompute its principal once all outstanding track removals have been applied.
288edbd97ade271713d8d0d19aaaf903d80ba152: Bug 1208371 - Hook up MediaPipeline with principalId. r?mt,bwc draft
Andreas Pehrson <pehrsons@gmail.com> - Tue, 26 Jan 2016 18:34:03 +0800 - rev 327704
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Hook up MediaPipeline with principalId. r?mt,bwc
8233a6fed9709d9d8039cc7f73f4ad0e9d8fed2e: Bug 1208371 - Hook up DecodedStream with principalId. r?mt,jwwang draft
Andreas Pehrson <pehrsons@gmail.com> - Tue, 26 Jan 2016 16:01:58 +0800 - rev 327703
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Hook up DecodedStream with principalId. r?mt,jwwang
f3a0fe0c3cad03b935c0d5e1642402486d491389: Bug 1208371 - Add a PrincipalIdListener to MediaStreamTrack. r?roc,mt draft
Andreas Pehrson <pehrsons@gmail.com> - Tue, 26 Jan 2016 18:33:41 +0800 - rev 327702
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Add a PrincipalIdListener to MediaStreamTrack. r?roc,mt
ae2f4bdaed8018d02ec321b124bfbb882be8b7c4: Bug 1208371 - Add `NotifyPrincipalIdChange` to MediaStreamTrackListener. r?mt,roc draft
Andreas Pehrson <pehrsons@gmail.com> - Tue, 26 Jan 2016 16:45:25 +0800 - rev 327701
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Add `NotifyPrincipalIdChange` to MediaStreamTrackListener. r?mt,roc
5bd89153cee22bf58b07be10f8cddcf1c2e11211: Bug 1208371 - Add PrincipalID to MediaChunks. r?mt,roc draft
Andreas Pehrson <pehrsons@gmail.com> - Tue, 26 Jan 2016 16:06:56 +0800 - rev 327700
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Add PrincipalID to MediaChunks. r?mt,roc PrincipalID is a void pointer that can be passed by value in the MSG. A MediaStreamTrack whose source has just updated its principal, sets the new principal aside (as its "pending principal"), and combines the new principal into its current principal. Then the source starts passing the new principal to the MediaStreamGraph as a PrincipalID (the nsIPrincipal is static_cast()ed). Changes to a track's PrincipalID on the MSG will be surfaced through the MediaStreamTrackListener API. These changes are dispatched to main thread and compared to a MediaStreamTrack's pending principal. In case of a match the track knows the correct principal is flowing and can move the pending principal to the current principal and update any main thread principal observers.
1b3c17817cd0449588fb05db841252fec06f0dfe: Bug 1208371 - Move FindTrack from SourceMediaStream to MediaStream. r?roc draft
Andreas Pehrson <pehrsons@gmail.com> - Thu, 21 Jan 2016 19:25:25 +0800 - rev 327699
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Move FindTrack from SourceMediaStream to MediaStream. r?roc
5ca6f64fd90d9cccf82323e9dd0acb70e40ec373: Bug 1208371 - Ensure that MediaManager ends all tracks before finishing its source stream. r?jib draft
Andreas Pehrson <pehrsons@gmail.com> - Tue, 26 Jan 2016 19:03:58 +0800 - rev 327698
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Ensure that MediaManager ends all tracks before finishing its source stream. r?jib This puts all the logic in GetUserMediaCallbackMediaStreamListener and none in MediaOperationTask to make it simpler to reason about what's happening. When we want to stop a track, the gUMCallbackListener will send a MEDIA_STOP_TRACK if other tracks will still be live. If it was the last live track, the gUMCallbackListener will send a MEDIA_STOP instead. The MEDIA_STOP makes sure the passed in devices (we pass in all) are stopped before finishing the stream.
3e92e5986c53ba0e68ea5e7404979a07c7ed2f20: Bug 1208371 - Assert when stream finishes but contains live tracks. r?roc draft
Andreas Pehrson <pehrsons@gmail.com> - Thu, 21 Jan 2016 19:23:56 +0800 - rev 327697
Push 10267 by pehrsons@gmail.com at Mon, 01 Feb 2016 15:35:08 +0000
Bug 1208371 - Assert when stream finishes but contains live tracks. r?roc This was the cause of some intermittent assertion failures, as the non-ended track didn't contain enough data when linked to other streams in the graph, but input extraction wouldn't get that data since the stream was finished.
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip