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

304 Коммитов

Автор SHA1 Сообщение Дата
Jean-Yves Avenard 58cb3ab298 Bug 1293646: [MSE] P2. Only reject a seek request with EOS if it's passed the explicit duration. r=gerald
With MSE, the actual duration is always exact as it is amended when data is added. We do not want to fire ended when we attempt to seek to unbuffered data once endOfStream has been called. Instead we will fire the waiting event.

MozReview-Commit-ID: Cl2uBLk2qRQ

--HG--
extra : rebase_source : 6763c6f5a6e15264e276e486fab4d39491ea7f1b
2016-08-10 15:30:12 +10:00
JW Wang 2d84b3c90e Bug 1291633 - Don't call MediaDecoder::SeekingStarted when visibility is Suppressed. r=kaku
MozReview-Commit-ID: 15YOmFCoXGp

--HG--
extra : rebase_source : b5269f7a4883ff08dbfdb797df9eb78334315108
2016-08-03 17:18:54 +08:00
JW Wang aace2f0c8d Bug 1290809 - Remove MediaDecoder::IsEndedOrShutdown(). r=gerald
MozReview-Commit-ID: 4XUcJyQlmfk

--HG--
extra : rebase_source : fc2a044ca2776744ef0fff32300faf647666e73c
2016-08-01 15:22:32 +08:00
JW Wang 8ce157e06f Bug 1290364 - clear mOwner in Shutdown(). r=cpearce
MozReview-Commit-ID: 2CsYKcSrEOJ

--HG--
extra : rebase_source : 3fd60ea1dbbf57c168fa8cebb9bb5594ee8c19fb
2016-07-29 14:44:22 +08:00
JW Wang cff471d7a8 Bug 1283724 - throttle notifications from stochastic network activity to save computation of buffer ranges. r=jya
MozReview-Commit-ID: BRBv2Flqu3u

--HG--
extra : rebase_source : fe28566c79f2f31a5054e4cda35d96c938985299
2016-08-01 14:39:39 +08:00
JW Wang 32c54a1d7b Bug 1290028 - Remove the check for IsShutdown() from MediaDecoder::OwnerHasError(). r=gerald
MozReview-Commit-ID: Cg5UoFngxFr

--HG--
extra : rebase_source : afece4f66454cf7b2c68ede4b5802fc445be96fa
2016-07-28 17:21:09 +08:00
JW Wang 453c175228 Bug 1290780. Part 8 - Assert IsShutdown() is false in SetExplicitDuration(). r=kaku
It is called from MediaSourceDecoder::SetMediaSourceDuration() which asserts !IsShutdown().

MozReview-Commit-ID: LF8rRPZhkA2

--HG--
extra : rebase_source : 886778f70d00e8670a203e9d322e442c9d117a72
2016-07-28 16:54:53 +08:00
JW Wang cb02478192 Bug 1290780. Part 1 - Assert IsShutdown() is false in MediaDecoder::UpdateLogicalPosition(). r=kaku
1. Callbacks from the watch manager are disconnected in Shutdown().
2. It is called from MediaOmxCommonDecoder::NotifyOffloadPlayerPositionChanged() which will not happen after Shutdown().
3. It is called from MediaOmxCommonDecoder::ResumeStateMachine() which returns early when IsShutdown() is true.

MozReview-Commit-ID: COmPFaQzNTq

--HG--
extra : rebase_source : ac88698c66f4586b00fe62ad4dcdbb1cb4ce8542
2016-07-28 14:43:50 +08:00
JW Wang 85e1a73473 Bug 1289976. Part 8 - Remove the IsShutdown() check from UpdateReadyState(). The callback is disconnected by the watch manager in Shutdown(). r=kaku
MozReview-Commit-ID: xVSWdj1Q0y

--HG--
extra : rebase_source : 948f622c399e1c072b4c15730a7a8c5fbd2ec696
2016-07-27 10:59:23 +08:00
Carsten "Tomcat" Book a51910755e Backed out changeset f648be2df9ec (bug 1289976) 2016-07-30 19:52:27 +02:00
JW Wang 661f07a5d4 Bug 1289976. Part 8 - Remove the IsShutdown() check from UpdateReadyState(). The callback is disconnected by the watch manager in Shutdown(). r=kaku
MozReview-Commit-ID: xVSWdj1Q0y

