Commit Graph

3945 Commits

Author SHA1 Message Date
Ryan VanderMeulen
0bb9f1e514 Backed out changeset ee800c0e234f (bug 1187092) for media crashes/asserts. 2015-08-18 13:11:05 -04:00
Alastor Wu
7ce5d8c0b5 Bug 1187092 - Refactor the suspend process. r=jwwang 2015-08-17 17:25:07 +08:00
Alfredo Yang
3e563b5168 Bug 1195625 - Use correct TaskQueue in SharedDecoderManager and H264Converter promise. r=jya
--HG--
extra : rebase_source : 6fb73739441e9236b268d6b3d085233643d4fcde
2015-08-17 23:47:00 -04:00
Alfredo Yang
7c28dff629 Bug 1179667 - Use MozPromise to initialize Gonk PlatformDecodeModule. r=jya
--HG--
extra : rebase_source : 5929c3f64a9fe7481ec910ea35d5328217503067
2015-08-17 23:05:00 -04:00
Sebastian Hengst
7d2dad58e7 Backed out changesets d0eee19c83cd, 0c54ee53678f, 5b202008a431, 81291b4e6dc3, acbc0d7e21cd, a7ceb6162a63 (bug 1194112) for Linux x64 Hazard failure. r=backout
Backed out changeset d0eee19c83cd (bug 1194112)
Backed out changeset 0c54ee53678f (bug 1194112)
Backed out changeset 5b202008a431 (bug 1194112)
Backed out changeset 81291b4e6dc3 (bug 1194112)
Backed out changeset acbc0d7e21cd (bug 1194112)
Backed out changeset a7ceb6162a63 (bug 1194112)
2015-08-18 11:11:38 +02:00
Sebastian Hengst
a133c6114b Backed out changesets 7610baf4a3ae, 6226b99f19bd, 157e41e32906, 60a3b1862f71 (bug 1195158). r=backout
Backed out changeset 7610baf4a3ae (bug 1195158)
Backed out changeset 6226b99f19bd (bug 1195158)
Backed out changeset 157e41e32906 (bug 1195158)
Backed out changeset 60a3b1862f71 (bug 1195158)
2015-08-18 10:52:09 +02:00
JW Wang
b47fc2fd4d Bug 1195158. Part 4 - remove unused code. r=cpearce. 2015-08-18 11:12:39 +08:00
JW Wang
c024260362 Bug 1195158. Part 3 - connect listeners. r=cpearce.
a. MediaMetadataManager is connected to MediaDecoderReader::mTimedMetadataEvent to receive TimedMetadata events.
b. OggReader publish TimedMetadata events through MediaDecoderReader::mTimedMetadataEvent.
c. MDSM calls MediaMetadataManager::DispatchMetadataIfNeeded to publish metadata if playback positoin reaches the publish time.
d. MediaDecoder is connected to MediaMetadataManager::mTimedMetadataEvent to receive TimedMetadata events.
e. MediaDecoder updates its metadata when TimedMetadata events are received.
2015-08-18 11:12:39 +08:00
JW Wang
2b46e9e678 Bug 1195158. Part 2 - Have OggReader send TimedMetadata events through a event source instead of direct calls to AbstractMediaDecoder::QueueMetadata. r=cpearce. 2015-08-18 11:12:39 +08:00
JW Wang
e82e865c9a Bug 1195158. Part 1 - Have MediaMetadataManager listen to an event source to receive TimedMetadata events. OggReader will send TimedMetadata events through an event source. This will break OggReader's dependency on AbstractMediaDecoder::QueueMetadata which then can be removed for it is against our goal to run all MediaDecoder's methods on the main thread. r=cpearce. 2015-08-18 11:12:38 +08:00
JW Wang
043e43feb6 Bug 1194112. Part 6 - add a test case to test the exclusive mode. r=kinetik. 2015-08-18 11:12:18 +08:00
JW Wang
efbb80586d Bug 1194112. Part 5 - remove dead code. r=kinetik. 2015-08-18 11:12:06 +08:00
JW Wang
1b22c5e8ce Bug 1194112. Part 4 - reimplement Listener/ListenerImpl to support Move. r=kinetik. 2015-08-18 11:11:53 +08:00
JW Wang
5f598a7653 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-18 11:11:42 +08:00
JW Wang
de505bd968 Bug 1194112. Part 2 - small code refactoring to reduce typing. r=kinetik. 2015-08-18 11:11:29 +08:00
JW Wang
45edb0c3a0 Bug 1194112. Part 1 - extract event dispatch code from ListenerImpl to its own class. r=kinetik. 2015-08-18 11:11:16 +08:00
JW Wang
119df69dbc Bug 1195187. Part 2 - add a new class OutputStreamManager for managing output streams. r=roc. 2015-08-18 10:58:13 +08:00
JW Wang
4b4299ef9a Bug 1195187. Part 1 - Move output stream connection/disconnection code to OutputStreamData. r=roc. 2015-08-18 10:57:56 +08:00
Jean-Yves Avenard
daa6ebd7d2 Bug 1180214: P2. Returns empty interval until we have a start time. r=cpearce 2015-08-18 09:21:56 +10:00
Jean-Yves Avenard
383ff17fc9 Bug 1180214: P1. Don't attempt to estimate duration until read metadata completed. r=cpearce
This revert to the behaviour prior bug 1175768
2015-08-18 09:21:56 +10:00
John Lin
8203f9fd80 Bug 1186845 - Let MP4Decoder handle 3GPP files if Gonk PDM is available. r=cpearce
--HG--
extra : rebase_source : 22a376b9b4724169b2e5661aa4c724cd6303fa50
2015-08-17 15:12:43 -07:00
Benjamin Chen
407a2892d3 Bug 1192733: add new testcase for dormant. r=jwwang
--HG--
extra : rebase_source : 4dcd86e2e06985b39f006a4fe80cb685e6880edb
2015-08-17 10:22:48 +08:00
Benjamin Chen
0af807cd51 Bug 1192733: fix the MediaFormatReader can not back from dormant state. r=jya
--HG--
extra : rebase_source : 185e32c16727be0a5138b936e56c72b20fa03f19
2015-08-14 12:02:15 +08:00
Bobby Holley
a663591994 Bug 1188976 - Hoist MozPromise into xpcom. r=froydnj
--HG--
rename : dom/media/MozPromise.h => xpcom/threads/MozPromise.h
2015-08-17 14:54:45 -07:00
Bobby Holley
747702d163 Bug 1188976 - Use mozilla::Tuple for InvokeAsync. r=froydnj 2015-08-17 14:54:44 -07:00
Bobby Holley
7cc6fc32f7 Bug 1188976 - Rename ProxyMediaCall to InvokeAsync. r=froydnj 2015-08-17 14:54:42 -07:00
Bobby Holley
5372d6d716 Bug 1188976 - Fix up include. r=me
Not sure how this didn't get fixed before.
2015-08-17 14:54:41 -07:00
Ehsan Akhgari
5e993ab31c Bug 1195051 - Part 4: Fix a null pointer crash happening after the destination node gets CCed
Landed on a CLOSED TREE
2015-08-17 11:45:25 -04:00
Ehsan Akhgari
bd4b9d61f6 Bug 1195051 - Part 2: Mute the destination node when the AudioContext is suspended, and unmute when resumed; r=padenot 2015-08-17 08:55:00 -04:00
Ehsan Akhgari
53b1ca8619 Bug 1195051 - Part 1: Do not unmute the destination node as soon as the AudioContext is constructed; r=padenot 2015-08-17 08:54:59 -04:00
Karl Tomlinson
5a2faaf647 bug 1191889 skip Close() when not initialized r=roc
--HG--
extra : rebase_source : ea7a6c4d6a74e15cf699fb49c8bf2b4c9b757cc6
2015-08-17 10:07:50 +12:00
Karl Tomlinson
c5e3e52551 bug 962719 remove unnecessary OneIteration() parameters aFrom/aTo r=padenot
--HG--
extra : rebase_source : 7ad313275ef00a0306c8b3b4775f0088f07c9031
2015-08-04 19:42:10 +12:00
Karl Tomlinson
c2379131a8 bug 962719 remove notified blocked warning of finished stream r=padenot
Finished can be determined immediately after mFinished is set, but blocked is
not determined until RecomputeBlocking() has run.

