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
Eric Rahm
7ac2b84d0c
Bug 1165515 - Part 7: Convert PR_LOG_DEBUG + 1 to PR_LOG_VERBOSE. rs=froydnj
...
Used the command: |sed -E -i -e 's/PR_LOG_DEBUG\s*\+\s*1/PR_LOG_VERBOSE/g'|
2015-06-01 22:17:24 -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
Eric Rahm
82553a3fab
Bug 1165515 - Part 7: Convert PR_LOG_DEBUG + 1 to PR_LOG_VERBOSE. rs=froydnj
...
Used the command: |sed -E -i -e 's/PR_LOG_DEBUG\s*\+\s*1/PR_LOG_VERBOSE/g'|
2015-06-01 14:31:00 -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
Benjamin Chen
f753eac42e
Bug 1102047 - Reset the value to AUDIO_DURATION_USECS or re-calculate if the remainingTime is negtive. Schedule the state machine at the first video sample pushed into the queue. r=jwwang
...
--HG--
extra : rebase_source : ee999d2507938780166771a49dd2e05eaeb5badc
2015-05-13 18:21:09 +08:00
Jean-Yves Avenard
ec1e982d32
Bug 1166836: Part4. Don't unecessarily call GetBuffered(). r=cpearce
...
Regression was introduced in 24a7f0fda98b (bug 1163445)
--HG--
extra : rebase_source : 1fb81d07f0c8d312d54ae24624735015e6a372a6
2015-05-23 11:16:12 +10:00
Eric Rahm
3925a960aa
Bug 1165515 - Part 1: Convert PR_LOG to MOZ_LOG. r=froydnj
2015-05-21 13:22:04 -07: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
dfe00bd036
Bug 1162803 - Rename mCurrentFrameTime to mCurrentPosition to better match the naming in the spec. r=jww
...
This field corresponds to the "current playback position" in HTML5.
2015-05-11 11:16:06 -07:00
Karl Tomlinson
69631c815f
bug 1161892
use separate thread pool for platform decoder task queues r=bholley
...
so that platform decoder tasks will run when their readers wait and block
their thread pool.
--HG--
extra : rebase_source : 6d2e3f1c1937991d746ea9754f39add4d184e413
2015-05-07 16:01:43 +12:00
Bobby Holley
aec6ecb986
Bug 1161901 - Sprinkle more assertions and fix some formatting. r=jww
2015-05-07 09:50:37 -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
Bobby Holley
cd2504ba20
Bug 1161901 - Relax assertion. r=jww
2015-05-07 09:47:40 -07:00
Bobby Holley
0254272b18
Bug 1161901 - Hoist MDSM shutdown logic into MDSM::Shutdown and remove brittle requirement that RunStateMachine only happen once in SHUTDOWN state. r=jww
2015-05-07 09:47:40 -07:00
Bobby Holley
a80e689d0c
Bug 1161901 - Use ProxyMediaCall instead of MDSM::ShutdownReader. r=jww
2015-05-07 09:47:39 -07:00
Bobby Holley
1040d06746
Bug 1161901 - Dispatch MediaDecoderReader::SetIdle directly. r=jww
2015-05-07 09:47:39 -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
40d7f5a524
Bug 1161742 - Use lambdas for Seek. r=jww
2015-05-05 21:04:30 -07:00
Bobby Holley
c6b81175c2
Bug 1161742 - Use lambdas for WaitForData. r=jww
2015-05-05 21:02:59 -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
a56c0c760e
Bug 1159974 - Assert that we're on the state machine thread for most remaining MDSM methods. r=jww
...
There are a handful of methods where we can't yet assert this. This bug will
tackle several of them.
2015-05-04 11:04:45 -07:00
Jean-Yves Avenard
df6daad9ba
Bug 1157075: Part1. Rename and make AsyncReadMetadata virtual. r=bholley
2015-05-01 15:37:29 +10: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
a6a1df6eb5
Bug 1160064 - Do watching/mirroring initialization on the state machine task queue. r=jww
...
We take this as an opportunity to remove connect-during-initialization. Always
connecting from the owner thread feels like a stronger invariant.
2015-04-30 21:29:49 -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
9ef701b427
Bug 1160064 - Initialize the state machine task queue in the initializer list. r=jww
2015-04-30 21:29:46 -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
b4659584c3
Bug 1159558 - Eliminate initial notifies. r=jww
...
They've proven themselves to be a hassle, and I think we can live without them.
2015-04-30 12:46:38 -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
23925f4fdc
Bug 1157797 - Use state-watching machinery for UpdateNextFrameStatus. r=jww
...
The ergonomics here aren't ideal. I'm going to file a bug to improve them.
2015-04-27 21:20:41 -07:00
Bobby Holley
7a1c7f2705
Bug 1157797 - Be more disciplined about where we call UpdateNextFrameStatus. r=jww
...
This value depends on mState and the audio/video queue states. Given that, we can
just stick these calls in a few choke points.
2015-04-27 21:20:38 -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
59c37ea95f
Bug 1144481 - Invoke SeekCompleted synchronously. r=jww
...
The current behavior is a holdover from when this some of this tuff was happening
on the decode thread. It's problematic because nothing guarantees that we don't
call CheckIfSeekComplete twice, and queue up two SeekCompleted events.
2015-04-23 11:55:12 -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
b99288ff18
Bug 1154805
- Stop manually passing TaskDispatchers everywhere. r=jww
2015-04-16 09:28:56 -07:00
Bobby Holley
1590c33115
Bug 1154805
- Remove MaybeTailDispatch. r=jww
...
This is now the default behavior.
2015-04-16 09:28:56 -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
Blake Wu
079a5da49b
Bug 1152218 - Have a larger tolerance to decide if video data is low or not. r=cpearce.
...
--HG--
extra : rebase_source : 4fedd13388c3a180df012ddd4ee46a0bf6a5de1e
2015-04-08 17:57:18 +08:00
Bobby Holley
72ad334118
Bug 1151656 - Use TailDispatch for the MDSM's task queue. r=mattwoodrow
2015-04-08 21:33:21 -07:00
Bobby Holley
c71babaf43
Bug 1151656 - Stop doing sync dispatch of PlaybackEnded. r=mattwoodrow
2015-04-08 21:33:18 -07:00
Bobby Holley
1748d9ab1f
Bug 1151656 - Add some more assertions. r=mattwoodrow
2015-04-08 21:33:17 -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
Kilik Kuo
2f18087b14
Bug 1146304 - Touch slider bar or tap forward button, the video got stuck 1s then resume playing. r=cpearce
2015-04-02 16:19:37 +08:00
Alastor Wu
5f4ff6530f
Bug 1107534 - Using audio channels type to capture different stream. r=roc
2015-03-31 10:14:00 +08:00
Nicolas Silva
52be9f47b5
Bug 1132854 - Remove useless ThebesIntSize conversion helper. r=Bas
2015-03-29 16:59:15 +02:00
Bobby Holley
4666516a8c
Bug 1145686 - Assert state machine thread for SetState. r=jww
...
We assert in CheckInDecodeComplete as well for good measure, since that's the
last caller of SetState that doesn't already assert it.
2015-03-27 16:26:03 -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
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
086ebaa957
Bug 1142336 - Create one unified thread pool for media code and run the MDSM task queues on it. r=mattwoodrow
...
This allows for parallel MDSM execution. \o/
2015-03-25 17:46:26 -07:00
Bobby Holley
35fe66ae8d
Bug 1147495
- Add missing string to state list. r=me
...
--HG--
extra : histedit_source : b213ac7f814f5be5329c3dca83e59e47abe5844c
2015-03-25 11:59:46 -07:00
Bobby Holley
4e510c7517
Bug 1136827 - Stop synchronously dispatching MediaDecoder::DecodeError from MDSM::DecodeError. r=mattwoodrow
...
MediaDecoder::DecodeError invokes MediaDecoder::Shutdown, which shuts down the
state machine. Given the sync dispatch, this means that this is basically already
what's happening.
2015-03-24 22:02:43 -07:00
Bobby Holley
e0a0c3cf07
Bug 1136827 - Stop proxying DecodeError to the decode thread. r=mattwoodrow
...
At this point, all the callers actually call it on the state machine thread,
where it belongs.
2015-03-24 22:02:36 -07:00
Bobby Holley
01abf4455d
Bug 1136827 - Call OnAudioSinkError on state machine thread. r=jww
2015-03-24 22:02:02 -07:00
Wes Kocher
82959e5df3
Backed out 2 changesets (bug 1136827) for crashtest assertions CLOSED TREE
...
Backed out changeset 998f44ed19fb (bug 1136827)
Backed out changeset 3eb419228c1f (bug 1136827)
2015-03-24 17:21:21 -07:00
Bobby Holley
bb1cc46dff
Bug 1136827 - Stop synchronously dispatching MediaDecoder::DecodeError from MDSM::DecodeError. r=mattwoodrow
...
MediaDecoder::DecodeError invokes MediaDecoder::Shutdown, which shuts down the
state machine. Given the sync dispatch, this means that this is basically already
what's happening.
2015-03-24 15:01:48 -07:00
Bobby Holley
6aa248ee60
Bug 1136827 - Stop proxying DecodeError to the decode thread. r=mattwoodrow
...
At this point, all the callers actually call it on the state machine thread,
where it belongs.
2015-03-24 15:01:47 -07:00
Bobby Holley
16efc5f196
Bug 1145203 - Unify FlushDecoding, ResetDecode, and ResetPlayback into a single Reset() method. r=mattwoodrow
2015-03-23 17:07:10 -07:00
Bobby Holley
1e549f9ca5
Bug 1145203 - Remove the AwaitIdle call in FlushDecoding. r=mattwoodrow
...
There are two callers of FlushDecoding - One is shutdown (where we already use
promises to wait for the queue to go idle via BeginShutdown), and the other is
dormant (see the comment).
2015-03-23 17:07:09 -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
Jean-Yves Avenard
964b3518d3
Bug 1144617: Part1. Add MediaResource::IsLiveStream() API. r=cpearce
...
We can't just rely on the MediaResource size to be -1 with MSE. It needs a
dedicated method.
2015-03-23 21:08:05 +11:00
Edwin Flores
9a9b42ccdf
Bug 1134434 - Fire loadedmetadata before encrypted event on encrypted MP4s - r=cpearce
2015-03-23 15:31:15 +13:00
Phil Ringnalda
0400bc353a
Back out 59fd15407a79 (bug 1142336) for shutdown hangs
...
CLOSED TREE
2015-03-18 20:38:43 -07:00
Bobby Holley
7afd45ea42
Bug 1142336 - Create one unified thread pool for media code and run the MDSM task queues on it. r=mattwoodrow
...
This allows for parallel MDSM execution. \o/
2015-03-18 18:00:49 -07:00
Bobby Holley
f4ba405552
Bug 1135424 - Run MDSM disposal off the MediaPromise returned by initiating shutdown on the task queue. r=mattwoodrow
2015-03-16 14:38:45 -07:00
Bobby Holley
53ad5b2a9c
Bug 1135424 - Switch the MDSM to a task queue. r=mattwoodrow
2015-03-16 14:38:44 -07:00
Sotaro Ikeda
5bcb8e7249
Bug 1142527 - Always call ReleaseMediaResources() when entering dormant r=cpearce
2015-03-15 20:51:02 -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
Matt Woodrow
10ced0676b
Bug 1131638 - Disable hardware decoding if too many frames are invalid. r=cpearce
2015-03-12 22:14:51 +13:00
Matt Woodrow
c2badcb2ef
Bug 1131638 - Record invalid frames as dropped for video playback stats. r=ajones
2015-03-12 22:14:04 +13:00
Jean-Yves Avenard
3a14d38778
Bug 1128380: Make AmpleVideoFrames calculation dynamic. r=cpearce
2015-03-09 14:17:30 +11:00
Jean-Yves Avenard
ec19ab2505
Bug 1139380: Ensure all queued tasks are aborted when shutting down. r=cpearce
2015-03-06 16:49:00 +11: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
1dd7c91f68
Bug 1135170 - Move the RenderVideoFrame call to the end of SeekCompleted. r=mattwoodrow
...
This means that we can get rid of the code to recheck state after dropping the
monitor. We'll remove the other monitor drop from this method in a subsequent
patch.
2015-03-06 19:17:06 -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
d846586729
Bug 1135170 - Reap some cleanup and assertions that were waiting on this bug. r=mattwoodrow
2015-03-06 19:17:01 -08:00
Bobby Holley
bf69dac697
Bug 1135170 - Streamline seek initiation logic and abolish manual seek cancels and retries. r=mattwoodrow
...
The model we're moving towards is one where the MDSM can just disconnect all of
its promises, send a ResetDecode down the pipe, and start doing something
unrelated.
2015-03-06 19:16:59 -08:00
Bobby Holley
243db68fec
Bug 1135170 - Stop doing sync dispatch for SeekingStarted. r=mattwoodrow
...
I can't see any reason why this should be necessary, and cursory archaeology
suggests that this too is a hand-me-down from previous threading models.
2015-03-06 19:16:57 -08:00
Bobby Holley
df32aaa30e
Bug 1135170 - Remove silly special case for seeking to exactly the current time. r=mattwoodrow
...
I traced this back to something 2011 or earlier and then gave up. Given that we're
doing an exact microsecond comparison here this is almost certainly dead code in
every case except for the one where the media is paused and JS does
|el.currentTime = el.currentTime|. And in that case, I think running through the
regular seek machinery is probably fine.
2015-03-06 19:16:56 -08:00
Bobby Holley
3b78e1ecfd
Bug 1135170 - Route queued seeks back through MDSM::Seek and eliminate MDSM::StartSeek. r=mattwoodrow
2015-03-06 19:16:54 -08:00
Carsten "Tomcat" Book
248ef21229
Backed out changeset 5d97bad42411 (bug 1128380)
2015-03-05 08:38:47 +01:00
Jean-Yves Avenard
370ed231e4
Bug 1128380: Make AmpleVideoFrames calculation dynamic. r=cpearce
2015-03-05 16:53:47 +11: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
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
Andreas Pehrson
e1cd713962
Bug 1129263 - Part 3. Add tracks atomically when capturing from decoder. r=roc,jesup
2015-02-24 13:11:32 +08:00
Andreas Pehrson
2ca9e88578
Bug 1129263 - Part 2. Put hardcoded numeric TrackIDs in MediaInfo instead of DOMMediaStream. r=roc,jesup
2015-02-24 13:06:54 +08:00
Anthony Jones
69c0b09ad3
Bug 1138253 - Count dropped frames directly; r=cpearce
2015-03-03 17:46:48 +13:00
Bobby Holley
8ecafb0e29
Bug 1135785 - Hoist some work onto the state machine thread and tighten down our assertions. r=cpearce
2015-03-01 19:33:53 -08:00
Bobby Holley
d7ab5a9b0f
Bug 1135785 - Stop manually resetting mCurrentSeekTarget in MDSM::SeekCompleted and rely on the AutoSetOnScopeExit instead. r=cpearce
...
For some reason the current code is resetting it twice - once explicitly and
once with the AutoSetOnScopeExit. To make matters worse, we have a monitor drop
between the two. So when DecodeSeek runs on the decode task queue but SeekCompleted
runs on the state machine thread, we can start another DecodeSeek during the monitor
drop, and then clobber it with the AutoSeetOnScopeExit, causing us to hang.
This is a non-issue with the patches in bug 1135170, but necessary to make the
patches in this bug independently green.
2015-03-01 19:33:52 -08:00
Bobby Holley
8955631001
Bug 1135785 - Stop invoking StopPlayback in SetDormant. r=cpearce
...
This already gets incoded in the DECODER_STATE_DORMANT case of RunStateMachine,
which will run momentarily on the state machine thread. Doing this allows us to
avoid calling StopPlayback on the main thread.
2015-03-01 19:33:50 -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
Bobby Holley
5173a29934
Bug 1135785 - Make DecodeError safe to run on any thread. r=cpearce
...
This is necessary so that we can make On{Audio,Video}{,Not}Decoded run on the
state machine thread in the next patch.
2015-03-01 19:33:48 -08:00
Bobby Holley
3c7f735460
Bug 1137511 - Account for audio frames already pushed to audio hardware but not yet played when computing OutOfDecodedAudio. r=kinetik
2015-02-27 16:07:44 -08:00
Kilik Kuo
cbe28e8d8f
Bug 1112438 - Make newCurrentFrameTime more accurate while seeking by checking audio & video timestamp boundary in addition. r=cpearce
2015-02-17 11:21:40 +08:00
Sotaro Ikeda
8d10939395
Bug 1133167 - Add CancelSeek call to FlushDecoding() r=cpearce,bholley
2015-02-17 07:50:49 -08:00
Chris Pearce
ded330ee85
Bug 1125970 - Don't flush decode task queue in MediaDecoderStateMachine::FlushDecoding(). r=bholley
2015-02-16 09:03:26 -08:00
Bobby Holley
d828efaed5
Bug 1126723 - Bail out of HasLowUndecodedData if we don't have a duration. v1 r=cpearce
...
GetEstimatedBufferedTimeRanges returns an empty range if the duration is -1.
2015-02-13 12:09:51 -08:00
Bobby Holley
40c886531c
Bug 1126723 - Don't store bogus durations. v1 r=cpearce
...
The apple MP3 decoder passes in garbage for this particular live stream. Let's
validate our inputs.
2015-02-13 12:09:50 -08:00
Jean-Yves Avenard
7773a4f02e
Bug 1130839: Seek to end of media if duration changed. r=cpearce
...
If the duration is changed such that the current playback position ends up
being greater than the time of the end of the media resource, then the user
agent must also seek to the time of the end of the media resource.
2015-02-12 18:53:53 +11:00
Bobby Holley
4209e9651f
Bug 1129246 - Switch to MediaPromiseConsumerHolders for MDSM audio/video promises and remove RequestStatus. v3 r=cpearce
2015-02-09 11:34:38 -08:00
Bobby Holley
a15ce311b8
Bug 1129523 - Use ProxyMediaCall for video decode tasks. r=cpearce,r=mattwoodrow
2015-02-04 17:12:51 -08:00
Chris Pearce
eb27bb22f8
Bug 1123535 - Make dormant ResetPlayback assertion more lenient. r=jwwang
2015-02-04 10:17:28 +13:00
Sotaro Ikeda
16749fec58
Bug 1112519 - Clear mDropVideoUntilNextDiscontinuity when we do not seek r=cpearce
2015-02-03 12:53:12 -08:00
JW Wang
997ae89e39
Bug 1128411. Part 2 - call SendStreamData() in AdvanceFrame() to simplify the code of SendStreamData(). r=roc.
2015-02-02 13:58:31 +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
Phil Ringnalda
ab3f3ffe2f
Back out d28c88e9705d (bug 1128411)
...
CLOSED TREE
2015-02-02 20:37:49 -08:00
JW Wang
6616978c49
Bug 1128411. Part 2 - call SendStreamData() in AdvanceFrame() to simplify the code of SendStreamData(). r=roc.
2015-02-02 13:58:31 +08:00
Chris Pearce
98610dedd6
Bug 1127641 - Reduce MDSM video frame queue length when hardware accelerated. r=kentuckyfriedtakahe
2015-02-02 09:28:41 +13:00
JW Wang
99e95e2eff
Bug 1127171 - Put mozCaptureStream operations in the same lock. r=roc
2015-01-28 18:57:00 -05:00
Chris Pearce
90912c2e6f
Bug 1123535 - Don't hold decoder monitor while calling PreReadMetadata. r=kentuckyfriedtakahe
2015-01-29 21:50:48 +13:00
Chris Pearce
6a682696a6
Bug 1123535 - Run MediaDecoderReader::ReleaseMediaResources on decode task queue. r=jwwang
2015-01-21 18:02:27 +08:00
Sotaro Ikeda
ead2712118
Bug 1125472 - Reset video request status on reset decode. r=cpearce
2015-01-29 21:50:20 +13:00
Carsten "Tomcat" Book
97952b7caa
Backed out changeset fde8a287433b (bug 1125472)
2015-01-27 09:39:06 +01:00
Carsten "Tomcat" Book
b5897b0a72
Backed out changeset b6bec74def09 (bug 1123535)
2015-01-27 09:39:04 +01:00
Carsten "Tomcat" Book
c232714eb0
Backed out changeset f6da914b2a93 (bug 1123535)
2015-01-27 09:38:56 +01:00
Chris Pearce
6932daf12e
Bug 1123535 - Don't hold decoder monitor while calling PreReadMetadata. r=kentuckyfriedtakahe
2015-01-27 19:30:11 +13:00
Chris Pearce
ce1554bd89
Bug 1123535 - Run MediaDecoderReader::ReleaseMediaResources on decode task queue. r=jwwang
2015-01-21 18:02:27 +08:00
Chris Pearce
8dffdeedf3
Bug 1125472 - Don't flush decode task queue in MediaDecoderStateMachine::FlushDecoding(). r=bholley
2015-01-27 19:30:11 +13:00
Bobby Holley
0bd7caedde
Bug 1124952 - Set request status to Pending in the special DecodeFirstFrame calls too. r=cpearce
2015-01-26 15:59:44 -08:00
Byron Campen [:bwc]
19a5029fa0
Bug 1123882: Fix case where offset != 0 r=derf
...
--HG--
extra : rebase_source : 8d0cc9a8b21eede927cb51e79e1857bc69fbea5d
2015-01-21 08:56:36 -08:00
Bobby Holley
f2e2db81ac
Bug 1121148 - Make QUICK_BUFFERING_LOW_DATA_USECS a member variable and adjust it appropriately. r=cpearce
2015-01-21 21:53:04 -08:00
Bobby Holley
b398a95f3c
Bug 1121148 - Move constants that we should not be using directly into a namespace. r=cpearce
...
This lets us avoid using them accidentally in place of their member-variable
equivalents.
2015-01-21 21:53:04 -08:00
Bobby Holley
3e322225c5
Bug 1123983 - Don't reset request status in MediaDecoderStateMachine::FlushDecoding. r=cpearce
2015-01-21 14:34:26 -08:00
Barbara Guida
e664fe84a3
Bug 1122586
- Unbreak build on platforms missing std::llabs since bug 1073716. r=dholbert
2015-01-16 17:50:00 +01:00
Bobby Holley
986f783e03
Bug 1121692 - Make seeks cancelable. r=cpearce,r=mattwoodrow
2015-01-16 10:58:00 -08:00
Bobby Holley
f5e1dd8c14
Bug 1121692 - Move the interesting seek state logic into DecodeSeek. r=mattwoodrow,r=cpearce
...
This is necessary so that we can call CancelSeek at the same moment we determine
that it needs to be called without round-tripping between threads.
2015-01-16 10:58:00 -08:00
Bobby Holley
e814d359c3
Bug 1121692 - Remove unnecessary arguments to ::Seek. r=mattwoodrow,sr=cpearce
2015-01-16 10:57:59 -08:00