Karl Tomlinson
eef432eb65
bug 1197043 use flags to distinguish between external streams and events r=padenot
...
MediaStreamAudioDestinationNode does not need any main thread events because
mDOMStream provides GetCurrentTime to consumers.
MediaRecoder also does not use main thread current time.
2015-08-13 16:13:34 +12:00
Karl Tomlinson
e1a0259288
bug 1197043 move AudioNodeStream creation to stream class r=padenot
2015-08-12 11:26:24 +12:00
Karl Tomlinson
929cc89e5c
bug 1197043 introduce MediaStreamGraph::AddStream() r=padenot
2015-08-12 11:46:56 +12:00
Karl Tomlinson
6cd5ece601
bug 1197043 rename Add/RemoveStream to Add/RemoveStreamGraphThread r=padenot
2015-08-12 11:29:35 +12:00
Karl Tomlinson
e4c3b24c5c
bug 1197043 remove unnecessary aSampleRate parameter for AudioNodeStream creation r=padenot
2015-08-12 11:04:13 +12:00
Karl Tomlinson
90e01e321b
bug 1198100 remove mNotificationMainThreadRunnable r=baku
...
If AddMainThreadListener() were called multiple times after
mFinishedNotificationSent is set then we'd get some extra NotifyRunnables but
NotifyMainThreadListeners() clears mMainThreadListeners anyway so we still get
only one notification per listener.
mNotificationMainThreadRunnable is an unnecessary optimization, so better not
to add storage to every MediaStream.
2015-08-24 11:54:24 +12:00
Benjamin Chen
ef567f9a1f
Bug 762774 - Increase the timeout and reduce the testcase loop times. r=jwwang
2015-08-20 18:05:28 +08:00
JW Wang
f47a4c441b
Bug 1196112 - Part 2: Remove DecodedStream::mMonitor. r=roc
2015-08-24 21:05:32 +08:00
JW Wang
1c35dd00db
Bug 1196112 - Part 1: Ensure all members except |mShuttingDown| and |mOutputStreamManager| are accessed on the worker thread only. r=roc
2015-08-24 21:05:22 +08:00
Ryan VanderMeulen
5fab0a5ef7
Backed out changesets b2eb913e58c9 and c678e1317fa0 (bug 1196112) for suspicion of causing bug 1197977.
2015-08-24 16:44:14 -04:00
Jean-Yves Avenard
8c3fa84bb5
Bug 1197664: Report the total number of decoded frames. CLOSED TREE r=kentuckyfriedtakahe
2015-08-24 23:46:35 +10:00
Jean-Yves Avenard
ad331ffb64
Bug 1195073: [MSE] P7. Determine a WebM Media Segment end as early as available information permits. r=kinetik
...
Most cluster contains information about their size. When known, we don't need to wait until the next media segment is received to determine its size.
2015-08-24 23:13:50 +10:00
Jean-Yves Avenard
efa9eb4a99
Bug 1195073: [webm] P6. Calculate cluster's end offset if its size is known in advance. r=kinetik.
...
This allows to detect the end of a webm media segment without having to wait for the start of a new one.
Also record where an init segment (EBML) starts as this will be required by the WebM ContainerParser.
2015-08-24 23:13:49 +10:00
Jean-Yves Avenard
948ffb0e02
Bug 1195073: [MSE] P5. Detect out of order appends and recreate demuxer. r=gerald
...
The webm demuxer will only handle data where frames's a monotonically increasing.
2015-08-24 23:13:49 +10:00
Jean-Yves Avenard
aabee8c31a
Bug 1195073: [MSE/webm] P4. Limit nestegg reads to the last block's boundaries. r=kinetik
...
This prevent entering into an unrecoverable error state when parsing incomplete data as often seen with MSE.
2015-08-24 23:13:48 +10:00
Jean-Yves Avenard
f5a3b94e33
Bug 1195073: [webm] P3. Initialize members. r=kinetik
2015-08-24 23:13:48 +10:00
Jean-Yves Avenard
7414edb779
Bug 1195073: [webm] P2. Add WebMBufferedState::GetLastBlockOffset method. r=kinetik
...
MSE may input partial media segment, which could cause the WebMDemuxer and libnestegg to error upon encountering an incomplete block which can't be recovered from.
this will allow to limit read to known complete blocks.
2015-08-24 23:13:47 +10:00
Jean-Yves Avenard
c225b5af8d
Bug 1195073: [MSE/webm] P1. Detect individual webm clusters. r=kinetik
...
WebMContainerParser was incorrectly reporting webm blocks rather than clusters, causing the webm demuxer to later fail to parse the remaining data.
2015-08-24 23:13:47 +10:00
JW Wang
e9b8009bb0
Bug 1196112. Part 2 - Remove DecodedStream::mMonitor. r=roc.
2015-08-24 21:05:32 +08:00
JW Wang
b97c645e7d
Bug 1196112. Part 1 - ensure all members except |mShuttingDown| and |mOutputStreamManager| are accessed on the worker thread only. r=roc.
2015-08-24 21:05:22 +08:00
JW Wang
c3779d12d4
Bug 1194112. Part 6 - add a test case to test the exclusive mode. r=kinetik.
2015-08-24 10:38:42 +08:00
JW Wang
d1c97f787d
Bug 1194112. Part 5 - remove dead code. r=kinetik.
2015-08-24 10:38:37 +08:00
JW Wang
060b233cbe
Bug 1194112. Part 4 - reimplement Listener/ListenerImpl to support Move. r=kinetik.
2015-08-24 10:38:33 +08:00
JW Wang
08411d1da9
Bug 1194112. Part 3 - use perfect forwarding in MediaEventProducer::Notify() so MediaEventSource can decide whether to copy or move according to its ListenerMode. r=kinetik.
2015-08-24 10:38:28 +08:00
JW Wang
9b91ec3bcf
Bug 1194112. Part 2 - small code refactoring to reduce typing. r=kinetik.
2015-08-24 10:38:24 +08:00
JW Wang
74abae5d0a
Bug 1194112. Part 1 - extract event dispatch code from ListenerImpl to its own class. r=kinetik.
2015-08-24 10:38:16 +08:00
JW Wang
8c50add939
Bug 1195632. Part 2 - Have DecodedStream listen to push events of the media queues and call SendData() on its own without the help of MDSM. r=roc.
2015-08-24 10:04:21 +08:00
JW Wang
b42dce46e8
Bug 1195632. Part 1 - Let DecodedStream have a worker thread and asset some funtions on the worker thread. r=roc.
2015-08-24 09:55:30 +08:00
Alfredo Yang
aa1341c858
Bug 1197151 - Correct TaskQueue asertion. r=jya
2015-08-23 19:36:00 -04:00
Kelly Davis
273696f653
Bug 1197455 - Call ps_set_search() only after successful grammar compilation. r=anatal
2015-08-22 10:08:00 -04:00
Timothy B. Terriberry
a80d736abe
Bug 1196353 - Use standard Xiph extradata format to pass headers from demuxers to decoders. r=jya
2015-08-21 10:17:00 -04:00
Kelly Davis
78f72e4b3f
Bug 1193183 - Correctly implement SpeechRecognitionAlternative::confidence using ps_get_prob(). r=anatal
2015-08-11 07:03:00 -04:00
Ehsan Akhgari
f05685cb25
Bug 1197185 - Give NonE10s a virtual destructor; r=jesup
...
The Parent template class inherits from both NonE10s and PMediaParent,
and the latter has a virtual destructor. This confuses clang-tidy when
it wants to rewrite ~Parent() which is currently marked as virtual, and
it makes ~Parent() override which breaks the build since ~NonE10s() is
not virtual. The easiest way to work around this seems to be making
~NonE10s() virtual. See the discussion in
https://llvm.org/bugs/show_bug.cgi?id=24496 as well.
2015-08-21 17:53:35 -04:00
Alastor Wu
c2936c3691
Bug 1187092 - Refactor the suspend process. r=jwwang
2015-08-19 12:43:25 +08:00
Ryan VanderMeulen
f31d1cba33
Bug 1187903 - Skip various failure-prone EME tests on Windows debug.
2015-08-21 09:41:52 -04:00
Andrea Marchesini
259a723567
Bug 1191814 - WebSpeech synthesis API and AudioChannelService, r=eeejay
2015-08-21 11:58:06 +01:00
Sebastian Hengst
79abdcd746
Backed out changeset 6beb23f39237 (bug 1195073) because other parts of the bug have been backed out. r=backout
2015-08-21 11:31:59 +02:00
Sebastian Hengst
db07879887
Backed out 5 changesets 507a508aea7, 16669eed518d, 6f6fc1a91d07, 1e983ccb61cc, c5afa29ea85a (bug 1195073) for M2 and W5 on OSX and Linux and R(R2, Ru2) bustage on Linux. r=backout
...
Backed out changeset 507a508aea70 (bug 1195073)
Backed out changeset 16669eed518d (bug 1195073)
Backed out changeset 6f6fc1a91d07 (bug 1195073)
Backed out changeset 1e983ccb61cc (bug 1195073)
Backed out changeset c5afa29ea85a (bug 1195073)
2015-08-21 10:46:05 +02:00
Edwin Flores
e54922879c
Bug 1197051 - Don't try to decode ahead while seeking - r=jya
2015-08-21 17:25:46 +10:00
Jean-Yves Avenard
36e9ca19a9
Bug 1195073: [MSE] P6. Fix B2G build. a=bustage
2015-08-21 16:40:18 +10:00
Jean-Yves Avenard
bae9f15f36
Bug 1195073: [MSE] P5. Detect out of order appends and recreate demuxer. r=gerald
...
The webm demuxer will only handle data where frames's a monotonically increasing.
2015-08-21 16:15:36 +10:00
Jean-Yves Avenard
c3fd52b54a
Bug 1195073: [MSE/webm] P4. Limit nestegg reads to the last block's boundaries. r=kinetik
...
This prevent entering into an unrecoverable error state when parsing incomplete data as often seen with MSE.
2015-08-21 16:15:35 +10:00
Jean-Yves Avenard
34da482ec2
Bug 1195073: [webm] P3. Initialize members. r=kinetik
2015-08-21 16:15:35 +10:00
Jean-Yves Avenard
bc02eee4d2
Bug 1195073: [webm] P2. Add WebMBufferedState::GetLastBlockOffset method. r=kinetik
...
MSE may input partial media segment, which could cause the WebMDemuxer and libnestegg to error upon encountering an incomplete block which can't be recovered from.
this will allow to limit read to known complete blocks.
2015-08-21 16:15:34 +10:00
Jean-Yves Avenard
b430a15240
Bug 1195073: [MSE/webm] P1. Detect individual webm clusters. r=kinetik
...
WebMContainerParser was incorrectly reporting webm blocks rather than clusters, causing the webm demuxer to later fail to parse the remaining data.
2015-08-21 16:15:34 +10:00
Jean-Yves Avenard
cdfe186b45
Bug 1196398: [mp4] Do not allocate memory spanning across ftyp and moov atom. r=kentuckyfriedtakahe
...
A typical non-fragmented mp4 would have the ftyp atom located at the beginning of the mp4 and the moov at the end. We would to calculate the location of the metadata by spanning the byte range of the two atoms.
As such, we would typically allocate an amount of memory equivalent to the size of the mp4.
Instead we now reconstruct the metadata to only have the ftyp and moov atoms contiguously.
2015-08-21 15:35:31 +10:00
Jean-Yves Avenard
c9a46a7f39
Revert "Bug 1196398: [mp4] Do not allocate memory spanning across ftyp and moov atom. r=kentuckyfriedtakahe"
...
This reverts commit 73156610be5f
2015-08-21 14:48:23 +10:00
Jean-Yves Avenard
e1fba5fbd6
Bug 1196398: [mp4] Do not allocate memory spanning across ftyp and moov atom. r=kentuckyfriedtakahe
...
A typical non-fragmented mp4 would have the ftyp atom located at the beginning of the mp4 and the moov at the end. We would to calculate the location of the metadata by spanning the byte range of the two atoms.
As such, we would typically allocate an amount of memory equivalent to the size of the mp4.
Instead we now reconstruct the metadata to only have the ftyp and moov atoms contiguously.
2015-08-21 13:10:34 +10:00
Chris Pearce
df49e88fd2
Bug 1197022 - [EME] Disable dormant mode for EME videos on all channels. r=kentuckyfriedtakahe
2015-08-21 13:34:21 +12:00
Karl Tomlinson
4c9ecfb041
bug 1196632 pass ownership of runnables to NS_DispatchToMainThread r=jesup
...
The already_AddRefed<nsIRunnable>&& overload saves some ref-counting and
provides an assertion if called too late in shutdown.
2015-08-20 09:52:56 +12:00