Commit Graph

208 Commits

Author SHA1 Message Date
Paul Adenot
a1777772d7 Bug 1404977 - Part 13 - Remove useless mutex, and assert why they were useless, in WebRTCAudioDataListeners. r=pehrsons
MozReview-Commit-ID: 2Mb5WZXbYgS

--HG--
extra : rebase_source : c4a7c8874919901eb11327cfb5f86d6b185be388
2018-05-31 16:44:00 +02:00
Paul Adenot
064d4d9b47 Bug 1404977 - Part 8 - Tell the MSG the MediaEngineAudioSource are now independent and that we can have multiple of them, cleanup the MSG-side API for managing them. r=pehrsons
The MSG now can feed microphone data to all its input listeners. This paves the
way for multiple input device, if we feel it's needed at some point, but does
not implement it.

The method for adding/removing inputs are also cleaned up.

MozReview-Commit-ID: 9OX4Da6Gjq2

--HG--
extra : rebase_source : 043c486e53f9220ae61fd788ed86064ba723f1a4
2018-04-30 16:01:38 +02:00
Paul Adenot
2ba8afaf4c Bug 1404977 - Part 5 - Allow querying the number of input channels from a WebRTCAudioDataListener. r=pehrsons
MozReview-Commit-ID: JkpEZOJpOTl

--HG--
extra : rebase_source : 055d86792861028c9a998b9731651b7e121f9bb0
2018-04-30 15:30:58 +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
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
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
a1cfe22210 Bug 1444976 - Use the AsyncLog to implement a tracing subsystem for real-time media. r=pehrsons
Use it like this:

MOZ_DISABLE_CONTENT_SANDBOX=1 MOZ_LOG=MSGTracing:5,sync,raw MOZ_LOG_FILE=trace.log ./mach run

Now open `chrome://tracing` and load the file.

Lanes are threads, thread 0 is the audio callback thread, the other thread have
normal numbers.

Thread 1 shows the theoretical budget we have for a particular audio callback.

MozReview-Commit-ID: 87woGiFT4ID

--HG--
extra : rebase_source : 03cefb8edf12b077607ae71aeb999fd0ac966674
extra : source : 14929579ba3f71f14c9d81b6ed88563d35da11e0
2018-03-20 18:22:08 +01: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
a28be80f69 Bug 1444976 - Use the AsyncLog to implement a tracing subsystem for real-time media. r=pehrsons
Use it like this:

MOZ_DISABLE_CONTENT_SANDBOX=1 MOZ_LOG=MSGTracing:5,sync,raw MOZ_LOG_FILE=trace.log ./mach run

Now open `chrome://tracing` and load the file.

Lanes are threads, thread 0 is the audio callback thread, the other thread have
normal numbers.

Thread 1 shows the theoretical budget we have for a particular audio callback.

MozReview-Commit-ID: 87woGiFT4ID

--HG--
extra : rebase_source : b4310af51efa83c6670ba4e37433f7a23a575bba
extra : source : 14929579ba3f71f14c9d81b6ed88563d35da11e0
2018-03-20 18:22:08 +01:00
Cosmin Sabou
2680ecadac Backed out 3 changesets (bug 1444976) for build bustages on dom/media/AsyncLogger. CLOSED TREE
Backed out changeset b021b33ddf74 (bug 1444976)
Backed out changeset 822a57090d84 (bug 1444976)
Backed out changeset 0fa5f7cfee1d (bug 1444976)
2018-04-17 13:07:12 +03:00
Paul Adenot
7e374f59ca Bug 1444976 - Use the AsyncLog to implement a tracing subsystem for real-time media. r=pehrsons
Use it like this:

MOZ_DISABLE_CONTENT_SANDBOX=1 MOZ_LOG=MSGTracing:5,sync,raw MOZ_LOG_FILE=trace.log ./mach run

Now open `chrome://tracing` and load the file.

Lanes are threads, thread 0 is the audio callback thread, the other thread have
normal numbers.

Thread 1 shows the theoretical budget we have for a particular audio callback.

MozReview-Commit-ID: 87woGiFT4ID