--HG--
extra : rebase_source : 948f622c399e1c072b4c15730a7a8c5fbd2ec696
2016-07-27 10:59:23 +08:00
Gerald Squelart 7bea2e1262 Bug 1289668 - Refactor FrameStatistics writers to use Data struct - r=kamidphish
Decoders now use FrameStatisticsData to gather data for their frame-related
notifications. This will ease introducing new members later on.

MozReview-Commit-ID: DWdOSPX3JM

--HG--
extra : rebase_source : a3e05f34353a397d1c82b3f4d935c0864f90556e
2016-07-18 10:41:40 +10:00
JW Wang 0b638406f0 Bug 1289004. Part 3 - Remove MediaDecoder::mShuttingDown. r=cpearce
MozReview-Commit-ID: DoJ4UFuyz2h

--HG--
extra : rebase_source : 531df3335548186338fc2eb5b5b4b0bb4cc6c101
extra : source : d4f4a98303c3ddc14986478aa44f137cce87af30
2016-07-13 16:48:27 +08:00
JW Wang 12fd7814cd Bug 1289004. Part 2 - Add MediaDecoder::IsShutdown(). r=cpearce
MozReview-Commit-ID: 50muOKcUqYi

--HG--
extra : rebase_source : d97e968c980dcc146824bb6703747f23b0a5b651
extra : source : 2ca76a5cecbb9c6ef107794eab32bb13633880a2
2016-07-13 16:45:30 +08:00
JW Wang 694dff250f Bug 1289004. Part 1 - Constify and devirtualize some functions. r=cpearce.
MozReview-Commit-ID: 8f14ekpinCR

--HG--
extra : rebase_source : ca1d62df789639817e4c7da01919783038db22f0
extra : source : 5dc15cac9b631fd10b03902b3ba627fd763a49aa
2016-07-13 16:35:37 +08:00
JW Wang db58db163a Bug 1288344. Part 2 - Remove MediaDecoder::mWasEndedWhenEnteredDormant. r=cpearce
MozReview-Commit-ID: edGkP9mv6L

--HG--
extra : rebase_source : 4833d10975c6dd241d41bf86f81b08a9fe76784c
2016-07-12 14:34:06 +08:00
JW Wang f090553820 Bug 1287350. Part 1 - extract some code to {Connect,Disconnect}Mirrors. r=jya.
MozReview-Commit-ID: Ayf109fFhRU

--HG--
extra : rebase_source : bff7df290062d40c40b61a05bc054fbfa9cd3ddc
2016-07-15 15:35:41 +08:00
Chris Pearce de045590ac Bug 1267918 - Add GMPCrashHelper for HTMLMediaElement. r=gerald
This ensures that unencrypted GMP decoding crash reporting works.

MozReview-Commit-ID: 84TAV5F9Ie0

--HG--
extra : rebase_source : c0bf3021be9fa0833a7b375967572f1019e4e279
2016-06-29 11:42:07 +12:00
JW Wang f7267b13db Bug 1274030 - clean VideoFrameContainer when "xpcom-shutdown" event received. r=cpearce
MozReview-Commit-ID: 92zeiNXSkjf
2016-05-22 21:39:55 +08:00
Kaku Kuo 9ace015fa5 Bug 1276272 - part 3 - implement promise-based HTMLMediaElement::seekToNextFrame(); r=jwwang
MozReview-Commit-ID: JaUQe5GK6bF

--HG--
extra : rebase_source : 63ffb58ca29776757cd869579e149a4330311e08
2016-06-09 20:27:39 +01:00
JW Wang 006ae9baa3 Bug 1193124 - Ensure logical position is updated after seek. r=jwwang
MozReview-Commit-ID: KD4ylXbaDfu

--HG--
extra : rebase_source : c3e856ce515eeeec17b0dd9c64332fcff4d6deb5
2016-04-18 18:57:47 +08:00
Dan Glastonbury 78730160f5 Bug 1224973 - Part 3: Plumb element visibility into MDSM. r=jya,jwwang
change MediaDecoder::mIsVisible to be a Canonical<bool> and plumb through to
the MediaDecoderStateMachine.  This will be used to trigger suspending the
decoding of video frames.

