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

285 Коммитов

Автор SHA1 Сообщение Дата
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
Benjamin Chen 3dc8ab47ea Bug 1183394 - Remove the assertion message when shutdown. r=jwwang 2015-07-21 18:01:00 +08: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 cc8b7e3ce1 Bug 1185892. Part 2 - delegate the job of MediaDecoder::IsExpectingMoreData to its MediaResource. r=jya. 2015-07-22 20:57:41 +08:00
JW Wang 9abbdbd8e5 Bug 1183518. Part 3 - early bailout from MediaDecoder::NotifyBytesConsumed when shutting down. r=jya. 2015-07-20 15:20:56 +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
JW Wang 0440c725fd Bug 1183518. Part 1 - move calls to mResource->SetReadMode out of Mediadecoder::{Start,Stop}ProgressUpdates since they are not related to progress update. r=roc. 2015-07-20 14:29:10 +08:00
Bobby Holley 78001ffc43 Bug 1184634 - Rename "TaskQueue()" accessor to "OwnerThread()". r=gerald
Otherwise this name will collide with the rename of MediaTaskQueue to TaskQueue.
It's also a better naming convention, because it generalizes to things that are
owned by an AbstractThread that is not a Task Queue.

We rename to Queue() in TestMozPromise, because that's more accurate.
2015-07-16 22:22:07 -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 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 16d561e4cf Bug 1179110 - Fix ComputePlaybackRate. r=jww
This is a regression from https://hg.mozilla.org/mozilla-central/rev/3ead3466f84a
2015-07-02 12:05:18 -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 c1640b0839 Bug 1178437 - Dispatch SetFragmentEndTime. r=jww 2015-07-01 18:46:58 -07:00
JW Wang fdfaf1fa60 Bug 1178680 - Remove MediaDecoder::Observe as we have MediaShutdownManager. r=cpearce. 2015-07-01 11:46:38 +08:00
JW Wang 82fb026ef0 Bug 1178622 - Fix enum-to-string mismatch in MediaDecoder.cpp. r=jya. 2015-06-30 15:58:05 +08:00
Bobby Holley ce966d4a0a Bug 1177282 - Create and destroy static SharedThreadPool state at startup/shutdown. r=cpearce 2015-06-30 02:13:04 -07: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
Matthew Gregan ac2b9444ba Bug 1103824 - Back out changeset for causing regression reported in bug 1176499. 2015-06-23 17:02:51 -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
Matthew Gregan bf4e15de86 Bug 1103824 - Ensure first initialization of IAudioClient happens on STA thread. r=padenot
--HG--
extra : rebase_source : 344380ef08d44983c745bea5cee792140ca7ca66
2015-05-14 18:33:23 +12:00
Chris Pearce 2f60326595 Bug 1174055 - Remove WMFReader. r=jya
--HG--
rename : dom/media/wmf/DXVA2Manager.cpp => dom/media/platforms/wmf/DXVA2Manager.cpp
rename : dom/media/wmf/DXVA2Manager.h => dom/media/platforms/wmf/DXVA2Manager.h
rename : dom/media/wmf/WMF.h => dom/media/platforms/wmf/WMF.h
rename : dom/media/wmf/WMFUtils.cpp => dom/media/platforms/wmf/WMFUtils.cpp
rename : dom/media/wmf/WMFUtils.h => dom/media/platforms/wmf/WMFUtils.h
2015-06-16 14:28:01 +12:00
Bobby Holley aa6c9ce796 Bug 1160695 - Drop Support for Content-Duration. r=cpearce 2015-06-08 09:22:46 -07:00
Bobby Holley bc78dbf53c Bug 1160695 - Hoist post-duration-change seeking into MediaDecoder where it belongs. r=jww
Without this, we get failures in test_TruncatedDuration.html etc. I decided that
integrating this into the precisely correct position in the patch stack was too
much work.
2015-06-08 09:22:43 -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
Eric Rahm 75c4bebb79 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-03 15:25:57 -07:00
Carsten "Tomcat" Book 5471309381 Backed out 14 changesets (bug 1165515) for linux x64 e10s m2 test failures
Backed out changeset d68dcf2ef372 (bug 1165515)
Backed out changeset 7c3b45a47811 (bug 1165515)
Backed out changeset b668b617bef2 (bug 1165515)
Backed out changeset d0916e1283a2 (bug 1165515)
Backed out changeset ac4dc7489942 (bug 1165515)
Backed out changeset e9632ce8bc65 (bug 1165515)
Backed out changeset c16d215cc7e4 (bug 1165515)
Backed out changeset e4d474f3c51a (bug 1165515)
Backed out changeset d87680bf9f7c (bug 1165515)
Backed out changeset b3c0a45ba99e (bug 1165515)
Backed out changeset 9370fa197674 (bug 1165515)
Backed out changeset 50970d668ca1 (bug 1165515)
Backed out changeset ffa4eb6d24b9 (bug 1165515)
Backed out changeset 5fcf1203cc1d (bug 1165515)