--HG--
extra : rebase_source : 52d0b6a3b054238c79f1b224d6cbfcbaec743a67
extra : source : 14929579ba3f71f14c9d81b6ed88563d35da11e0
2018-03-20 18:22:08 +01: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
Andreas Pehrson
7835856206 Bug 1447563 - Clear direct track listeners from TrackUnionStream during shutdown. r=padenot
MozReview-Commit-ID: 9PbpQpOaIIh

--HG--
extra : rebase_source : d37a941097e921de5b83753244ab1523b34157b8
2018-03-26 19:20:44 +02:00
Andreas Pehrson
2b25cd7258 Bug 1299515 - Signal SetPullEnabled with a message. r=padenot
With the added invariant that NotifyPull() needs a MediaStreamListener present
to not underrun, we need SetPullEnabled() and AddListener() to stay in sync by
using the same signaling mechanism.

MozReview-Commit-ID: 49KWdiTOG98

--HG--
extra : rebase_source : d0ad44d7ce431aa792c4908f96baf0c0920dbe90
2018-01-03 11:59:41 +01:00
Jean-Yves Avenard
0a4ce68473 Bug 1425623 - Don't allocate array on the heap. r=padenot
Instead allocate it on the stack and provide it as out parameter.

MozReview-Commit-ID: 9fSJ68EfAga

--HG--
extra : rebase_source : 81430b45e4341d0f4208097f021c2a917e8e2645
2017-12-17 15:47:44 +01:00
Jean-Yves Avenard
1fc0ccabbd Bug 1404997 - P20. Make MediaStreamListener::NotifyPull asynchronous. r=padenot
The operations is done in two ways:
1- Process all the MediaStreamListener at once, which returns a promise that will be resolved once the operation is completed.
2- As the Cubeb audio callback must be resolved immediately, the MSG will wait for all the promises to be resolved until it continues the operation of feeding the callback the necessary data.

This will allow to parallelize the stream's tracks' audio decoding.

MozReview-Commit-ID: EeoDvxnJyWV

--HG--
extra : rebase_source : 3d09af5aa3c80c4892a4d9af80842541d8fc33bb
2017-12-10 21:33:43 +01:00
Jean-Yves Avenard
8ee5b6a296 Bug 1404997 - P17. Split ExtractPendingInput into two methods. r=padenot
There were two steps happening inside ExtractPendingInput:
1- Retrieve the data from the StreamTracks
2- Process any pending pending states change

We split it so that the retrieval from the StreamTrack can be promisified in an upcoming change

MozReview-Commit-ID: 53O4fXWMDGL

--HG--
extra : rebase_source : da082fa8db3a9029dc05d845cb9f58514f5ffcff
2017-12-07 20:52:56 +01:00
Jean-Yves Avenard
d62fc9df33 Bug 1404997 - P15. Move MSG::FinishStream logic to MediaStream. r=padenot
It is good practice for the MSG to now know the implementation details of the MediaStream.

Additionally, this will allow to make a thread-safe version later.,

MozReview-Commit-ID: CTacCLSeKRP

--HG--
extra : rebase_source : 4feb4beb12f4cd2a6fb67fd6a18f003ea8b18869
2017-12-07 16:12:19 +01:00
Jean-Yves Avenard
a21ef82be7 Bug 1404997 - P14. Rename members to clarify the finish meaning. r=padenot
We have different concept of "finish" between the base class and its hierarchy.
Attempt to clear the sitatuation by renaming the members and related methods.

MozReview-Commit-ID: vFsXhMK5GY

--HG--
extra : rebase_source : 65eda9257e447584161da51af7c240e31027c501
2017-12-06 19:00:22 +01:00
Jean-Yves Avenard
55065b688d Bug 1404997 - P13. Move ExtractPendingInput logic to SourceMediaStream. r=padenot
The MSG shouldn't have to know about the inner details of the SourceMediaStream

MozReview-Commit-ID: 2S81SPzy09E

--HG--
extra : rebase_source : dff8384b19442e7686cef42420372e39f10094b6
2017-12-06 16:55:56 +01:00
Jean-Yves Avenard
d1be81a96e Bug 1415556 - P10. Make functions const where needed. r=padenot
MozReview-Commit-ID: EBEgDVCTewa