MozReview-Commit-ID: F3Dpf0ogE7c
2016-05-12 09:53:51 +10:00
Dan Glastonbury 9f98a19f8c Bug 1224973 - Part 2: Set MediaDecoder visibility via NotifyOwnerActivityChanged. r=cpearce,jwwang
Make MediaDecoder::SetElementVisibility private.

MozReview-Commit-ID: GjCuSNPalkE
2016-05-12 09:53:02 +10:00
Dan Glastonbury d4be2cf480 Bug 1224973 - Part 1: Remove MediaDecoderOwner->IsHidden(). r=cpearce,jwwang
Used only by dormant mode calculations, remove IsHidden() and replace with
mIsVisible in MediaDecoder.

MozReview-Commit-ID: CksjiXsbsrb
2016-05-12 09:52:43 +10:00
JW Wang 0a9e6a6567 Bug 1267933 - rewrite the shutdown sequence of MediaShutdownManager. r=jya,gerald.
MozReview-Commit-ID: 8n7JlXOby0z
2016-05-04 16:13:25 +08:00
JW Wang 94b009f556 Bug 1265978. Part 2 - add methods to MediaDecoder and MDSM to dump debugging info. r=jya.
MozReview-Commit-ID: Dbc5FT627uL
2016-04-22 14:18:26 +08:00
Andreas Pehrson e1b8d01dd1 Bug 1208371 - Hook up DecodedStream with PrincipalHandle. r=mt,jwwang
MozReview-Commit-ID: 1LmiFyfjhsr

--HG--
extra : rebase_source : e1ceca65cd1f5ff64ab6fff8fafc1ddd08f44b87
2016-02-02 13:14:13 +08:00
Bryce Van Dyk 939ab2b661 Bug 657791 - Update seekable range handling for cueless WebMs. r=kinetik
MediaDecoder previously had 3 states within GetSeekable(), media is either
seekable, seekable but not supported by transport, or not seekable. Due to
changes to make cueless webms playable, a 4th option is needed: a file that is
not fully seekable, but may support seeking from the transport, such as these
webms, should only be seekable in the buffered range.