--HG--
extra : rebase_source : 6fb850d063cbabe738f97f0380302153e3eae97a
2015-06-02 13:05:56 +02:00
Eric Rahm a9afd68cef Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 22:17:33 -07:00
Wes Kocher 4e9f80ed2e Backed out 14 changesets (bug 1165515) for b2g mochitest-6 permafail CLOSED TREE
Backed out changeset 9b97e2aa2ed9 (bug 1165515)
Backed out changeset 150606c022a2 (bug 1165515)
Backed out changeset 4e875a488349 (bug 1165515)
Backed out changeset 467e7feeb546 (bug 1165515)
Backed out changeset d6b6cc373197 (bug 1165515)
Backed out changeset 0615265b593c (bug 1165515)
Backed out changeset fafd1dce9f08 (bug 1165515)
Backed out changeset d1df869245f9 (bug 1165515)
Backed out changeset 6876a7c63611 (bug 1165515)
Backed out changeset b7841c94a9a3 (bug 1165515)
Backed out changeset e5e3617f7c73 (bug 1165515)
Backed out changeset 39be3db95978 (bug 1165515)
Backed out changeset 0ec74176f8de (bug 1165515)
Backed out changeset 5b928dd10d71 (bug 1165515)
2015-06-01 17:57:58 -07:00
Eric Rahm f82c0e7caf Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 14:31:01 -07:00
Bobby Holley 15e573e813 Bug 1168008 - Get rid of RefableThen and make Then return an nsRefPtr<Consumer>. r=jww
This incurs an extra addref here and there, but I think it makes the API simpler
to use and understand.
2015-05-28 16:03:06 -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 c387e1df1f Bug 1163467. Part 3 - move AddOutputStream code below MediaDecoder::Load(). r=roc. 2015-05-28 14:16:29 +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 22cc98ef7b Bug 1163467. Part 1 - refactor DecodedStream::RecreateData(). r=roc. 2015-05-28 14:16:01 +08:00
JW Wang 5db825a583 Bug 1163497. Part 4 - move output stream code from MediaDecoder::AddOutputStream() to DecodedStream::Connect(). r=roc. 2015-05-26 10:21:53 +08:00
JW Wang 5871f0d45e Bug 1163497. Part 3 - move stream connection code from MediaDecoder::RecreateDecodedStream() to DecodedStream::RecreateData(). r=roc. 2015-05-26 10:21:41 +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 befae12d3f Bug 1163489 - Remove dependency on MediaDecoder from DecodedStream. r=roc. 2015-05-10 12:07:14 +08:00
Nathan Froyd db188ea282 Bug 1160485 - remove implicit conversion from RefPtr<T> to TemporaryRef<T>; r=ehsan
Having this implicit conversion means that we can silently do extra
refcounting when it's completely unnecessary.  It's also an obstacle to
making RefPtr more nsRefPtr-like, so let's get rid of it.
2015-05-01 09:14:16 -04:00
Eric Rahm 3925a960aa Bug 1165515 - Part 1: Convert PR_LOG to MOZ_LOG. r=froydnj 2015-05-21 13:22:04 -07:00
JW Wang 1f88ef30b7 Bug 1163924 - fix calculation of blockForStateMachineNotPlaying. r=roc. 2015-05-19 14:42:11 +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
Eric Rahm 34f99e4b4c Bug 1163201 - Part 1: Remove instances of #ifdef PR_LOGGING in dom/. r=froydnj
PR_LOGGING is now always defined, we can remove #ifdefs checking for it.
2015-05-14 10:13:23 -07:00
JW Wang fc64b939e2 Bug 1164297 - tweaks to logging modules of MediaDecoderStateMachine to remove accessing to env vars. r=cpearce. 2015-05-14 10:15:05 +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 7e4411d3ff Bug 1159974 - Dispatch SetMinimizePrerollUntilPlabackStarts. r=jww 2015-05-04 11:04:48 -07:00
Bobby Holley 598c3289ab Bug 1159974 - Dispatch SetAudioCaptured. r=jww
While we're at it, I figured it was time to experiment with lambdas. :-)
2015-05-04 11:04:47 -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
Bobby Holley 49578f1914 Bug 1159974 - Mirror mVolume. r=jww 2015-05-04 11:04:45 -07:00
Bobby Holley 75cd0709f1 Bug 1160064 - Give WatchManager an owner thread and make sure everything happens there. r=jww 2015-04-30 21:29:50 -07:00
Bobby Holley 1779f7bdee Bug 1160064 - Switch mirror/canonical initialization to happen in the constructor. r=jww
The goal here is to hoist all meaningful watcher/mirror/canonical manipulation
onto the owner thread. But since that must necessarily happen asynchronously,
we need to make sure that canonicals are in a sane state immediately upon
creation, since otherwise a mirror from another thread may attempt to connect to
a not-yet-initialized canonical.
2015-04-30 21:29:48 -07:00
Bobby Holley 987b0f6994 Bug 1160064 - Explicitly initialize logging at the right time. r=jww
The patches in this bug can cause us to log things before some of the Ensure*Log
macros are called. Let's just do this right.
2015-04-30 21:29:42 -07:00
Bobby Holley 7ed6ae7327 Bug 1159558 - Redesign watching to use a manager. r=jww 2015-04-30 12:46:40 -07:00
Bobby Holley cd25ae6fac Bug 1157803 - Mirror mPlayState and mNextState to the state machine task queue and eliminate cross-thread access. r=jww 2015-04-28 21:56:20 -07:00
Bobby Holley 67746258d9 Bug 1158916 - Revert change to NotifyDataArrived. r=me 2015-04-28 09:21:48 -07:00
Bobby Holley ae9e12fd47 Bug 1158916 - Stop manually notifying MediaDecoder::mReadyStateWatchTarget. r=jww
If we've got our state graph set up properly, the watch target should be
notified automatically whenever anything relevant changes.
2015-04-27 21:20:10 -07:00
L. David Baron 0984efab4d Bug 1157654 - Back out changeset e73f7d6a138d (bug 1140995) for frequent failures in dom/media/test/test_mediarecorder_getencodeddata.html . 2015-04-25 11:10:37 -07:00
Bobby Holley fbc2c98020 Bug 1144481 - Use state mirroring for NextFrameStatus. r=jww 2015-04-23 11:55:14 -07:00
Bobby Holley 8d23ca9359 Bug 1144481 - Force state machine setting to go through a setter. r=jww
We need this so that we can hook up the state mirroring in the subsequent patch.
2015-04-23 11:55:13 -07:00
Benjamin Chen 74d5ffb032 Bug 1140995 - part1: 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 2015-04-22 18:19:19 +08:00
Bobby Holley 0867953797 Bug 1144486 - Use state watching machinery for mReadyState updates. r=jww 2015-04-22 21:38:11 -07:00
Bobby Holley 49eb65cfec Bug 1154805 - Hoist the GetCurrent TLS logic into AbstractThread. r=jww 2015-04-16 09:28:55 -07:00
Sotaro Ikeda 76f7064cc7 Bug 1139206 - Update AudioOffloadPlayer seek r=bholley,bwu 2015-04-15 14:00:41 -07:00
Jean-Yves Avenard a7c51ce020 Bug 1153049: Part1. Merge MediaInfo and mp4_demuxer::TrackConfig. r=cpearce
--HG--
extra : rebase_source : 5387f4dbab91f354700361ff14daea33f3b56e2e
2015-04-14 15:15:46 +10:00
Bobby Holley 9839891059 Bug 1151656 - Implement the ability to get the currently running task queue. r=mattwoodrow
I think this will generally be useful for asserting things. If we're concerned
about the TLS overhead we could make it debug-only, but my sense is that it's
negligible.
2015-04-08 21:33:19 -07:00
Bobby Holley 1571be1aab Bug 1151656 - Do static initialization explicitly. r=mattwoodrow 2015-04-08 21:33:18 -07:00
Bobby Holley 2350ad3591 Bug 1148571 - Dispatch AudioSink notifications asynchronously. r=jww 2015-04-08 11:37:18 -07:00
Bobby Holley 9abe3c0ae3 Bug 1150687 - Have callers pass an AbstractThread directly to promise APIs and remove wrapper-style AbstractThreads for MediaTaskQueue. r=jww 2015-04-06 11:09:27 -07:00
Bobby Holley e28ae4c2f7 Bug 1150687 - Add a convenience/efficiently routine to get an AbstractThread for the main thread. r=jww 2015-04-06 11:09:26 -07:00
Naoki Hirata e791f12581 Backed out changeset 1f5a169f0476 (bug 1139206) due to it causing bug 1150716 2015-04-02 18:17:36 -07:00
Ryan VanderMeulen ab26b260cd Merge m-c to inbound. a=merge
CLOSED TREE
2015-03-31 15:01:26 -04:00
Alastor Wu 5f4ff6530f Bug 1107534 - Using audio channels type to capture different stream. r=roc 2015-03-31 10:14:00 +08:00
Sotaro Ikeda 1255918bb8 Bug 1139206 - Update AudioOffloadPlayer seek r=bholley,bwu 2015-03-31 10:02:22 -07:00
Bobby Holley 01705d6512 Bug 1145686 - Make MDSM::StartBuffering happen on the state machine thread. r=jww 2015-03-27 16:26:02 -07:00
Bobby Holley 896a455d03 Bug 1145686 - Make MDSM::Shutdown happen on the state machine thread. r=jww 2015-03-27 16:26:02 -07:00
Bobby Holley 70685709f1 Bug 1144519 - Rename MediaDecoder::OnDecodeThread to MediaDecoder::OnDecodeTaskQueue. r=jya 2015-03-27 11:50:21 -07:00
Bobby Holley bf4c9334cc Bug 1144519 - Rename MDSM::OnDecodeThread to MDSM::OnDecodeTaskQueue. r=jya 2015-03-27 11:50:19 -07:00
Bobby Holley aa048233f5 Bug 1144519 - Rename OnStateMachineThread-like functions to reflect the fact that it's a task queue. r=jya 2015-03-27 11:50:19 -07:00
Bobby Holley 9487e1743a Bug 1136873 - Deliver NotifyWaitingForResourcesStatusChanged asynchronously on the state machine task queue. r=mattwoodrow
The previous setup is wacky, and can cause the notification to reach the state
machine before the promise rejection, which causes us to stall intermittently.
We also take the opportunity to be a bit less trigger happy when we fire it
in MediaSourceReader.cpp.
2015-03-23 13:17:52 -07:00
Bobby Holley 40a80320a6 Bug 1136873 - Use promises for metadata decoding. r=mattwoodrow 2015-03-23 13:17:51 -07:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Daniel Holbert 082fd9cd7f Bug 1142841: Convert all nsRefPtr<nsIRunnable> to nsCOMPtr<nsIRunnable>. r=ehsan
This patch was generated by a script.  Here's the source of the script for
future reference:

