Jean-Yves Avenard
af9786e6b0
Bug 1229987: P2. Drain decoder when encountering gap. r=cpearce
...
This allows for all buffered frames to be playable.
2015-12-18 19:26:52 +11:00
JW Wang
e4cbe0c128
Bug 1228939 - 1. add mSeekable to MediaInfo. 2. use MediaEventSource to notify the decoder when the media is not seekable. 3. remove unused code. r=jya.
2015-12-02 15:42:32 +08:00
Jean-Yves Avenard
321718db5f
Bug 1226707: P3. Only create the type of decoder we will need. r=cpearce
2015-11-23 16:30:49 +11:00
JW Wang
2c0bf35e10
Bug 1220551. Part 2 - remove arguments from NotifyDataArrivedInternal(). r=jya.
2015-11-02 21:28:57 +08:00
JW Wang
924432c2ee
Bug 1217714 - Remove some unused functions from MediaDecoderReader. r=jya.
2015-10-26 14:10:29 +08:00
Jean-Yves Avenard
3b37e9ab5c
Bug 1207198: P1. Do not initialize decoders during ReadMetadata. r=cpearce
...
Decoders are created and initialized automatically when needed.
Also fix issues where we could have a pending initialization promise pending when going into dormant mode.
2015-10-23 23:34:06 +11:00
James Cheng
f01266ed3f
Bug 1194606 - Make MediaDecoderStateMachine capable of requesting different kind (decoded/raw) of media data. r=jya
2015-10-20 05:33:00 -04:00
JW Wang
1deed476dc
Bug 1216850. Part 3 - backout bug 1214073. r=me.
2015-10-21 14:04:20 +08:00
JW Wang
8e64159f84
Bug 1216850. Part 2 - backout bug 1214498. r=me.
2015-10-21 11:45:53 +08:00
JW Wang
8cbe3a5118
Bug 1216850. Part 1 - backout bug 1215003. r=me.
2015-10-21 10:59:56 +08:00
JW Wang
9e488683b4
Bug 1215003. Part 2 - rename AsyncReadMetadata and move it to the private section. r=gerald.
2015-10-19 10:52:15 +08:00
Nathan Froyd
01583602a9
Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
...
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout. The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.
CLOSED TREE makes big refactorings like this a piece of cake.
# The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
xargs perl -p -i -e '
s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
s/nsRefPtr ?</RefPtr</g; # handle declarations and variables
'
# Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h
# Handle nsRefPtr.h itself, a couple places that define constructors
# from nsRefPtr, and code generators specially. We do this here, rather
# than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
# things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
mfbt/nsRefPtr.h \
xpcom/glue/nsCOMPtr.h \
xpcom/base/OwningNonNull.h \
ipc/ipdl/ipdl/lower.py \
ipc/ipdl/ipdl/builtin.py \
dom/bindings/Codegen.py \
python/lldbutils/lldbutils/utils.py
# In our indiscriminate substitution above, we renamed
# nsRefPtrGetterAddRefs, the class behind getter_AddRefs. Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'
if [ -d .git ]; then
git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Jean-Yves Avenard
6db8b43cba
Bug 1213176: P1. Remove most MediaFormatReader dependencies on its MediaDecoder parent. r=jwwang
...
The LayersBackend can be defined at construction time, however if a parent MediaDecoder exists, the value will be overwritten by the MediaDecoderOwner value.
--HG--
extra : rebase_source : fefad83560d5bfa2aee9f665fe138397eb390019
2015-10-15 02:04:00 +02:00
JW Wang
1065049ddb
Bug 1214498 - MediaDecoderReader::DisableHardwareAcceleration should figure out which thread to dispatch the job. r=gerald.
2015-10-14 14:25:01 +08:00
JW Wang
6765563707
Bug 1214073 - MediaDecoderReader::ReleaseMediaResources will do dispatch if necessary. r=gerald.
2015-10-14 11:52:26 +08:00
JW Wang
d3c9b0b0df
Bug 1212723. Part 2 - remove unused argument aCloneDonor from MediaDecoderReader::Init(). r=jya.
2015-10-13 15:28:57 +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
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
5d54dafcb3
Bug 1206977: P8. Have PDMFactory directly manage the EMEDecoderModule. r=cpearce
2015-10-08 00:34:45 +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
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
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
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
2da2bd26f9
Bug 1206977: P8. Have PDMFactory directly manage the EMEDecoderModule. r=cpearce
2015-10-07 16:40:27 +11:00
Jean-Yves Avenard
877ef122ef
Bug 1209850: Only attempt to initialize decoders as they are required. r=alfredo
2015-10-01 23:05:16 +10:00
Carsten "Tomcat" Book
3a44702ffb
Backed out 1 changesets (bug 1209850) for causing m2 test failures
...
Backed out changeset 9c01e0e3da74 (bug 1209850)
2015-10-01 14:05:49 +02:00
Jean-Yves Avenard
3785990cb1
Bug 1209850: Only attempt to initialize decoders as they are required. r=alfredo
2015-10-01 19:07:39 +10:00
JW Wang
7651430ef0
Bug 1208922. Part 6 - IsWaitingOnCDMResource() is not used by MDSM anymore. Remove it from MediaDecoderReader and make it private in MediaFormatReader. r=cpearce.
2015-09-27 18:59:52 +08:00
JW Wang
b502b0fe56
Bug 1208922. Part 2 - add MediaDecoderReader::SetCDMProxy so it won't need to ask MediaDecoder for a CDMProxy. r=cpearce.
2015-09-27 18:40:03 +08:00
Jean-Yves Avenard
9e0e052d65
Bug 1193670: P1. Remove use of SharedDecoderManager. r=cpearce
2015-09-16 18:14:15 +10:00
Jean-Yves Avenard
1de1d09411
Bug 1204407: P1. Remove no longer used mainthread object. r=cpearce
2015-09-16 18:14:14 +10:00
Jean-Yves Avenard
82279827e6
Bug 1204419: P3. Remove now unused MediaDecoderReader functions. r=cpearce
2015-09-16 18:14:12 +10:00
Jean-Yves Avenard
fa4c46c19b
Bug 1199904: Only start decoding ahead after explicitly requesting data. r=gerald
...
Decode ahead will be stopped when seeking or when switching resolution.
2015-08-30 20:48:09 +10:00
Jean-Yves Avenard
c27fc37432
Bug 1197075: P3. Decode frames ahead of MDSM requesting them. r=edwin
...
This makes the media.*-decode-ahead pref performs more according to its name.
We decode audio and video in advance so a MediaDataPromise can be resolved almost instantly.
Default is 2.
2015-08-26 15:36:54 +10:00
Jean-Yves Avenard
3bca678d28
Bug 1197075: P2. Revert "Bug 1171257 - Add force decode ahead to MediaFormatReader r=jya,bholley". r=edwin
2015-08-26 15:36:53 +10:00
Jean-Yves Avenard
e08e634d4f
Bug 1196696: Always check that track demuxer was successfully created. r=jwwang
2015-08-26 12:50:06 +10:00
Jean-Yves Avenard
60b4f11a68
Bug 1197664: Report the total number of decoded frames. CLOSED TREE r=kentuckyfriedtakahe
2015-08-24 23:46:35 +10:00
Matt Woodrow
ec61d0727e
Bug 1196417 - Make video software fallback only affect the current video instead of the entire browser. r=cpearce
2015-08-20 11:43:36 -04:00
Jean-Yves Avenard
10659dafdb
Bug 1188313: P1. Attempt to seek audio near video. r=cpearce
...
Do not only rely on the MediaDecoderState machine to keep A/V sync after a seek as should we seeked in fast mode ; it wouldn't
2015-08-11 14:18:49 +10:00
Alfredo Yang
8c59fda383
Bug 1146086: use promise to Init() in PlatformDecoderModule. r=jya,r=cpearce
2015-08-11 14:09:12 +10:00
Jean-Yves Avenard
5d0c759bca
Bug 1181204 - Prevent use of the decoder outside the reader's taskqueue. r=cpearce
...
This fix a potential race when the decoder could be shutting down on the reader's taskqueue while the MediaDecoderStateMachine thread attempts to read it.
--HG--
extra : amend_source : d8a7ac55539c22f69d965299010a20b34c8a4c58
extra : transplant_source : %F6%D2z%A2%40%D1%CE%8BX%FB%9E%CA%2B%ABa%7D%F9%7Fl%BF
2015-07-20 15:14:37 -04:00
Bobby Holley
04eaf4c167
Bug 1184634
- Move various includes into the mozilla namespace. r=gerald
...
I did my a quick best-effort pass to fix up the most egregious ordering
problems. I left some big pre-existing messes alone.
2015-07-16 22:23:18 -07:00
Bobby Holley
997543e6ba
Bug 1184634
- Rename MediaTaskQueue to TaskQueue. r=gerald
2015-07-16 22:23:06 -07:00
Bobby Holley
407d2c5f90
Bug 1184634
- Rename MediaPromise to MozPromise. r=gerald
2015-07-16 22:21:56 -07:00
Jean-Yves Avenard
71f0c200c2
Bug 1183519: Wait until current drain completes before decoding new data. r=cpearce
2015-07-16 14:31:54 +10:00
Jean-Yves Avenard
d709da531a
Bug 1182985: Drain decoder when changing resolution. r=cpearce
2015-07-16 14:31:53 +10:00
Jean-Yves Avenard
8ca249040e
Bug 1173657: Drain decoder when discontinuity encountered. r=cpearce
...
A discontinuity can be when waiting for data, decoding error or reaching end of stream.
2015-07-16 14:31:53 +10:00
Jean-Yves Avenard
938414133a
Bug 1178596: Reset frame size queue after flushing. r=cpearce
2015-07-15 16:21:59 +10:00
Sotaro Ikeda
05e6073126
Bug 1171257 - Add force decode ahead to MediaFormatReader r=jya,bholley
2015-07-05 09:39:30 -07:00
Bobby Holley
2324e58fb3
Bug 1178437 - Do the dormant-enabled tracking on the main thread. r=jww,r=jya
...
This is purely a question of policy, so there's no reason it needs to live on
the off-main-thread decoding machinery.
2015-07-01 18:47:41 -07:00
Bobby Holley
a80e87862b
Bug 1175768 - Use mirroring for buffered ranges. r=jya
2015-06-27 01:19:13 -07:00
Bobby Holley
f25ea07acc
Bug 1175768 - Dispatch NotifyDataArrived and remove the aBuffer argument. r=jya
...
It would be nice to remove the argument in a separate patch, but we can't
perform MediaResource reads on the main thread, so the SilentReadAt stuff
needs to happen at the same time as the off-main-thread stuff.
2015-06-27 01:19:10 -07:00
Ryan VanderMeulen
d9ca5de3ed
Backed out 8 changesets (bug 1175768) for frequent media test failures.
...
Backed out changeset a369cfb95b59 (bug 1175768)
Backed out changeset e02dd312d622 (bug 1175768)
Backed out changeset 6776ce74b9e5 (bug 1175768)
Backed out changeset 6aa5fa1d318e (bug 1175768)
Backed out changeset a8bd7a0d2aea (bug 1175768)
Backed out changeset 41ffc9a9ac48 (bug 1175768)
Backed out changeset 2d2cefa397dc (bug 1175768)
Backed out changeset 4e06368496d2 (bug 1175768)
CLOSED TREE
2015-06-23 16:20:15 -04:00
Bobby Holley
5c20ea36aa
Bug 1175768 - Use mirroring for buffered ranges. r=jya
2015-06-22 22:53:09 -07:00
Bobby Holley
23c16e6894
Bug 1175768 - Dispatch NotifyDataArrived and remove the aBuffer argument. r=jya
...
It would be nice to remove the argument in a separate patch, but we can't
perform MediaResource reads on the main thread, so the SilentReadAt stuff
needs to happen at the same time as the off-main-thread stuff.
2015-06-22 22:53:07 -07:00
Jean-Yves Avenard
d6ed01ad49
Bug 1171314: P3. Detect change of stream content and automatically recreate decoder. r=cpearce
2015-06-19 16:45:15 +10:00
Bobby Holley
32845f3c94
Bug 1163223 - Remove MediaDecoderStateMachine::mStartTime. r=jww CLOSED TREE
2015-06-16 15:08:45 -07:00
Bobby Holley
d9860a80b4
Bug 1163223 - Introduce StartTimeRendezvous and route samples through it. r=jww
...
No sample adjusting is done yet - this just makes the data available.
2015-06-16 15:08:30 -07:00
Wes Kocher
f45cfb1d2d
Backed out 8 changesets (bug 1163223) for getting in the way of me backing out f46a712edf7e
...
Backed out changeset c1b33c43f0c5 (bug 1163223)
Backed out changeset a7ee6eb45f62 (bug 1163223)
Backed out changeset b2e10f194455 (bug 1163223)
Backed out changeset 9e7651567cad (bug 1163223)
Backed out changeset 20e25e93ed5f (bug 1163223)
Backed out changeset 5193508738f8 (bug 1163223)
Backed out changeset aea6b8d15318 (bug 1163223)
Backed out changeset 7b6804398fc3 (bug 1163223)
2015-06-16 14:47:50 -07:00
Bobby Holley
c202ec98d9
Bug 1163223 - Remove MediaDecoderStateMachine::mStartTime. r=jww
2015-06-16 13:00:00 -07:00
Bobby Holley
06087fe59c
Bug 1163223 - Introduce StartTimeRendezvous and route samples through it. r=jww
...
No sample adjusting is done yet - this just makes the data available.
2015-06-16 12:59:57 -07:00
Jean-Yves Avenard
50d6f9e616
Bug 1171311: P10. Add MediaDataDemuxer::GetSamplesMayBlock() method. r=cpearce
...
This is used by the MediaFormatReader to dermine if buffering heuristics should
be used.
--HG--
extra : rebase_source : 49d67f021ce8660cd67a12510e5c631d6b96698a
2015-06-12 09:26:58 +10:00
Jean-Yves Avenard
12944faa0d
Bug 1171311: P4. Don't compute start time for MSE. r=cpearce
...
It is assumed per spec that it's 0.
Extra: remove redundant virtual keywords.
--HG--
extra : rebase_source : 40dc4876cd79f7b85e9f8b1afaa804ee6a417200
2015-06-12 09:26:58 +10:00
Bobby Holley
adc66a3dab
Bug 1173001 - Initialize reader task queue in the constructor. r=jww
...
This is a necessary step towards having mirrored/canonical values, since those
need to know the task queue in their constructor.
2015-06-10 14:17:25 -07:00
Bobby Holley
80857671e7
Bug 1168008 - Replace 'Consumer' with 'Request' in MediaPromise naming. r=jww
...
I think this makes more sense, and it matches the naming convention that all
of the consumers of this stuff are actually using.
2015-05-28 16:03:10 -07:00
Sotaro Ikeda
f8d4370472
Bug 1167608 - Remove NotifyWaitingForResourcesStatusChanged() call from MediaOmxReader r=bholley,bwu
2015-05-27 14:25:48 -07:00
Jean-Yves Avenard
932eb6007f
Bug 1163227: Part9. Don't reset demuxer when skipping to next keyframe. r=cpearce
2015-05-25 15:09:16 +10:00
Jean-Yves Avenard
c0532dc0aa
Bug 1166836: Part1. Cache main thread buffered time range. r=cpearce
...
GetBuffered() can be particularly slow under some circumstances.
2015-05-25 15:09:16 +10:00
Jean-Yves Avenard
4ef7b191ea
Bug 1163227: Part2. Add MediaDecoderReader::NotifyDataRemoved method. r=cpearce
2015-05-25 15:09:16 +10:00
Jean-Yves Avenard
54a681396b
Bug 1163445: Part5. Replace dom::TimeRanges with TimeIntervals object. r=mattwoodrow
2015-05-18 16:15:47 +10:00
Jean-Yves Avenard
8e8d88029e
Bug 1156708: Part4. Remove most locking. r=cpearce
2015-05-18 15:42:01 +10:00
Jean-Yves Avenard
a014e62fc1
Bug 1156708: Part2. Add pref to toggle new code. r=kentuckyfriedtakahe
...
media.format-reader.mp4=true: Will enable the new format decoder for mp4
media.mediasource.format-reader.mp4=true: Will enable new format decoder for
mp4 within MSE.
2015-05-18 15:41:22 +10:00
Jean-Yves Avenard
581d3d2b64
Bug 1156708: Part1. Add MediaFormatReader player. r=cpearce
...
--HG--
rename : dom/media/fmp4/MP4Reader.cpp => dom/media/MediaFormatReader.cpp
rename : dom/media/fmp4/MP4Reader.h => dom/media/MediaFormatReader.h
2015-05-18 15:40:32 +10:00