--HG--
extra : rebase_source : 282ea4f98d253e9235f159afd7d3f88a4f26d6b1
2017-11-10 20:01:27 +01:00
Jean-Yves Avenard
2eda28dd35 Bug 1415556 - P3. clearly mark functions' thread use. r=padenot
MozReview-Commit-ID: BXmdk4zBo28

--HG--
extra : rebase_source : 4afd6fa5e887aff093e7a9e629e8c93573f17631
2017-11-10 18:24:20 +01:00
Jean-Yves Avenard
d79f854f37 Bug 1415556 - P1. Add precision on thread access with some members. r=padenot
Describe which members are accessed on the main threads. Other members are only accessed on MSG thread.

MozReview-Commit-ID: CFU4ipRHB1P

--HG--
extra : rebase_source : ad4843da513997a633d2d402384f9478df29c3a7
2017-11-10 17:28:59 +01:00
Andreas Pehrson
e22e9cf471 Bug 1407542 - Implement MediaStreamGraph::GetInstanceIfExists. r=padenot
MozReview-Commit-ID: EAd0rIrZg43

--HG--
extra : rebase_source : 2fdfc1ce361b9f9d6c43ffa887c54c88e6157f11
2017-10-23 19:08:40 +02:00
Andreas Pehrson
71cacec3d5 Bug 1410829 - Signal listeners removed on shutdown so they can clean up. r=padenot
When shutting down we shut modules down in the order of
[media, gfx, cycleCollector].

At the same time we rely on destructors to clean up resources for MediaStreams
and MediaStreamTracks, but these objects may be held until cycleCollector
shutdown. Gfx resources are not allowed to be released after gfx shutdown, which
is where we this approach hits a wall.

This patch will signal them through the three available listener types to clean
up during media shutdown.

MozReview-Commit-ID: FwsG3ukV29P

--HG--
extra : rebase_source : 554ec29a43b7551b3b5570577b0559285e36d4fd
2017-10-26 16:13:38 +02:00
Karl Tomlinson
449d985d8e bug 1406831 don't tolerate just owning the monitor if AssertOnGraphThreadOrNotRunning() is not called on the correct thread r=pehrsons
Owning the monitor is not sufficient for consistent state if state can be
accessed without the monitor.

The requirements for SetCurrentDriver() are tighted to require both the
monitor and correct thread, as CurrentDriver() can be called either with the
monitor or on the graph thread.

MozReview-Commit-ID: 90q7Pfa8jxn

--HG--
extra : rebase_source : 6cbcc334dc2bd355d2e9afdebda45a9624edda4b
2017-09-28 15:30:48 +13:00
Andreas Pehrson
d918302551 Bug 1319446 - DirectMediaStreamListener, you are dead to me. r=padenot
MozReview-Commit-ID: KwztE5ogSj9

--HG--
extra : rebase_source : e8e6bb3548c5697c5db901c0310ea5067a30c895
2017-09-27 12:01:46 +02:00
Matthew Gregan
2f8cc7804c Bug 1388236 - Remove B2G-only AudioChannel code from MSG. r=padenot 2017-08-10 13:00:08 +12:00
Carsten "Tomcat" Book
daa67cc9e3 merge mozilla-inbound to mozilla-central a=merge 2017-06-30 12:59:45 +02:00
Paul Adenot
404c800005 Bug 1341555 - Consolidate use of the MSG's AbstractMainThread, and stop having AbstractMainThread on MediaStreams. r=pehrsons
MozReview-Commit-ID: 5hGDQcfpH6a

--HG--
extra : rebase_source : 41bb678f37cfcdbc9912a25f45a5ca488084aabe
2017-06-29 11:30:57 -07:00
Paul Adenot
91cc425f9a Bug 1341555 - Label MSG runnables. r=pehrsons
MozReview-Commit-ID: 4sfRH3FxtBT

--HG--
extra : rebase_source : 1c473d1f6c7f79462c39126dc7bb9116948cca54
2017-06-29 11:31:17 -07:00
Paul Adenot
6e485889b8 Bug 1330360 - Create new MSGs for each nsPIDOMWindow. r=jesup
MozReview-Commit-ID: 5m1MGcLmT7J

--HG--
extra : rebase_source : b9c05464bb545c047b7718a048eb7e5de3fe275d
2017-06-23 16:18:34 -07:00
Alex Chronopoulos
41737dc1af Bug 1213414 - Implement channelCount audio constraint. r=jib,padenot
MozReview-Commit-ID: K95iBYOE1nR