find . \( -iname "*.cpp" -o -iname "*.h" \) | \
  xargs -n 1 sed -i "s/nsRefPtr<nsIRunnable>/nsCOMPtr<nsIRunnable>/g"
2015-03-17 09:29:17 -07:00
Bobby Holley 53ad5b2a9c Bug 1135424 - Switch the MDSM to a task queue. r=mattwoodrow 2015-03-16 14:38:44 -07:00
Phil Ringnalda 345a4eca93 Back out 3 changesets (bug 1135424) on suspicion of causing frequent hangs in test_playback.html on mochitest-e10s
CLOSED TREE

Backed out changeset 584d91ffdf88 (bug 1135424)
Backed out changeset d86806ea63f4 (bug 1135424)
Backed out changeset e52401d30a67 (bug 1135424)
2015-03-12 23:05:11 -07:00
Bobby Holley 0563f41ef7 Bug 1135424 - Switch the MDSM to a task queue. r=mattwoodrow 2015-03-12 17:54:35 -07:00
Chris Double 17b0191dec Bug 1131884 - Video buffering calculation fails for some MP4 videos - r=jya
Playback position used in calculating buffering time is set
during metadata reading. This is at end of file for the
video in the bug. As a result the buffering data is always
wrong.

Changed to not setting position during metadata - it is set
during frame playback anyway.