MozReview-Commit-ID: ISeFkngtrGU
2016-02-04 17:31:21 +13:00
Eugen Sawin c0b51aec88 Bug 1255050 - [1.1] Restrict media plugin decoder usage to Android ICS. r=snorp 2016-03-10 23:14:13 +01:00
Jean-Yves Avenard 53c49526d6 Bug 1246521: P2. Add MediaDecoder::OwnerHasError method. r=gerald 2016-02-08 16:38:26 +11:00
Jean-Yves Avenard 83fff9be79 Bug 1243608: P2. Pass the full SeekTarget object to MediaDecoderReader::Seek. r=cpearce
This will allow the reader to know if we are performing a fast seek.
2016-02-02 18:57:12 +11:00
Alastor Wu abde274a94 Bug 1238906 - part2 : notify audible state from MDSM to ME. r=jwwang
--HG--
extra : rebase_source : 74629c314b3d828a5d9b514bf6cca87f7c1f57de
2016-01-21 10:27:38 +08:00
Jean-Yves Avenard 58d924fab9 Bug 1236703: P2. Add methods to retrieve debugging data on plain readers. r=jwwang 2016-01-20 09:50:26 +11:00
Sebastian Hengst 9249e58bdf Backed out 2 changesets (bug 1238906) for bustage in M(2) on OSX and Windows. r=bustage
Backed out changeset e729b30ba7b4 (bug 1238906)
Backed out changeset 1857bca40ac4 (bug 1238906)
2016-01-18 13:11:43 +01:00
Alastor Wu bbcb84cc7b Bug 1238906 - part2 : notify audible state from MDSM to ME. r=jwwang
--HG--
extra : transplant_source : %A6I%CA%AC%95%AD%0C%7D%40K%8C_%8B%3D%15%BC%F7%FB%86%27
2016-01-18 10:50:47 +08:00
Ralph Giles c34de716dc Bug 1175319 - Remove outdated MDSM documenation. r=jya DONTBUILD
Rebased patch by Chris Double.
2016-01-11 17:43:12 -08:00
JW Wang 4627500b49 Bug 1237616 - Remove the aForceBuffering arugment from MediaDecoder::Resume(). r=cpearce. 2016-01-12 08:04:32 +08:00
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
Jean-Yves Avenard 8f79430f0e Bug 1234092: P1. Remove GStreamer support. r=kentuckyfriedtakahe
It was now unused by default.
2015-12-23 01:14:22 +11:00
Chris Peterson 90c0e0da61 Bug 1232223 - Part 3: Remove MOZ_WAVE #ifdefs because Wave is always supported. r=jya 2015-12-18 00:51:16 -08: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
JW Wang 84171dfe8c Bug 1230004. Part 2 - have MDSM::BeginShutdown return a promise and remove MDSM::mDecoder. r=cpearce. 2015-12-03 15:59:44 +08:00
JW Wang a62c25461b Bug 1230004. Part 1 - cache data in MDSM so it won't need to ask MediaDecoder. r=cpearce. 2015-12-03 15:59:30 +08: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 dc75044746 Bug 1229256: P2. Use buffered range to determine next frame availability. r=jwwang
To avoid potential regression with some of our tests expecting our old particular behaviour, we only use the buffered range to determine the next frame status if the old method determined that the next frame was unavailable due to the MediaDecodeStateMachine not having decoded the next frame yet.
2015-12-03 12:38:10 +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
JW Wang f304127126 Bug 1228923 - Merge some MediaEventSource for MDSM. r=jya. 2015-12-01 09:34:02 +08:00
JW Wang 6e21f29356 Bug 1227797 - Use MediaEventSource to publish playback events for MDSM. r=jya. 2015-11-30 13:06:19 +08:00
Benjamin Chen 9008199c76 Bug 1198576 - Remove MediaCodecReader. r=bwu 2015-11-25 16:18:01 +08:00
Chris Pearce cea22429d5 Bug 1226450 - Report audio/video codecs used in HTMLMediaElement and WebAudio via telemetry. r=jya 2015-11-25 12:52:48 +13:00
JW Wang 328ebd72a1 Bug 1226569. Part 1 - Use MediaEventSource to publish MetadataLoaded and FirstFrameLoaded events. r=jya. 2015-11-23 10:35:18 +08:00
JW Wang b194bb0f80 Bug 1219163. Part 2 - Move some functions that are never called from the interface of AbstractMediaDecoder down the class hierarchy. r=jya. 2015-11-23 10:26:49 +08:00
JW Wang a7be18a6e3 Bug 1219163. Part 1 - Remove unused functions from AbstractMediaDecoder. r=jya. 2015-11-23 10:19:04 +08:00
Jean-Yves Avenard 3fbc97331d Bug 1209388: [mp3] Remove AppleMP3Reader. r=kentuckyfriedtakahe
Following bug 1209410, it was no longer used.
2015-11-19 10:40:33 +11:00
JW Wang fbb85ac25a Bug 1219142. Part 1 - add AbstractMediaDecoder::DataArrivedEvent() to publish events. r=jya. 2015-11-18 09:00:56 +08:00
JW Wang 14c8d627dd Bug 1221009. Part 2 - remove unused code. r=roc. 2015-11-16 07:51:03 +08:00
JW Wang c87926273d Bug 1221009. Part 1 - add a class to forward notifications from MediaResource to MediaDecoder. r=roc. 2015-11-16 07:50:55 +08:00
JW Wang 8dedbfa33d Bug 1223599 - Remove the throttling argument from AbstractMediaDecoder::NotifyDataArrived(). r=jya. 2015-11-11 17:59:16 +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
JW Wang 89a23d426c Bug 1219169. Part 1 - Remove AbstractMediaDecoder::OnStateMachineTaskQueue(). r=jya. 2015-11-02 10:36:48 +08: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
JW Wang dd444c1fe0 Bug 1216031 - Make MediaDecoder::mVideoFrameContainer const. r=kinetik. 2015-10-21 10:48:20 +08:00
JW Wang f4b4ec1c67 Bug 1215023. Part 2 - remove null check of mOwner. We check mShuttingDown to know whether it is valid to call functions of mOwner. r=kinetik. 2015-10-19 13:55:38 +08:00
JW Wang 6d842ecf29 Bug 1215023. Part 1 - make MediaDecoder::mOwner a const member. We will check mShuttingDown before calling functions of mOwner. r=kinetik. 2015-10-19 13:55:26 +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
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
JW Wang e470e1616d Bug 1214989. Part 1 - add MediaDecoderOwner to the constructors of MediaDecoder and sub-classes. r=gerald. 2015-10-15 11:36:21 +08: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
JW Wang a072559a2a Bug 1212701. Part 1 - remove AbstractMediaDecoder::OnDecodeTaskQueue(). r=jya. 2015-10-12 12:05:49 +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 aadc51ecc8 Bug 1211766 - Remove AbstractMediaDecoder::GetReentrantMonitor(). r=jya. 2015-09-30 07:04:49 +08:00
Jean-Yves Avenard 04cdb572f3 Revert "Bug 1209388: [mp3] Remove AppleMP3Reader. r=kentuckyfriedtakahe" r=me
This reverts commit ecbe6589d36e