--HG--
extra : rebase_source : 5c73eea4902933faec75e37d90e42a2f38c51b81
2017-06-29 21:01:17 -07:00
Jean-Yves Avenard
10d2da1b08 Bug 1374596: P7. Fix includes as per coding style. r=padenot
MozReview-Commit-ID: 5WfOWcOoxg0

--HG--
extra : rebase_source : 988c09623e83a0d9188d9ff5d705314e2c43e756
2017-06-20 17:56:55 +02:00
Jean-Yves Avenard
f6c116ae1a Bug 1374596: P1. Fix MediaStream* headers. r=padenot
We had a cycle reference between MediaStreamGraph.h and MediaStreamListener.h so we extract those parts and move them into its own header.

MozReview-Commit-ID: FeLFFBglD0Y

--HG--
extra : rebase_source : 257cb3dc8cb3fee6ecc5e03daed7724670c25471
2017-06-20 17:18:53 +02:00
Dan Minor
f41633e415 Bug 1319489 - Make it possible for "fake" media streams to inherit from real streams; r=jesup
MozReview-Commit-ID: 8sBzMmTVhQU

--HG--
extra : rebase_source : 4aeb46774df76b170abbd47b239457519b81615c
2017-01-10 09:57:16 -05:00
Bevis Tseng
72d516ef01 Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang
MozReview-Commit-ID: 1KgE3uKu4CG

--HG--
extra : rebase_source : 2ad950afe84675fb9bc4c449e53e7c0d52270175
2016-12-07 22:00:12 -10:00
Dan Minor
dcbd6cadd3 Bug 1172997 - Track suspended MediaStream inputs separately to optimize input processing; r=karlt
MozReview-Commit-ID: Id7vVSCFO76

--HG--
extra : rebase_source : 07422697aa617d89c6eee7bb5446922223a66169
2016-08-24 13:04:33 -04:00
Sebastian Hengst
3c1524e5e0 Bug 1306137 - remove b2g camera code: Remove dom/camera/ and code which depends on it. r=aosmond,bkelly
MozReview-Commit-ID: 7gvZrDtmcZP

--HG--
extra : rebase_source : 31f06357fdc36566465668f55bf3fcc5402fe9e0
2016-10-04 20:16:28 +02:00
Andreas Pehrson
b8ed2ee25c Bug 1299172 - Assert on MSG thread in DispatchToMainThreadAfterStreamStateUpdate. r=jesup
MozReview-Commit-ID: 9ihJduZOSa