Also changes buffering timeout to 15s from 30s.
2015-03-13 13:45:51 +13:00
Karl Tomlinson 96611b45a9 bug 1139874 check for shutdown before asking the reader for buffered r=bholley
--HG--
extra : rebase_source : cbc7f06a89dfbaf22eb590c51ba709a4757296d0
2015-03-10 09:53:31 +13:00
Bobby Holley 578cad549e Bug 1135170 - Rewrite the MediaDecoder-to-MediaDecoderStateMachine interface to be Promise-based. r=mattwoodrow 2015-03-06 19:17:07 -08:00
Bobby Holley e02c011cd4 Bug 1135170 - Move some work from MDSM::Seek to MDSM::InitiateSeek. r=mattwoodrow
This has two implications:
* We no longer need to pipe mQueuedSeekTarget through MDSM::Seek to get the
  appropriate clamping.
* MDSM::Seek doesn't _need_ to be called on the main thread anymore.
2015-03-06 19:17:04 -08:00
Bobby Holley 845ad750dc Bug 1135170 - Stop updating playback position from Ogg seek and remove MediaDecoder::UpdatePlaybackPosition. r=mattwoodrow
The ogg reader makes two adjustments to the seek time - the first is to clamp it
between start and end time, which MDSM already does. The second is to subtract
SEEK_OPUS_PREROLL from the target. If we wanted to, we could return this as the
resolve value in the seek promise and handle the update in the MDSM. But I think
DropVideoUpToSeekTarget should actually handle this just fine.
2015-03-06 19:17:00 -08:00
Sotaro Ikeda 8268179262 Bug 1128357 patch 4: Asynchronize SetDormant() r=cpearce,bobbyholley 2015-03-04 17:34:46 -08:00
Sotaro Ikeda b3535ec3a6 Bug 1128357 Patch 2: Don't dispatch seeking/seeked events when coming out of dormant mode r=cpearce 2015-03-04 17:33:40 -08:00
Sotaro Ikeda e6e88f1872 Bug 1128357 Patch 1 - Add extra dormant logging r=bobbyholley 2015-03-04 17:32:54 -08:00
JW Wang 321f48fe98 Bug 1128417 - handle playback ended in a consistent way for both file and stream case. r=roc. 2015-03-03 11:08:50 +08:00
JW Wang 5adfdc7439 Bug 1127235 - refactor stream clock calculation in MediaDecoderStateMachine. r=roc. 2015-03-03 10:43:38 +08:00
Bobby Holley ba77f2e511 Bug 1135785 - Return samples on state machine thread. r=cpearce
This is necessary because we're going to want to start disconnecting sample
and seek requests directly from the state machine thread, and the machinery
asserts that disconnection happens on the same thread as resolution.