May be better of waiting a little bit in case we find that the new MP3Demuxer isn't up to scratch
2015-10-02 19:24:54 +10:00
Jean-Yves Avenard b2c18c37f4 Bug 1209388: [mp3] Remove AppleMP3Reader. r=kentuckyfriedtakahe
Following bug 1209410, it was no longer used.
2015-10-02 18:44:34 +10:00
JW Wang fd23a5e794 Bug 1208933 - Remove AbstractMediaDecoder::NotifyWaitingForResourcesStatusChanged(). r=jya. 2015-09-27 21:02:18 +08:00
JW Wang 489900ad10 Bug 1208922. Part 4 - remove AbstractMediaDecoder::GetCDMProxy() and devirtualize MediaDecoder::SetCDMProxy(). r=cpearce. 2015-09-27 18:59:08 +08:00
JW Wang 401634bd83 Bug 1208922. Part 1 - add MediaDecoder::RequestCDMProxy() which resolves when a CDMProxy is set and capabilities are known. The client code won't need to handle the situation where a CDMProxy is set but capabilities are still unknown. This simplifies the client code a lot. r=cpearce. 2015-09-27 18:39:37 +08:00
JW Wang 3b34b7fda2 Bug 1207017. Part 2 - remove duplicated GetStateMachine(). r=kinetik. 2015-09-22 13:57:36 +08:00
JW Wang 9f60378309 Bug 1206574 - Remove AbstractMediaDecoder::IsShutdown(). r=cpearce. 2015-09-22 10:56:17 +08:00
JW Wang 9fd579e930 Bug 1204430. Part 2 - mirror MediaDecoder::mMediaSeekable. r=kinetik. 2015-09-21 13:49:01 +08:00
Kilik Kuo 90420c357e Bug 1204882 - Move MediaDecoder::FrameStatistics out of MediaDecoder for easier use in other classes. r=jwwang
--HG--
extra : transplant_source : 3%E1%C1%3B%B5%8B%82%20%DF%AE%1A%21%E0f%FF%7C%3C%0EF%10
2015-09-15 22:57:20 +08:00
JW Wang 0f170dcc0b Bug 1203877 - Remove MediaDecoder::UpdatePlaybackOffset. r=kinetik. 2015-09-15 13:51:12 +08:00
JW Wang 991d089255 Bug 1203418. Part 1 - cache the results of ComputePlaybackRate() so they can be mirrored by MDSM. r=cpearce.
Since the results of ComputePlaybackRate() depend on mDuration and mPlaybackStatistics,
we call ComputePlaybackRate() when mDuration is changed or mPlaybackStatistics->Stop() is called.
GetStatistics() won't have to call ComputePlaybackRate() because the results are already stored in
mPlaybackBytesPerSecond and mPlaybackRateReliable.
We will fix the MDSM part in the next patch.
2015-09-15 10:04:50 +08:00
JW Wang 4fecfe3ea1 Bug 1203374. Part 1 - extract the code of computing canplaythrough so it is reusable. r=jya.
1. extract MediaDecoder::Statistics to its own file.
2. sort out include orders of MediaDecoderStateMachine.cpp
2015-09-10 16:37:26 +08:00
JW Wang b853505d1f Bug 1199155. Part 2 - fix includes and forward declarations. r=roc. 2015-09-07 19:32:04 +08:00
JW Wang d5b1c53fd7 Bug 1195158. Part 5 - 1. Fix insufficient includes and sort out include order. 2. Only disconnect |mTimedMetadataListener| when the state machine is created. r=cpearce. 2015-09-07 11:39:46 +08:00
JW Wang 7cab08fca3 Bug 1195158. Part 4 - remove unused code. r=cpearce. 2015-09-07 11:39:16 +08:00
JW Wang 09c4ea2b2e 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-09-07 11:38:34 +08:00
JW Wang 3a7d265755 Bug 1193603. Part 2 - Fix miscalculation in converting micro seconds to seconds. r=jya. 2015-08-12 18:02:34 +08:00
JW Wang c8f63ccc7b Bug 1191684 - Remove unnecessary calls to NotifyAll() on the decoder monitor since no one calls Wait(). r=cpearce. 2015-08-10 09:54:48 +08:00
JW Wang c1624b854e Bug 1191173 - Mirror MediaDecoder::mSameOriginMedia in MDSM. r=jya. 2015-08-06 18:05:30 +08:00
Benjamin Chen 69e26539a4 Bug 1186752 - Remove ScheduleStateMachine() in MediaDecoder.cpp since we have state mirror. r=jwwang 2015-07-23 18:39:09 +08:00
Paul Adenot f7bb3fd5bd Bug 1156472 - Part 7 - Allow to un-capture an HTMLMediaElement. r=pehrsons,jwwang 2015-07-24 14:28:17 +02:00
Wes Kocher 83b4188234 Backed out 14 changesets (bug 1156472) for test_getUserMedia_audioCapture.html failures on b2g emulator
Backed out changeset deec8eb18346 (bug 1156472)
Backed out changeset 0f5bec4c05ba (bug 1156472)
Backed out changeset 2dd83ac00bf9 (bug 1156472)
Backed out changeset abd4e47887f7 (bug 1156472)
Backed out changeset 4824d9874663 (bug 1156472)
Backed out changeset 12805598e6fa (bug 1156472)
Backed out changeset e2f0062a1f67 (bug 1156472)
Backed out changeset 99ef8e436a7f (bug 1156472)
Backed out changeset 65bbfc1546af (bug 1156472)
Backed out changeset 2ab4f16eaf0a (bug 1156472)
Backed out changeset 7f565685e20a (bug 1156472)
Backed out changeset 28c03c98cb2b (bug 1156472)
Backed out changeset d477cfba6e1d (bug 1156472)
Backed out changeset 9819fa56caa1 (bug 1156472)
2015-07-24 13:15:57 -07:00
Paul Adenot 62ea7fce4b Bug 1156472 - Part 7 - Allow to un-capture an HTMLMediaElement. r=pehrsons,jwwang 2015-07-24 14:28:17 +02:00
Carsten "Tomcat" Book 2b73aa4f63 Backed out 14 changesets (bug 1156472) for bustage on a CLOSED TREE
Backed out changeset 2ddbf85a42c0 (bug 1156472)
Backed out changeset 306d02e17081 (bug 1156472)
Backed out changeset 03598139f39a (bug 1156472)
Backed out changeset 4b1e6069b598 (bug 1156472)
Backed out changeset 6c588a5eaaec (bug 1156472)
Backed out changeset 8c98d7beaea7 (bug 1156472)
Backed out changeset fbf59fbb5875 (bug 1156472)
Backed out changeset 66479dd9eed9 (bug 1156472)
Backed out changeset c8502deeed33 (bug 1156472)
Backed out changeset 1a60ff1149a1 (bug 1156472)
Backed out changeset af1638279785 (bug 1156472)
Backed out changeset 8210276a98ca (bug 1156472)
Backed out changeset 13730e7c5997 (bug 1156472)
Backed out changeset 05acb71cf981 (bug 1156472)
2015-07-24 17:08:37 +02:00
Paul Adenot 27a91916bf Bug 1156472 - Part 7 - Allow to un-capture an HTMLMediaElement. r=pehrsons,jwwang 2015-07-24 14:28:17 +02:00
JW Wang e025bd63c4 Bug 1185892. Part 3 - replace all calls to MediaDecoder::IsExpectingMoreData() with MediaResource::IsExpectingMoreData. r=jya. 2015-07-22 20:58:00 +08:00
JW Wang 2a7a82a4ed Bug 1183518. Part 2 - Move update of mIgnoreProgressData to main thread. r=cpearce. 2015-07-20 14:34:18 +08: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
JW Wang ca9b1829a7 Bug 1184010 - Put Mirrors/Canonicals together. r=jya. 2015-07-17 13:00:26 +08:00
Chris Pearce 4471953140 Bug 1182928 - Disable dormant mode for EME videos in Firefox Beta and Release. r=sotaro 2015-07-14 12:17:07 +12:00
Bobby Holley cfc2efb3e7 Bug 1179499 - Dispatch NotifyPlayback{Started,Stopped}. r=jww 2015-07-02 19:26:24 -07:00
Bobby Holley bb1f9a0082 Bug 1179499 - Assert NS_IsMainThread on a bunch of MediaDecoder methods. r=jww 2015-07-02 19:26:24 -07:00
Bobby Holley 7ff89b25af Bug 1178938 - Mirror shutdown-ness from the MDSM to the MD. r=jww 2015-07-02 12:38:44 -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
JW Wang fdfaf1fa60 Bug 1178680 - Remove MediaDecoder::Observe as we have MediaShutdownManager. r=cpearce. 2015-07-01 11:46:38 +08:00
Bobby Holley 3985c88eb7 Bug 1175768 - Throttle NotifyDataArrived. r=jya 2015-06-27 01:19:14 -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
Bobby Holley a269ea96b4 Bug 1175768 - Dispatch UpdateEstimatedMediaDuration. r=jya
NotifyDataArrived will soon run off-main-thread, so the assumptions here won't hold.
2015-06-27 01:19:07 -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 6925b1f100 Bug 1175768 - Throttle NotifyDataArrived. r=jya 2015-06-22 22:53:09 -07: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
Bobby Holley 56422fb439 Bug 1175768 - Dispatch UpdateEstimatedMediaDuration. r=jya
NotifyDataArrived will soon run off-main-thread, so the assumptions here won't hold.
2015-06-22 22:53:06 -07:00
Bobby Holley a145818bdf Bug 1172264 - Watch mStateMachineDuration, and stop manually firing DurationChanged. r=jww 2015-06-17 09:49:11 -07:00
Bobby Holley a1ebe95511 Bug 1172264 - Route mExplicitDuration directly from the mediasource code to MediaDecoder, and stop passing an argument to DurationChanged. r=pending=jww 2015-06-17 09:49:10 -07:00
Bobby Holley 56a6ea9edb Bug 1172264 - Mirror duration from the MDSM to the MediaDecoderReader and remove MDSM::GetDuration. r=jww 2015-06-17 09:49:10 -07:00
Bobby Holley 2aa4ae8328 Bug 1172264 - Mirror duration from the MDSM to the MediaDecoder. r=jww 2015-06-17 09:49:09 -07:00
Bobby Holley 91cfeb8f8f Bug 1172264 - Switch MediaDecoder's mDuration represenation to a double. r=jww 2015-06-17 09:49:09 -07:00
Jean-Yves Avenard 0b224435dc Bug 1171330: P9. Remove "Diamond Problem" with MediaDecoder inheritance. r=cpearce
--HG--
extra : rebase_source : a8116bf4cdcf3910dbcbf68ba7adb36e6c9d2e04
2015-06-11 15:55:20 +10:00
Bobby Holley aa6c9ce796 Bug 1160695 - Drop Support for Content-Duration. r=cpearce 2015-06-08 09:22:46 -07:00
Bobby Holley 6af84ec47e Bug 1160695 - Track demuxer-estimated duration separately. r=jww 2015-06-08 09:22:37 -07:00
Bobby Holley 54cc593e26 Bug 1160695 - Track explicit (mediasource) duration separately. f=jww,rpending=jya 2015-06-08 09:22:28 -07:00
Bobby Holley 027a3eaded Bug 1160695 - Make MediaDecoder::DurationChanged take a duration argument rather than reading it back synchronously from the MDSM. r=jww 2015-06-08 09:21:23 -07:00
Bobby Holley f83f94efbb Bug 1160695 - Track "metadata duration" separately and mirror it to MediaDecoderReader. r=jww 2015-06-08 09:21:22 -07:00
Bobby Holley 1893956886 Bug 1160695 - Track "network duration" separately and mirror it to the MDSM. r=jww 2015-06-08 09:21:20 -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
JW Wang 341b29f73c Bug 1163467. Part 6 - refactor MediaDecoder::AddOutputStream and move related code to MediaDecoderStateMachine. r=roc. 2015-05-28 14:17:30 +08:00
JW Wang 66e3c00ee3 Bug 1163467. Part 5 - move MediaDecoder::UpdateStreamBlockingForPlayState to MediaDecoderStateMachine. r=roc. 2015-05-28 14:16:59 +08:00
JW Wang f6643b3d27 Bug 1163467. Part 4 - move MediaDecoder::UpdateStreamBlockingForStateMachinePlaying to MediaDecoderStateMachine. r=roc. 2015-05-28 14:16:42 +08:00
JW Wang e2adc230bf Bug 1163467. Part 2 - rename MediaDecoder::UpdateDecodedStream to MediaDecoder::UpdateStreamBlockingForPlayState. r=roc. 2015-05-28 14:16:16 +08:00
JW Wang 838880e42a Bug 1163497. Part 5 - remove unused functions. r=roc. 2015-05-26 10:22:03 +08:00
JW Wang 4db24fa288 Bug 1163497. Part 2 - Remove MediaDecoder::DestroyDecodedStream(). r=roc. 2015-05-10 12:26:03 +08:00
JW Wang 61664897b5 Bug 1163497. Part 1 - remove MediaDecoder::ConnectDecodedStreamToOutputStream(). r=roc. 2015-05-10 12:16:38 +08:00
JW Wang 9f91817088 Bug 1163474. Part 2 - move MediaDecoder::mOutputStreams to DecodedStream. r=roc. 2015-05-10 11:57:46 +08:00
JW Wang ddd8ef7478 Bug 1163474. Part 1 - Create a wrapper class to which MediaDecoder::mOutputStreams will move. r=roc. 2015-05-10 11:48:05 +08:00
Jean-Yves Avenard 54a681396b Bug 1163445: Part5. Replace dom::TimeRanges with TimeIntervals object. r=mattwoodrow 2015-05-18 16:15:47 +10:00
JW Wang f34e30b2c4 Bug 1163469 - Move MediaDecoder::DecodedStreamData and related code to its own file. r=roc. 2015-05-10 11:38:15 +08:00
Benjamin Chen e7bed7a4c5 Bug 1140995 - Part 1 - At end of stream, send the last video frame to decoded stream with deviation usec if the last video frame's duration is 0. r=jwwang
--HG--
extra : rebase_source : 4aedc130f6ce2e350836accdd9b6b1e6d0e8706c
2015-04-22 18:19:19 +08:00
Bobby Holley 22d027c1ad Bug 1162803 - Mirror playback position. r=jww,r=sotaro 2015-05-11 11:16:07 -07:00
Bobby Holley 973ebd793d Bug 1161901 - Make MDSM::ScheduleStateMachine runs on the state machine task queue only. r=jww 2015-05-07 09:50:35 -07:00
Sotaro Ikeda aef8cc58bd Bug 1158448 Part 2 - Remove ApplyStateToStateMachine and PLAY_STATE_SEEKING r=jwwang,bwu 2015-05-07 08:19:46 -07:00
Sotaro Ikeda 1c5c106f78 Bug 1158448 Part 1 - Replace MDSM::Play with a state-watcher on mPlayState and eliminate ApplyStateToStateMachine. r=sotaro 2015-05-07 08:19:33 -07:00
Bobby Holley d4519a33a2 Bug 1159974 - Mirror mPreservesPitch. r=jww 2015-05-04 11:04:47 -07:00
Bobby Holley d594a72f36 Bug 1159974 - Mirror mPlaybackRate. r=jww 2015-05-04 11:04:46 -07:00