--HG--
extra : rebase_source : 1088fc98f97456c933f146565ba91ce0358e6a4c
2016-08-31 14:07:53 +02:00
Ryan VanderMeulen
e5adfbffe6 Merge m-c to autoland. a=merge
--HG--
rename : accessible/tests/browser/browser_caching_attributes.js => accessible/tests/browser/e10s/browser_caching_attributes.js
rename : accessible/tests/browser/browser_caching_description.js => accessible/tests/browser/e10s/browser_caching_description.js
rename : accessible/tests/browser/browser_caching_name.js => accessible/tests/browser/e10s/browser_caching_name.js
rename : accessible/tests/browser/browser_caching_relations.js => accessible/tests/browser/e10s/browser_caching_relations.js
rename : accessible/tests/browser/browser_caching_states.js => accessible/tests/browser/e10s/browser_caching_states.js
rename : accessible/tests/browser/browser_caching_value.js => accessible/tests/browser/e10s/browser_caching_value.js
rename : accessible/tests/browser/browser_events_caretmove.js => accessible/tests/browser/e10s/browser_events_caretmove.js
rename : accessible/tests/browser/browser_events_hide.js => accessible/tests/browser/e10s/browser_events_hide.js
rename : accessible/tests/browser/browser_events_show.js => accessible/tests/browser/e10s/browser_events_show.js
rename : accessible/tests/browser/browser_events_statechange.js => accessible/tests/browser/e10s/browser_events_statechange.js
rename : accessible/tests/browser/browser_events_textchange.js => accessible/tests/browser/e10s/browser_events_textchange.js
rename : accessible/tests/browser/browser_treeupdate_ariadialog.js => accessible/tests/browser/e10s/browser_treeupdate_ariadialog.js
rename : accessible/tests/browser/browser_treeupdate_ariaowns.js => accessible/tests/browser/e10s/browser_treeupdate_ariaowns.js
rename : accessible/tests/browser/browser_treeupdate_canvas.js => accessible/tests/browser/e10s/browser_treeupdate_canvas.js
rename : accessible/tests/browser/browser_treeupdate_cssoverflow.js => accessible/tests/browser/e10s/browser_treeupdate_cssoverflow.js
rename : accessible/tests/browser/browser_treeupdate_doc.js => accessible/tests/browser/e10s/browser_treeupdate_doc.js
rename : accessible/tests/browser/browser_treeupdate_gencontent.js => accessible/tests/browser/e10s/browser_treeupdate_gencontent.js
rename : accessible/tests/browser/browser_treeupdate_hidden.js => accessible/tests/browser/e10s/browser_treeupdate_hidden.js
rename : accessible/tests/browser/browser_treeupdate_imagemap.js => accessible/tests/browser/e10s/browser_treeupdate_imagemap.js
rename : accessible/tests/browser/browser_treeupdate_list.js => accessible/tests/browser/e10s/browser_treeupdate_list.js
rename : accessible/tests/browser/browser_treeupdate_list_editabledoc.js => accessible/tests/browser/e10s/browser_treeupdate_list_editabledoc.js
rename : accessible/tests/browser/browser_treeupdate_listener.js => accessible/tests/browser/e10s/browser_treeupdate_listener.js
rename : accessible/tests/browser/browser_treeupdate_optgroup.js => accessible/tests/browser/e10s/browser_treeupdate_optgroup.js
rename : accessible/tests/browser/browser_treeupdate_removal.js => accessible/tests/browser/e10s/browser_treeupdate_removal.js
rename : accessible/tests/browser/browser_treeupdate_table.js => accessible/tests/browser/e10s/browser_treeupdate_table.js
rename : accessible/tests/browser/browser_treeupdate_textleaf.js => accessible/tests/browser/e10s/browser_treeupdate_textleaf.js
rename : accessible/tests/browser/browser_treeupdate_visibility.js => accessible/tests/browser/e10s/browser_treeupdate_visibility.js
rename : accessible/tests/browser/browser_treeupdate_whitespace.js => accessible/tests/browser/e10s/browser_treeupdate_whitespace.js
rename : accessible/tests/browser/doc_treeupdate_ariadialog.html => accessible/tests/browser/e10s/doc_treeupdate_ariadialog.html
rename : accessible/tests/browser/doc_treeupdate_ariaowns.html => accessible/tests/browser/e10s/doc_treeupdate_ariaowns.html
rename : accessible/tests/browser/doc_treeupdate_imagemap.html => accessible/tests/browser/e10s/doc_treeupdate_imagemap.html
rename : accessible/tests/browser/doc_treeupdate_removal.xhtml => accessible/tests/browser/e10s/doc_treeupdate_removal.xhtml
rename : accessible/tests/browser/doc_treeupdate_visibility.html => accessible/tests/browser/e10s/doc_treeupdate_visibility.html
rename : accessible/tests/browser/doc_treeupdate_whitespace.html => accessible/tests/browser/e10s/doc_treeupdate_whitespace.html
rename : accessible/tests/browser/events.js => accessible/tests/browser/e10s/events.js
rename : browser/components/extensions/test/browser/browser_ext_pageAction_context.js => browser/components/extensions/test/browser/browser_ext_pageAction_title.js
rename : browser/components/extensions/test/browser/browser_ext_pageAction_context.js => browser/components/extensions/test/browser/head_pageAction.js
rename : dom/events/test/pointerevents/pointerevent_element_haspointercapture.html => dom/events/test/pointerevents/pointerevent_element_haspointercapture-manual.html
rename : dom/events/test/pointerevents/test_pointerevent_element_haspointercapture.html => dom/events/test/pointerevents/test_pointerevent_element_haspointercapture-manual.html
rename : gfx/thebes/DeviceManagerD3D11.cpp => gfx/thebes/DeviceManagerDx.cpp
rename : gfx/thebes/DeviceManagerD3D11.h => gfx/thebes/DeviceManagerDx.h
rename : media/webrtc/trunk/tools/gyp/test/compiler-override/compiler.gyp => media/webrtc/trunk/tools/gyp/test/compiler-override/compiler-exe.gyp
rename : media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings => media/webrtc/trunk/tools/gyp/test/ios/app-bundle/TestApp/English.lproj/InfoPlist-error.strings
rename : media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings => media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist-error.strings
rename : media/webrtc/trunk/tools/gyp/test/mac/gyptest-postbuild-static-library.gyp => media/webrtc/trunk/tools/gyp/test/mac/gyptest-postbuild-static-library.py
rename : media/webrtc/trunk/tools/gyp/test/rules/src/subdir4/asm-function.asm => media/webrtc/trunk/tools/gyp/test/rules/src/subdir4/asm-function.assem
rename : mfbt/unused.h => mfbt/Unused.h
rename : testing/web-platform/tests/pointerevents/pointerevent_element_haspointercapture.html => testing/web-platform/tests/pointerevents/pointerevent_element_haspointercapture-manual.html
extra : rebase_source : a3de7d91a61df9b14fe07a89f5b0184a067549cf
2016-08-25 08:14:36 -04:00
Randell Jesup
fd2b3d5eb8 Bug 1255737: don't set a shutdown timer if we don't have a shutdown ticket r=pehrsons 2016-08-24 12:24:17 -04:00
Andreas Pehrson
9a907cfbfc Bug 1259788 - Add a new disabled mode for MSG tracks. r=jesup
MozReview-Commit-ID: 1dMTR4Wmcd8

