Граф коммитов

641 Коммитов

Автор SHA1 Сообщение Дата
Jean-Yves Avenard 3c25c690a7 Bug 1207220: Ensure MediaShutdownManager waits until all MediaDecoder have completed their shutdown. r=cpearce
XPCOM when shutting down expects all tasks to be run synchronously. As such, we must ensure that the remaining MediaDecoder are shut down before continuing on the next task.
In particular destroying gfxPlatforms must only ever happen after, as it is possible for the MediaDecoderReader to make use of gfx resources during shutdown.
2016-01-05 11:55:50 +11:00
Chris Peterson 88051371a9 Bug 1232223 - Part 1: Remove MOZ_WEBM #ifdefs because WebM is always supported, though not necessarily enabled. r=jya r=glandium 2015-12-12 13:49:07 -05:00
Jean-Yves Avenard 08597229bb Bug 1229987: P4. Stop pre-rolling when encountering WAITING_FOR_DATA. r=cpearce
This allows to start displaying frames even when we have less than 5 frames.
2015-12-18 19:26:54 +11:00
Jean-Yves Avenard 1e7e9a8d7c Bug 1229987: P3. Update mochitests and add new one verifying behavior. r=cpearce 2015-12-18 19:26:53 +11:00
Jean-Yves Avenard 7e9fd3bcf4 Bug 1229987: [MSE] P1. Ensure next random access point properly calculated after seek. r=gerald
When seeking, the next keyframe time would always be set to the seek time (as the next sample to be retrieved would be a keyframe). This could lead to the next key frame logic to be activated too aggressively.
2015-12-18 19:26:52 +11:00
Phil Ringnalda 45242f7699 Back out 4 changesets (bug 1229987) for ASan e10s timeout in test_playback.html, Mac timeouts in test_BufferingWait_mp4.html, and Win8 failures in test_WaitingToEndedTransition_mp4.html
Backed out changeset 707a87454058 (bug 1229987)
Backed out changeset 37003d495f20 (bug 1229987)
Backed out changeset c8f4e1eaf884 (bug 1229987)
Backed out changeset 42ca05d8546d (bug 1229987)
2015-12-10 23:10:20 -08:00
Jean-Yves Avenard ad5e2f804f Bug 1230527: P2. Add mochitest. r=jwwang
It's also another way to check for 1130237: we make sure that seeking starts after playback when we have a gap at the beginning of the data
2015-12-10 14:08:06 -05:00
Jean-Yves Avenard ce54507b17 Bug 1229987: P3. Update mochitests and add new one verifying behavior. r=cpearce 2015-12-10 12:17:26 -05:00
Jean-Yves Avenard 18c2b9cb12 Bug 1229987: [MSE] P1. Ensure next random access point properly calculated after seek. r=gerald
When seeking, the next keyframe time would always be set to the seek time (as the next sample to be retrieved would be a keyframe). This could lead to the next key frame logic to be activated too aggressively.
2015-12-10 12:17:25 -05:00
Jean-Yves Avenard e786add25c Bug 1130237: [MSE] P3. Add mochitest testing behavior. r=gerald
We load data from [2ish, 4] and ensure that playback didn't start before data [0, 2ish] is loaded.
2015-12-09 09:55:37 -05:00
Carsten "Tomcat" Book 2257530fee Backed out changeset b8a9e34748f1 (bug 1130237) for m2 test failures 2015-12-07 11:20:35 +01:00
Jean-Yves Avenard 7084f9ab9c Bug 1130237: [MSE] P3. Add mochitest testing behavior. r=gerald
We load data from [2ish, 4] and ensure that playback didn't start before data [0, 2ish] is loaded.
2015-12-05 17:28:38 +11:00
Jean-Yves Avenard a080f16503 Bug 1130237: [MSE] P1. Only ever return a frame if we have data. r=gerald
After a Reset() the definition is that the resource was seeked to 0. As such we should only return a frame if there's data at time==0.
2015-12-05 17:28:37 +11:00
Jean-Yves Avenard d6b653ae10 Bug 1229605: [MSE] Allow webm/audio independently of video. r=kentuckyfriedtakahe
This adds a media.mediasource.webm.audio.enabled preference (true by default) to disable opus or vorbis audio in webm mediasource.
2015-12-04 14:43:47 +11:00
Jean-Yves Avenard 99d86bb64e Bug 1194624: [MSE] P4. Add mochitest testing new behaviour. r=jwwang
Ensure that the canplay/canplaythrough and readyState is properly updated according to buffering condition.
2015-12-03 19:22:07 +11:00
Jean-Yves Avenard d77e4129ea Bug 1194624: [MSE] P3. Determine when canplaythrough can be fired. r=jwwang
We assume that if we have 30s of data buffered ahead of the current position or up to the element's duration that we can play ahead without interruption.
2015-12-03 19:22:06 +11:00
Jean-Yves Avenard 8e5e1f7311 Bug 1194624: [MSE] P2. Enable NextFrameBufferedStatus() for MediaSourceDecoder. r=jwwang
We require a slightly variation on the default implementation as mediasource allows for gaps of up to 125ms between samples and often videos do not start with a time of 0.
2015-12-03 19:22:05 +11:00
Jean-Yves Avenard b43e4839aa Bug 1194624: [MSE] P1. Move definition of EOS_FUZZ to be public. r=gerald 2015-12-03 19:22:05 +11:00
Jean-Yves Avenard 664205b25d Bug 1229256: [MSE] P3. Prevent crash should buffered range be read while shutting down. r=gerald 2015-12-03 12:38:11 +11:00
Jean-Yves Avenard aa942325d2 Bug 1229657: [MSE] Returns NotSupportedError if mimetype is invalid or not supported. r=gerald
InvalidStateError is only to be returned if the readyState attribute is not in the "open" state.
2015-12-03 12:38:09 +11:00
Jean-Yves Avenard fdf27ff498 Bug 1227396: P9. Remove unnecessary monitor. r=cpearce
The Index and MoofParser are now only used via the MP4Demuxer which is guaranteed to always be called on the same taskqueue.
2015-11-30 11:29:35 +11:00
Jean-Yves Avenard a7975b198f Bug 1227396: P8. Replace MediaByteRange with Interval<int64_t> typedef. r=cpearce
It's now okay to simplify.
2015-11-30 11:29:34 +11:00
Jean-Yves Avenard c8c275cee2 Bug 1227396: P7. Replace nsTArray<MediaByteRange> with dedicated MediaByteRangeSet object. r=cpearce 2015-11-30 11:29:34 +11:00
Jean-Yves Avenard 70f2124283 Bug 1227396: P2. Rename some MediaByteRange methods. r=cpearce
Will facilitate the replacement of MediaByteRange by Interval<int64_t>
2015-11-30 11:29:30 +11:00
Jean-Yves Avenard 835f022d65 Bug 1226931: [MSE] Restrict leeway to append window start. r=gerald.
We only allow a leeway if the append window start is set to its default value (0)
2015-11-23 09:08:26 +11:00
sajitk 582e1a55fa Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian 2015-11-15 14:49:01 +01:00
JW Wang 8dedbfa33d Bug 1223599 - Remove the throttling argument from AbstractMediaDecoder::NotifyDataArrived(). r=jya. 2015-11-11 17:59:16 +08:00
Wes Kocher f3a9eb2a26 Backed out changeset 1e5f3d1151d6 (bug 1219480) for cpp unittest bustage CLOSED TREE
--HG--
extra : commitid : BMVKq6cPeho
2015-11-11 09:36:56 -08:00
sajitk 3cbe348cdd Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian
--HG--
extra : rebase_source : c73098485fa005d914304fb6e7f8eba3c15e66dc
2015-11-11 06:52:00 +01:00
Jean-Yves Avenard 8dcb8265ce Bug 1220033: Fix HTMLMediaElement::seekable attribute for Mediasource. r=gerald
Interval is to start from 0 when duration is +infinity
2015-11-11 21:24:01 +11:00
JW Wang 2344481e8c Bug 1220558. Part 2 - remove unused members. r=jya. 2015-11-11 07:43:41 +08:00
JW Wang 4f2d0e76bc Bug 1220558. Part 1 - remove unused arguments from MediaDecoderReader::DispatchNotifyDataArrived() and its callees/callers. r=jya. 2015-11-11 07:43:38 +08:00
Jean-Yves Avenard 76a1ffa463 Bug 1220033: Don't use fuzz arithmetic for calculating internal buffered ranges r=gerald 2015-11-04 16:52:24 +13:00
Jean-Yves Avenard 3c3b1f1353 Bug 1213177: Enable WebM on machines where H264 HW decoding is disabled. r=kentuckyfriedtakahe 2015-10-29 10:18:59 +11:00
Jean-Yves Avenard 1796d31c83 Bug 1188887: P2. Add mochitest testing new seek behavior. r=jwwang 2015-10-28 10:45:59 +11:00
Jean-Yves Avenard 5b3264d688 Bug 1217170: [MSE] P2. Enable WebM/MSE on systems with no MP4/H264 support. r=kentuckyfriedtakahe 2015-10-27 23:57:35 +11:00
Jean-Yves Avenard d1b1c57939 Bug 1217170: P1. Rename functions to explicitly reflect what they are doing. r=kentuckyfriedtakahe 2015-10-27 23:57:13 +11:00
Jean-Yves Avenard a0f576a061 Bug 1215370: Maintain coded group continuity in sequence append mode when resetting parser state. r=gerald
W3C issue 29133.
2015-10-27 23:54:47 +11:00
JW Wang a7589ce310 Bug 1218280. Part 1 - create MediaResourceCallback for MediaResource to send notifications. r=roc. 2015-10-27 10:28:26 +08:00
Guang-De Lin 5fc8c948b4 Bug 1150305 - sourcebuffer.buffered returns the same object if not changed. r=roc, r=bz, r=jya
--HG--
extra : rebase_source : ffacfcb39b567a6cd034b081f4330d88aacb98f4
2015-10-19 14:10:47 +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
Nathan Froyd 583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -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 5147e1f0af Bug 1214989. Part 3 - remove MediaDecoder::Init() and its callers. r=gerald. 2015-10-15 11:39:45 +08:00
JW Wang e868f91ff6 Bug 1214989. Part 2 - add MediaDecoderOwner to Clone() and overrides. r=gerald. 2015-10-15 11:37:47 +08:00
Eric Rahm d4f1bff852 Bug 1190592 - Part 2: Add test for mediasource memory reporter. r=jya 2015-10-14 20:48:58 -07:00
Eric Rahm 88d7e6c28e Bug 1190592 - Part 1: Add mediasource memory reporter. r=jya
This adds asyncrounous reporting of MSE resources.
2015-08-20 18:10:33 -04:00
JW Wang 1cc6677a90 Bug 1214065 - Remove unused arguments from MediaDecoder::Load() and its friends. r=kinetik. 2015-10-14 11:46:27 +08:00
Eric Rahm a67da92ff4 Bug 1212681 - Enable MSE mochitests on e10s. r=jya 2015-10-08 13:38:02 -07: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