--HG--
extra : rebase_source : e1d919bfbd411b928c25d1f0d428842e17f6fbf8
2015-07-31 22:49:55 +12:00
Karl Tomlinson
fb9954a77c bug 962719 update stream state to processed time after processing r=padenot
Notifications are now up to date with processing, and
MediaStream::GetCurrentTime() now returns "the main-thread's view of how much
data has been processed by this stream", as documented.

--HG--
extra : rebase_source : 90eb894f7b5e7cf56c3635e68716fd2514494f7e
2015-07-29 19:32:10 +12:00
Karl Tomlinson
3ff62a58db bug 962719 provide video frames to the container as soon as available r=roc
This does not affect the target time of the video frames, but may mean that more
frames are displayed.

--HG--
extra : rebase_source : f804f2f58ce5ce2668e047f83adf614d9043f3a2
2015-08-14 14:16:57 +12:00
Karl Tomlinson
257b2b6cc9 bug 1194558 correct time conversion for video frame timestamps r=roc
MediaTimeToSeconds() works fine for negative intervals

--HG--
extra : rebase_source : 8698761e28a54e6bd172a032c62e03b96ac66bfa
2015-08-13 17:07:49 +12:00
Karl Tomlinson
47185cd76f bug 962719 provide frame ID service to clients r=roc
--HG--
extra : rebase_source : 5ae68f8a06da21faf35b8d2f3817dfee857e64cc
2015-08-07 11:37:08 +12:00
Karl Tomlinson
3cf03deb5f bug 962719 make FindChunkContaining() public r=roc
--HG--
extra : rebase_source : cf882ddbe1058f487734ea43f953a726747e54d5
2015-08-04 10:42:31 +12:00
Karl Tomlinson
33732bace9 bug 962719 introduce mProcessedTime r=padenot
--HG--
extra : rebase_source : 4521e5c46d99ea6e97aed4d796211ce42820299e
2015-07-31 21:28:29 +12:00
Karl Tomlinson
3976b00d63 bug 962719 ensure state computed time does not retreat r=padenot
--HG--
extra : rebase_source : 7acc6c71ef585813a3d80ee954fe208d7c1ef469
2015-08-04 19:54:54 +12:00
Karl Tomlinson
d894983b78 bug 962719 remove unnecessary OneIteration() parameter aStateFrom r=padenot
--HG--
extra : rebase_source : 22d67be26f4cface092cf13577035473b18b2b93
2015-07-31 17:39:35 +12:00
Karl Tomlinson
78739ed9f6 bug 962719 move mStateComputedTime to MediaStreamGraphImpl r=padenot
--HG--
extra : rebase_source : 3c4727a6397cc77800aa2676b17c3d85702cd64f
2015-08-13 16:23:17 +12:00
Karl Tomlinson
ea84d39947 bug 962719 use unsigned ints for FrameID and ProducerID for defined overflow behavior r=roc
--HG--
extra : rebase_source : 0375f04a60a548975547b80e60e5cf5dada2f86f
2015-08-12 11:02:41 +12:00
Karl Tomlinson
795135daf2 test for bug 1191648
--HG--
extra : rebase_source : 3588805b7e34ac76ed6422c6703c25d1fcc220bc
2015-08-11 13:37:20 +12:00
Jean-Yves Avenard
3f43144aaf Bug 1195071: Check for MediaDataDecoder::Input error. r=cpearce 2015-08-17 10:28:43 +10:00
JW Wang
c912b2b38c Bug 1191696. Part 2 - implementation in DecodedStream. r=roc. 2015-08-17 07:52:42 +08:00
JW Wang
64e94fc75e Bug 1191696. Part 1 - Handle the promise returned by DecodedStream::StartPlayback in MDSM. r=roc. 2015-08-17 07:52:28 +08:00
Jean-Yves Avenard
b181248915 Bug 1194612: P3. Remove redundant member. r=alfredo 2015-08-16 19:34:03 +10:00
Jean-Yves Avenard
40f0b287b4 Bug 1194612: P2. Don't drop first sample with SPS/PPS NALs. r=alfredo
It would cause the Apple VT decoder to fail decoding the frame, aborting playback
2015-08-16 19:01:52 +10:00
Jean-Yves Avenard
b619f8c2e7 Bug 1194612: P1. Dont reject init promise when initialising H264Converter. r=alfredo
A decoder isn't created until a SPS and PPS NALs have been detected in the stream. The decoder will be initialised instead lazily later during the input process.
2015-08-16 19:01:44 +10:00