More generally, this is the right thing to do architecturally, and will help
wean us off the monitor.
2015-03-01 19:33:49 -08:00
Chris Double 3fc47297c7 Bug 1119947 - Add telemetry for MSE video playback - r=cpearce,bsmedberg
This adds telemetry to record the state of the video playback
when the user exits. We are interested in knowing if the video
was buffering, paused, seeking, ended or other.

More telemetry will be added in bug 1127646.
2015-02-20 13:46:56 +13:00
JW Wang 42b559fb41 Bug 1128420 - remove finished output streams from MediaDecoder::mOutputStreams. r=roc. 2015-02-10 10:45:41 +08:00
Nicholas Nethercote 242708cf72 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 488e401ff87e31a2074c4108c4df0572d9536667
2015-02-09 14:34:50 -08:00
Matthew Gregan 1fa4d0508d Bug 1130923 - Remove some DASHDecoder remnants: RestrictedAccessMonitor and GetByteRangeForSeek. r=cpearce 2015-02-10 11:59:20 +13:00
Andrew McCreight d3826daa16 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote d34f0301b8 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 99182e70335d2b5ff95f8c528ae992d37294be3a
2015-02-04 20:05:36 -08:00
JW Wang 3ff6f200ed Bug 1128411. Part 1 - fix some bugs in MediaDecoderStateMachine::SendStreamData(). r=roc. 2015-02-02 13:53:54 +08:00
JW Wang 99e95e2eff Bug 1127171 - Put mozCaptureStream operations in the same lock. r=roc 2015-01-28 18:57:00 -05:00
Bobby Holley 1857056827 Bug 1120241 - Schedule the state machine when setting logical decoder state. r=cpearce 2015-01-29 22:16:28 -08:00
Sotaro Ikeda 4c24c6b995 Bug 1123452 - Try to enter dormant state when document is hidden r=cpearce 2015-01-28 06:31:31 -08:00
Ryan VanderMeulen 6705017b40 Backed out changeset fad4fd21ab1d (bug 1123452) for Windows w-p-t failures and Linux mochitest orange.
CLOSED TREE
2015-01-27 22:00:41 -05:00
Sotaro Ikeda 4213600de8 Bug 1123452 - Make Mp4Reader enter dormant state when it is idle and its document is hidden. r=cpearce 2015-01-28 13:56:58 +13:00
Carsten "Tomcat" Book 67dca2efae Backed out changeset 304e3ccaf533 (bug 1123452) for windows crashtest bustage on a CLOSED TREE 2015-01-27 09:39:41 +01:00
Sotaro Ikeda d0a7d92c04 Bug 1123452 - Make Mp4Reader enter dormant state when it is idle and its document is hidden. r=cpearce 2015-01-27 19:30:11 +13:00
Sotaro Ikeda 4f70eb3f49 Bug 1124957 - Fix typo of Dormant r=cpearce 2015-01-23 07:00:39 -08:00
Sotaro Ikeda 4f96a3066c Bug 1122228 - Use document's status change to trigger MediaDecoderStateMachine's dormant status change r=cpearce 2015-01-21 20:01:12 -08:00
Karl Tomlinson bf16b65e70 bug 1123189 Queue "durationchange" instead of dispatching synchronously r=cpearce
http://www.w3.org/TR/2014/REC-html5-20141028/embedded-content-0.html#offsets-into-the-media-resource

