Dan Glastonbury
84e1a37ffe
Bug 1193614 - Schedule State Machine when VideoQueue() is low. r=cpearce
...
If UpdateRenderedVideoFrames() can't find a frame in VideoQueue() that
is `in the future`, ie. has a time stamp that is greater than clock
time, the thread is scheduled in 40ms.
The logic in UpdateRenderedVideoFrames() always leaves the current frame
sent to the compositor at the head of the queue. It's time stamp is
always less than clock time.
Because there's always one, old frame in the queue, the logic in
OnVideoDecoded() needs to reschedule the state machine when queue size
is two, after adding the new frame.
2015-10-15 07:29:03 +10:00
Chris Pearce
041372e702
Bug 1209385 - Reenable EME mochitests on Win Debug. r=me.
2015-10-15 09:48:05 +13:00
John Lin
7e1e7cf2f4
Bug 1210232 - Let MP4Decoder handle 3GPP files on B2G. r=cpearce
2015-10-11 22:14:00 +02:00
Baptiste Emmanuel
e080509fbe
Bug 1069825 - Check if we compare two automation curves occuring at the same time during overlap checking. r=padenot
2015-06-01 20:01:48 +02:00
Baptiste Emmanuel
440512963b
Bug 1110344 - Replace float by double in AudioTimelineEvent ctor to prevent a rounding issue. r=padenot
...
--HG--
extra : rebase_source : 5814a4bc4eec9cb0b80d3de49c09b9bb060aa01f
2015-06-03 11:58:30 +02:00
JW Wang
9268cc5ba6
Bug 1213726 - Remove AbstractMediaDecoder::HasInitializationData(). r=kinetik.
2015-10-12 12:08:46 +08:00
JW Wang
701c985137
Bug 1212701. Part 2 - remove MediaDecoderStateMachine::OnDecodeTaskQueue() which is unused. r=jya.
2015-10-12 12:05:52 +08:00
JW Wang
a072559a2a
Bug 1212701. Part 1 - remove AbstractMediaDecoder::OnDecodeTaskQueue(). r=jya.
2015-10-12 12:05:49 +08:00
Jean-Yves Avenard
0269af726a
Bug 1212795: P3. Make AppleDecoderModule detects if the required modules are loaded. r=jwwang
2015-10-12 14:47:50 +11:00
Jean-Yves Avenard
b104670364
Bug 1212795: P2. Ensure all frameworks required for video decoding on mac are loaded. r=jwwang
...
We used to rely on the compositor to have been started, which is a dangerous assumption..
2015-10-12 14:47:49 +11:00
Jean-Yves Avenard
7af6ac5cb1
Bug 1212795: P1. Ensure the check if HW acceleration is allowed is performed on the main thread. r=jwwang
...
The downside is that a restart is now required if the user change the preference to force HW decoding ; however this is the same behaviour as on Windows.
2015-10-12 14:47:49 +11:00
JW Wang
c3329b728e
Bug 1212220 - cache pref values so they are safe to access off the main thread. r=roc.
2015-10-11 20:11:04 +08:00
Jean-Yves Avenard
866344b549
Bug 1206845: Prevent overflows in MediaCache. r=roc
2015-10-12 10:01:26 +11:00
Jean-Yves Avenard
7d704a120e
Bug 1213173: Always use FFmpeg regardless of version. r=kentuckyfriedtakahe
...
We don't need to prevent using FFmpegDecoderModule on older version anymore
2015-10-12 10:00:04 +11:00
Karl Tomlinson
2c37fa9568
bug 1210267 remove custom AudioParam::Release and disconnect in destructor r=baku
...
AudioParam has no derived type (and DisconnectFromGraphAndDestroyStream calls
no virtual functions) so no need for special release.
--HG--
extra : rebase_source : 1192d8e02d9545a310f175378468c856ef8f5f99
2015-10-02 14:24:51 +13:00
Karl Tomlinson
fcc5b0442a
bug 1210267 use DOMEventTargetHelper::LastRelease instead of custom Release r=baku
...
AudioNode already has NS_IMPL_CYCLE_COLLECTING_RELEASE_WITH_LAST_RELEASE,
which performs mRefCnt.incr/decr for LastRelease(), so the kungFuDeathGrip
virtual AddRef/Release in DisconnectFromGraph() is additional noise when
debugging/tracing ownership.
Unlink() already assumes that the caller holds a reference (and it does).
--HG--
extra : rebase_source : 2ecfb16a89524588979365cfe3078df91724dad3
2015-10-01 00:14:26 +13:00
JW Wang
146f761ff8
Bug 1212246. Part 2 - remove mTaskQueueIsBorrowed and unnecessary checks for mTaskQueue is never null. r=jya.
2015-10-09 09:25:43 +08:00
JW Wang
32c513290f
Bug 1212246. Part 1 - remove the aBorrowedTaskQueue parameter from the MediaDecoderReader constructor. r=jya.
2015-10-09 09:25:23 +08:00
Andrew McCreight
ae5fe6a2ad
Bug 1210591, part 1 - Use nsVariantCC in various places. r=smaug
...
Most of these will end up in DataTransfer:mItems, so this is needed
for it to do anything useful.
2015-10-09 10:24:23 -07:00
Jean-Yves Avenard
50da6b541f
Bug 1213131: [vpx] Configure libvpx decoder to use multi-threads decoding. r=kentuckyfriedtakahe
2015-10-09 15:46:38 +11:00
Wes Kocher
45375c9d90
Merge m-c to inbound, a=merge
2015-10-08 14:35:43 -07:00
Wes Kocher
599117d547
Merge b2ginbound to central, a=merge
2015-10-08 14:34:24 -07:00
Wes Kocher
23e71e7990
Merge inbound to central, a=merge
2015-10-08 14:29:04 -07:00
Carsten "Tomcat" Book
6e07fc601b
Merge m-c to fx-team
2015-10-08 16:11:56 +02:00
Jean-Yves Avenard
628247fc4e
Bug 1212176: Remove arguments passed to MediaDataDemuxer::NotifyDataArrived API. r=cpearce
...
Be more explicit on what it does and how it should be used.
2015-10-08 20:47:21 +11:00
Chris Pearce
4350c14ce1
Bug 1212670 - Implement GMPDecoderModule::SupportsMimeType() and EMEDecoderModule::SupportsMimeType(). r=jwwang
2015-10-08 20:40:54 +13:00
Chris Pearce
9475cc85a4
Bug 1211812 - Mochitest for unencrypted gmp decoding. r=jwwang
2015-10-08 20:40:46 +13:00
Chris Pearce
70498d2115
Bug 1211812 - Add pref to select GMP to use for unencrypted decoding. r=jwwang
2015-10-08 20:40:09 +13:00
Chris Pearce
315fca7c60
Bug 1211812 - Use MozPromise to init mozilla::GMPVideoDecoder. r=jwwang
2015-10-08 20:38:59 +13:00
Carsten "Tomcat" Book
676e56277f
merge mozilla-central to b2g-inbound
2015-10-08 16:18:26 +02:00
Jonathan Hao
65a21cb8f6
Bug 1205209 - Check whether mStreamSource is null in MediaOmxReader. r=bechen
...
--HG--
extra : rebase_source : f9e2f083ef78d8faa48b5cb3c0ed8f383a4c8301
2015-10-08 16:31:08 +08:00
JW Wang
a890d8c667
Bug 1146482 - remove MediaDecoder::mReentrantMonitor which is not used anymore. r=jya.
2015-10-07 14:53:22 +08:00
JW Wang
fcf9e2e7ae
Bug 1212260 - MediaFormatReader::SetCDMProxy should call |OwnerThread()->Dispatch|. r=cpearce.
2015-10-08 14:05:06 +08:00
Eric Rahm
a67da92ff4
Bug 1212681
- Enable MSE mochitests on e10s. r=jya
2015-10-08 13:38:02 -07:00
Paul Adenot
6c0eec35f6
Bug 1203616 - Test that waveshaper nodes don't corrupt their input buffer. r=karlt
...
--HG--
extra : rebase_source : a137eb3deef4fadfa686ff083712c1a614ec6fd8
2015-10-08 11:16:31 +02:00
Paul Adenot
e1154a6a56
Bug 1203616 - Properly scale the input buffer of a WaveShaperNode before processing it with the curve. r=karlt
...
--HG--
extra : rebase_source : b2505272bf0b177dfb0c6215d0e232a591b6650a
2015-10-08 11:16:31 +02:00
Kilik Kuo
67185f564b
Bug 1211364 - Check frame validity earlier when decoded frames arrive in MDSM. r=jwwang
...
Rebase to currnet truck
--HG--
extra : transplant_source : %EEOW%D8%0D%9B%C8%F5%90%DB0%0E%BFXgX%98%F4%14%A2
2015-10-07 14:52:05 +08:00
hsteinbr
13076b561a
Bug 1211658 - GUM constraints for screen sharing don't affect framerate. r=jib
...
--HG--
extra : amend_source : 65a2228c2b6dd90c4d59d3d9246af7bc1558f41a
2015-10-05 17:05:00 +02:00
Tim Taubert
cd6157491d
Bug 1001691 - Make GenerateAsymmetricKeyTask::mKeyPair a UniquePtr so that we can explicitly release it on the main thread r=mt
2015-09-21 14:52:40 +02:00
JW Wang
68837e7538
Bug 1211793 - Remove unnecessary creation of "MediaDecoder" log module. r=gerald.
2015-10-07 14:27:26 +08:00
JW Wang
e7aabfcb3a
Bug 1211787 - Improve the accuracy of MediaDecoderStateMachine::GetDecodedAudioDuration(). r=roc.
2015-10-07 12:09:34 +08:00
Nigel Babu
1a01355c4f
Backed out 16 changesets (bug 1206977, bug 1211652, bug 1211335) for linux bc7 bustage ON A CLOSED TREE
...
Backed out changeset 51b1b076a386 (bug 1206977)
Backed out changeset dec7c35469d1 (bug 1206977)
Backed out changeset bf9ddc78b394 (bug 1206977)
Backed out changeset 08f5cff5aa12 (bug 1206977)
Backed out changeset e4e91de99867 (bug 1206977)
Backed out changeset 696ecf2e2947 (bug 1206977)
Backed out changeset ab2d524a9b35 (bug 1206977)
Backed out changeset d66be0e4547f (bug 1206977)
Backed out changeset 64c58afbd6c1 (bug 1206977)
Backed out changeset eb10d09015e1 (bug 1206977)
Backed out changeset 042959216393 (bug 1206977)
Backed out changeset 7e0de7f62202 (bug 1206977)
Backed out changeset 3d095569f6ba (bug 1206977)
Backed out changeset 041418a07ae5 (bug 1206977)
Backed out changeset 654970da23e4 (bug 1211335)
Backed out changeset 8ba8e24a84d3 (bug 1211652)
2015-10-07 13:43:39 +05:30
Nigel Babu
41bc4391c9
Backed out changeset 67b7e1825a7f (bug 1212164) for depending on bug 1206977
2015-10-07 13:43:10 +05:30
Nigel Babu
7e537c9909
Backed out changeset abaadd5361ad (bug 1198664) for B2G build bustage ON A CLOSED TREE
2015-10-07 12:33:08 +05:30
Nigel Babu
8a586a51d4
Backed out changeset 3a4fb0ededfd (bug 1198664) for B2G build bustage ON A CLOSED TREE
2015-10-07 12:32:01 +05:30
Gerald Squelart
5b977ec21d
Bug 1211337 - Added crash report annotations tracking sync shutdown process. r=cpearce
2015-10-05 04:14:00 +02:00
Jan-Ivar Bruaroey
61cd22ad23
Bug 1210852 - do SelectSettings of device capabilities on media thread. r=jesup
...
--HG--
extra : transplant_source : %8E%BB%7B%90MSt%0F%40s%8A%0C/%16y%15Ne%2A%1E
2015-10-03 20:42:26 -04:00
John Lin
993994a080
Bug 1198664 - Part 2 - Use looper to process decoder tasks. r=bwu
2015-10-06 02:20:00 +02:00
John Lin
3e0637f43f
Bug 1198664 - Part 1 - Refactor: move common behaviors to base class. r=bwu,jya
2015-10-06 02:18:00 +02:00
sajitk
eb1836bb1e
Bug 1180940 - Changed return type of AudioDestinationNode::CreateAudioChannelAgent method to return errors, if any methods that it calls fail. Added code to handle the return value in AudioContext::Init(), and its callers. r=baku
2015-10-05 04:35:00 +02:00
Jean-Yves Avenard
339a21eccf
Bug 1212164: Prevent use of demuxer before it is ready. r=cpearce
2015-10-07 16:54:43 +11:00
Jean-Yves Avenard
c3e24823e8
Bug 1206977: P14. Remove obsolete / redundant code. r=cpearce
2015-10-07 16:40:31 +11:00
Jean-Yves Avenard
ac5814731c
Bug 1206977: P13. Assert that data fed to EMEDecoderModule is encrypted. r=cpearce
...
The PDMFactory ensures that the EMEDecoderModule is only used for encrypted data, we can simplify EMEDecoderModule and make strong assumptions
2015-10-07 16:40:30 +11:00
Jean-Yves Avenard
6f051abaa4
Bug 1206977: P12. Properly shutdown all created test decoders. r=cpearce
2015-10-07 16:40:30 +11:00
Jean-Yves Avenard
b4365d5d77
Bug 1206977: P11. Don't rely on SupportsMimeType to determine if a track can be played. r=cpearce
...
The PDMFactory will run more accurate checks based on the TrackInfo object and will fail to create a decoder if the type is unsupported. So use that instead
2015-10-07 16:40:29 +11:00
Jean-Yves Avenard
87d89f828c
Bug 1206977: P10. Remove redundant code. r=cpearce
...
The same checks are performed in the PDMFactory::SupportsMimeType
2015-10-07 16:40:29 +11:00
Jean-Yves Avenard
27b77f96da
Bug 1206977: P9. Ensure PDMs are only ever created through the PDMFactory. r=cpearce
2015-10-07 16:40:28 +11:00
Jean-Yves Avenard
2da2bd26f9
Bug 1206977: P8. Have PDMFactory directly manage the EMEDecoderModule. r=cpearce
2015-10-07 16:40:27 +11:00
Jean-Yves Avenard
6c9f5d0954
Bug 1206977: [webm] P7. Remove IntelWebMVideoDecoder. r=kinetik
...
That code path is no longer used and handled directly in the MediaFormatReader.
Also, partially revert commit ac6d0b0befb2 as it broke WebMReader.
2015-10-07 16:40:27 +11:00
Jean-Yves Avenard
7ad7357100
Bug 1206977: P6. Make PlatformDecoderModule::SupportsMimeType pure virtual. r=cpearce
2015-10-07 16:40:26 +11:00
Jean-Yves Avenard
046f9f13a9
Bug 1206977: P5. Update PlatformDecoderModule documentation. r=cpearce
...
Mostly removes no longer relevant doc.
2015-10-07 16:40:25 +11:00
Jean-Yves Avenard
55d1cb62fc
Bug 1206977: P4. Add AgnosticDecoderModule object. r=cpearce
...
This removes the need for PDMFactory to know anything about decoders.
2015-10-07 16:40:25 +11:00
Jean-Yves Avenard
78fc388e1e
Bug 1206977: P3. Allow PDM fallback. r=cpearce
...
We now search in all the PDM present the one that can handle the media.
2015-10-07 16:40:24 +11:00
Jean-Yves Avenard
0256993164
Bug 1206977: P2. Wrap PDM creation in a new PDMFactory class. r=cpearce
...
There is no change of behaviour from the original PlatformDecoderModule.
2015-10-07 16:40:24 +11:00
Jean-Yves Avenard
9586070ed3
Bug 1206977: P1. Remove unused PDM function members. r=cpearce
2015-10-07 16:40:23 +11:00
Jean-Yves Avenard
89639edfde
Bug 1211335: Have FFMpegDecoderModule properly return if a codec is supported. r=cpearce
2015-10-07 16:40:22 +11:00
Jean-Yves Avenard
3a86e96468
Bug 1211652: Add sourcebuffer.mode = sequence mochitest. r=gerald
2015-10-07 16:40:22 +11:00
John Lin
ec509c177b
Bug 1198664 - Use looper to process decoder tasks. r=bwu
...
--HG--
extra : rebase_source : dc2b04fb2ca4bb5298783993fdcb50854086e228
2015-10-07 00:32:00 +02:00
John Lin
1d3c7f5365
Bug 1198664 - Refactor: move common behaviors to base class. r=bwu,jya
...
--HG--
extra : rebase_source : 638f1e27980212e7b47e091bbc2450f6b99aa6c5
2015-10-06 02:18:00 +02:00
Andrea Marchesini
c53e405b13
Bug 1211511 - AudioChannelAgent::NotifyStartedPlaying and NotifyStoppedPlaying should use the same level of playback notification, r=roc
2015-10-07 20:06:47 +01:00
Wes Kocher
1d2db38d82
Backed out changeset fe1ed0ded678 (bug 1211974) for robocop orange
2015-10-07 11:45:59 -07:00
Eitan Isaacson
bcfd470971
Bug 1211974 - Implement nsIObserver in SpeechDispatcherService. r=smaug
2015-10-07 09:57:37 -07:00
Andrew McCreight
0ff7248107
Bug 1210517 - Create nsVariant directly rather than via do_CreateInstance(). r=froydnj
...
The goal here is to leave creation stuff mostly for JS, so we can
convert it entirely over to a non-threadsafe cycle-collected version
without breaking any existing C++ users.
I didn't do this for a remaining use in nsGlobalWindow.h to avoid
including nsVariant.h all over the place.
2015-10-07 08:17:42 -07:00
Jean-Yves Avenard
9a7c13fa78
Bug 1206977: P15. Fix FFmpeg shutdown crash should decoder not be initialised. r=me
2015-10-08 00:34:49 +11:00
Jean-Yves Avenard
c5052e863a
Bug 1206977: P14. Remove obsolete / redundant code. r=cpearce
2015-10-08 00:34:48 +11:00
Jean-Yves Avenard
e32d97b854
Bug 1206977: P13. Assert that data fed to EMEDecoderModule is encrypted. r=cpearce
...
The PDMFactory ensures that the EMEDecoderModule is only used for encrypted data, we can simplify EMEDecoderModule and make strong assumptions
2015-10-08 00:34:48 +11:00
Jean-Yves Avenard
e4ea0dae9d
Bug 1206977: P12. Properly shutdown all created test decoders. r=cpearce
2015-10-08 00:34:47 +11:00
Jean-Yves Avenard
d9cf3168c4
Bug 1206977: P11. Don't rely on SupportsMimeType to determine if a track can be played. r=cpearce
...
The PDMFactory will run more accurate checks based on the TrackInfo object and will fail to create a decoder if the type is unsupported. So use that instead
2015-10-08 00:34:47 +11:00
Jean-Yves Avenard
bfea6860dd
Bug 1206977: P10. Remove redundant code. r=cpearce
...
The same checks are performed in the PDMFactory::SupportsMimeType
2015-10-08 00:34:46 +11:00
Jean-Yves Avenard
620a0262c9
Bug 1206977: P9. Ensure PDMs are only ever created through the PDMFactory. r=cpearce
2015-10-08 00:34:46 +11:00
Jean-Yves Avenard
5d54dafcb3
Bug 1206977: P8. Have PDMFactory directly manage the EMEDecoderModule. r=cpearce
2015-10-08 00:34:45 +11:00
Jean-Yves Avenard
61bf9de8cf
Bug 1206977: [webm] P7. Remove IntelWebMVideoDecoder. r=kinetik
...
That code path is no longer used and handled directly in the MediaFormatReader.
Also, partially revert commit ac6d0b0befb2 as it broke WebMReader.
2015-10-08 00:34:45 +11:00
Jean-Yves Avenard
c463ef6fd5
Bug 1206977: P6. Make PlatformDecoderModule::SupportsMimeType pure virtual. r=cpearce
2015-10-08 00:34:44 +11:00
Jean-Yves Avenard
ff58eec402
Bug 1206977: P5. Update PlatformDecoderModule documentation. r=cpearce
...
Mostly removes no longer relevant doc.
2015-10-08 00:34:44 +11:00
Jean-Yves Avenard
9e830ea930
Bug 1206977: P4. Add AgnosticDecoderModule object. r=cpearce
...
This removes the need for PDMFactory to know anything about decoders.
2015-10-08 00:34:43 +11:00
Jean-Yves Avenard
35090bba3a
Bug 1206977: P3. Allow PDM fallback. r=cpearce
...
We now search in all the PDM present the one that can handle the media.
2015-10-08 00:34:42 +11:00
Jean-Yves Avenard
dd5e99c694
Bug 1206977: P2. Wrap PDM creation in a new PDMFactory class. r=cpearce
...
There is no change of behaviour from the original PlatformDecoderModule.
2015-10-08 00:34:42 +11:00
Jean-Yves Avenard
cc74e2d1a4
Bug 1206977: P1. Remove unused PDM function members. r=cpearce
2015-10-08 00:34:41 +11:00
Jean-Yves Avenard
9861c50a98
Bug 1211335: Have FFMpegDecoderModule properly return if a codec is supported. r=cpearce
2015-10-08 00:34:41 +11:00
Jean-Yves Avenard
a02b64b149
Bug 1212164: Prevent use of demuxer before initialization completes. r=cpearce
2015-10-08 00:34:40 +11:00
Jean-Yves Avenard
d36aaa89f4
Bug 1211652: Add sourcebuffer.mode = sequence mochitest. r=gerald
2015-10-08 00:34:40 +11:00
Jan Henning
1e4aec48b4
Bug 1202286 - Part 2 - Switch VBR header parsing to use a ByteReader as well instead of directly accessing the buffer. r=esawin
...
This also contains two small fixes to the VBR header parsing logic itself:
- VBRI parsing was previously broken because the offset wasn't calculated correctly.
- Xing-style headers can use a VBR header ID of "Info" as well.
--HG--
extra : rebase_source : 320a5e7b50e16ab3382e7121dd3d41f5fc439b76
2015-10-04 18:51:40 +02:00
Jan Henning
39b1643cc7
Bug 1202286 - Part 1 - Switch the MPEG frame and ID3 header parsers to use a ByteReader instead of accessing the input buffer directly. r=esawin
...
--HG--
extra : rebase_source : 4d3c6e1d5f6655163bf59fcdc4238f3740e107d2
2015-10-03 20:36:46 +02:00
Jan Henning
7db0ee08cb
Bug 1202286 - Part 0 - Add some explicit namespace references to keep the compiler and IntelliSense happy. r=esawin
...
DecoderTraits.cpp pulls in MP3Demuxer.h which in turn pulls in mp4_demuxer/ByteReader.h. In that context, for some reason the ByteReader can't find the definition for MediaByteBuffer unless it is prefixed with the proper namespace.
MP3Demuxer.cpp itself compiles fine, but for some reason in Visual Studio IntelliSense complains about TimeUnit and TimeIntervals being undefined unless the using statement uses the full namespace hierarchy.
Also fix a small typo.
--HG--
extra : rebase_source : fc46fc82bf06b61c9ac31c2f4331f84f8557c51e
2015-10-01 11:29:48 +02:00
JW Wang
aadc51ecc8
Bug 1211766 - Remove AbstractMediaDecoder::GetReentrantMonitor(). r=jya.
2015-09-30 07:04:49 +08:00
Chris Pearce
3aa7323650
Bug 1211339 Part 3 - Refuse to support video codecs inside audio mime types. r=jya
2015-10-06 16:53:03 +13:00
Chris Pearce
aaf1f72ba5
Bug 1211339 Part 2 - Make MP4Decoder::CanHandleMediaType() check all codecs are supported by a PDM before reporting support. r=jya
2015-10-06 16:52:58 +13:00
Chris Pearce
494f013e18
Bug 1211339 - Ensure WMFDecoderModule::SupportsMimeType checks it can create decoders. r=jya
2015-10-06 16:52:52 +13:00
JW Wang
39fbfc7425
Bug 1208934 - Remove usage of decoder monitor from MDSM. r=kinetik.
2015-10-06 10:26:33 +08:00
Andrew McCreight
5171450b27
Bug 1197893 - Check the number of arguments for ThrowTypeError() and ThrowRangeError() at compile time. r=peterv
2015-10-05 09:38:14 -07:00