--HG--
extra : rebase_source : 8c2ea262d53901a11ec5c0e5067f328461dee8f2
2016-08-15 14:19:42 +02:00
Randell Jesup
78bb875898 Backed out 3 changesets 74668b4ab3ea c612cd6788e0 418acf685ec2 (bug 1255737) for shutdown leaks
on a CLOSED TREE
2016-08-23 17:11:18 -04:00
Randell Jesup
d95ef53b00 Bug 1255737: increase audio callback shutdown timeout to 45 seconds to reduce oranges/leaks r=kwierso
on a CLOSED TREE
2016-08-23 16:17:49 -04:00
Randell Jesup
8822a089e9 Bug 1255737: downgrade NS_ASSERTION to NS_WARNING due to linux32 VMs rs=bustage
on a CLOSED TREE
2016-08-23 14:50:47 -04:00
Randell Jesup
6b1a2c2b21 Bug 1255737: don't wait more than 15 seconds for an AudioCallbackDriver to exit r=pehrsons
Avoids running into the stalled-shutdown killer if the audio driver/OS is stupid

MozReview-Commit-ID: 58SUg2Xt37C
2016-08-23 12:47:45 -04:00
Randell Jesup
2f4c72af04 Bug 1293976: make mAudioInputs use RefPtrs r=pehrsons 2016-08-17 16:31:56 -04:00
ctai
2c69985ffe Bug 1201363 - Call MediaStreamVideoSink::setCurrentFrames in SourceMediaStream::AppendToTrack. r=jesup
In this patch, we first deal with the case of MediaElement. Now we replace |PlayVideo| with |VideoFrameContainer::SetCurrentFrames| in |SourceMediaStream::AppendToTrack|. The MSG use TimeStamp::Now() for the TimeStamp of each video frame in most of case except MediaElement case. Becasue the MediaElement has its own VideoQueue, we need to calucalte the correct Timestamp based on the StartTimeStamp of this MediaStream and the elpased time of the video frame in DecodedStream.

MozReview-Commit-ID: 2bm2AHkFXHu

--HG--
extra : transplant_source : %3D%AA%00%CE%A3SV5%8F%84%96%AC%E2%D9%10%EC%85%07N%DF
2016-07-25 10:01:26 +08:00
ctai
0444986d79 Bug 1201363 - Let MediaStreamVideoSink bind with particular video track. r=jesup
MozReview-Commit-ID: FcjnmDKuRQI

--HG--
extra : transplant_source : %C3%D3%08%E5%C7%CA%9E%7C%F9L%C0w%C2o%11%16%877%04%21
2016-05-27 14:33:50 +08:00