"When the length of the media resource changes to a known value (e.g. from
being unknown to known, or from a previously established length to a new
length) the user agent must queue a task to fire a simple event named
durationchange at the media element."

--HG--
extra : rebase_source : 531ed14a241546613cf810cd6bf9b4a8c88d2d9e
extra : histedit_source : 86253e972d1dbb8f95af5167eb7487c1ddf6da14
2015-01-19 17:11:43 +13:00
Bobby Holley 986f783e03 Bug 1121692 - Make seeks cancelable. r=cpearce,r=mattwoodrow 2015-01-16 10:58:00 -08:00
Sotaro Ikeda e662668d12 Bug 1110343 - Suppress redundant loadedmetadata event when dormant exit r=cpearce 2015-01-16 07:56:19 -08:00
Sotaro Ikeda 8ebcff8383 Bug 1121658 - Remove DestroyDecodedStream() from MediaDecoder::SetDormantIfNecessary() r=roc 2015-01-16 06:56:14 -08:00
Jonathan Hao e56901c3a0 Bug 1080461 - Part 2: Fix RTSP autoplay. r=bechen, r=jwwang 2015-01-06 09:58:04 +08:00
Karl Tomlinson 98e1dfd45e bug 975782 bring media resource loads out of background while they delay the load event r=cpearce
This will happen after a stalled load doesn't delay the load event but such a
load then delays the load event again when it receives progress.

--HG--
extra : rebase_source : a04dd7416f86306cfc62aabba20fb30415572d98
2014-12-23 14:16:05 +13:00