Commit Graph

1566 Commits

Author SHA1 Message Date
Bobby Holley
b173f356fb Bug 1120023 - Switch SourceBufferResource::Read{,At} back to blocking. r=cpearce
This only affects WebM MSE, which, as it turns out, doesn't deal well with
non-blocking read (MP4Reader now only operates on cached reads). We should
fix up WebM at some point, but I'm reverting the behavior change for now
because it's pretty much just a distraction.
2015-01-10 02:05:28 -08:00
Bobby Holley
844591ad77 Bug 1120023 - Fix some bugs in MockMediaResource. r=cpearce
If we don't do this, the subsequent changes to DataSourceAdapter will cause
gtest failures in TestMP4Demuxer.
2015-01-10 02:05:28 -08:00
Bobby Holley
1667adda48 Bug 1120023 - Clean up semantics of SourceBufferResource reading. r=cpearce
This patch refactors things and makes two function changes:
(1) ReadFromCache does not block and properly fails if the data is unavailable.
(2) Read and ReadAt block if an out-param is _not_ provided, rather than the
    reverse. Both karlt and I think this is the appropriate thing to do.
2015-01-10 02:05:28 -08:00
Chris Peterson
9e23388ca8 Bug 1118076 - Remove MOZ_THIS_IN_INITIALIZER_LIST. r=Waldo 2015-01-06 21:39:46 -08:00
Bobby Holley
8d967098a2 Bug 1120017 - Make the DispatchDecodeTasksIfNeeded path handle DECODER_STATE_DECODING_FIRSTFRAME. r=cpearce
Once we make MP4Reader reject with WAITING_FOR_DATA, we end up with the following scenario:

DecodeFirstFrame requests audio data, and then it gets rejected with WAITING_FOR_DATA.
So OnAudioNotDecided does WaitForData, which eventually causes us to be called back in
MediaDecoderStateMachine::WaitForDataResolved. That does DispatchDecodeTasksIfNeeded, which
currently bails out of our state is DECODER_STATE_DECODING_FIRSTFRAME.

The other way to do this would be to add a separate specialized path through all this
asynchronicity for DECODER_STATE_DECODING_FIRSTFRAME. But it's not clear to me what that
buys us.
2015-01-09 17:20:58 -08:00
Bobby Holley
fb7b849eb3 Bug 1120014 - Initialize MediaSourceReader::mLast{Audio,Video}Time to 0 rather than -1. r=rillian
There isn't actually any initialization code that sets them at 0. Instead, we
currently rely on the fact that our first decoder ends up active regardless of
what its buffered range reports. So as long as invoking the first Request{Audio,Video}Data
is resolved, this ends up ok. But while that is usually the case, it isn't _always_
the case, especially in the case where the MP4Reader rejects with WAITING_FOR_DATA.
2015-01-09 17:20:58 -08:00
Jim Chen
db34c64f29 Bug 1116589 - Use templated JNI classes in generated bindings; r=snorp 2015-01-09 19:33:57 -05:00
Kai-Zhen Li
7f64fcee3a Bug 1119691 - "Build bustage in dom/media/mediasource/MediaSource.cpp" [r+f=bzbarsky] 2015-01-08 23:37:00 -08:00
JW Wang
1bb19d6931 Bug 1115505 - keep decoding to ensure the stream is initialized in the decode-to-stream case. r=roc 2014-12-25 01:26:00 +01:00
Andreas Pehrson
03363ed023 Bug 1039884 - Let ControlMessages added by runnables in stable state be run during shutdown. r=roc r=karlt 2015-01-08 06:21:00 +01:00
Ehsan Akhgari
4354953b4f Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -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_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Ehsan Akhgari
31a966ecd6 Bug 1117261 - Mark virtual overridden functions as MOZ_OVERRIDE in DOM media code; r=rillian 2015-01-08 23:11:30 -05:00
Jean-Yves Avenard
973592c445 Bug 1118123: Mochitest to verify proper sourcebuffer behavior. r=cajbir 2015-01-09 12:34:45 +11:00
Jean-Yves Avenard
38a105c647 Bug 1118123: Update mediasource duration following sourcebuffer::appendBuffer. r=cajbir 2015-01-09 12:34:41 +11:00
Chris Pearce
7ba4d8b1c1 Bug 1111391 - Enable keyMessages to be sent before create/load session promise is resolved. r=jwwang 2015-01-09 14:30:07 +13:00
Wes Kocher
7e0ae8870a Merge mozilla-central to inbound a=merge 2015-01-08 17:14:55 -08:00
Wes Kocher
f88bfbf94c Merge mozilla-inbound to mozilla-central a=merge 2015-01-08 17:08:12 -08:00
Wes Kocher
205b7f2a3f Bug 1073003 - wError bustage fix in non-unified builds r=me a=bustage
--HG--
extra : amend_source : 8054a3a25f0adf4caea5b70f2b75a94665a6e59d
2015-01-08 15:46:15 -08:00
Dave Hylands
08557c5100 Bug 1073003 - Fix warnings causing errors in emulator build. r=nfroyd 2015-01-08 13:52:19 -08:00
Ralph Giles
802e1418bc Bug 1119463 - Enable MSE for youtube-nocookie.com. r=kinetik
Follow-up to bug 1119463. This is used by some sites for embedding.
2015-01-08 12:34:00 -08:00
Chris Pearce
87fcfb65d4 Bug 1107889 - On Windows, detect when unable to play H.264/AAC (for example due to lacking service pack on Vista). r=kinetik,r=dmajor 2015-01-09 13:17:11 +13:00
Boris Zbarsky
ef4aa6e180 Bug 1112761 part 2. Enable MediaSource based on a whitelist, not in general. r=kinetik 2015-01-08 11:57:11 -05:00
Boris Zbarsky
a4c77d8da7 Bug 1112761 part 1. Replace Pref="media.mediasource.enabled" annotations in IDL with calls to a function which will end up doing something a bit more interesting. r=kinetik 2015-01-08 11:57:10 -05:00
Paul Adenot
84a2b0acc4 Bug 1119266 - Disable test_oscillatorNodeNegativeFrequency.html for failures on Android, on a CLOSED TREE. 2015-01-08 16:28:08 +01:00
Ehsan Akhgari
8e2b574163 Bug 1118613 - Mark virtual overridden functions as MOZ_OVERRIDE in dom/media; r=kinetik 2015-01-07 20:40:05 -05:00
Paul Adenot
373349f693 Bug 916285 - Fix bustage on windows. 2015-01-05 15:30:53 +01:00
Botond Ballo
ddc90d3afc Bug 1073003 - Fix warnings about calling 'delete' on an object of incomplete type. r=jolin
--HG--
extra : rebase_source : 520fd7cdaad55805639a109bd5fd55308a721fc4
2015-01-02 17:27:02 -05:00
Botond Ballo
e26039846a Bug 1073003 - Fix -Wsign-conversion warnings. r=ehsan
--HG--
extra : rebase_source : 89079791628aeea551820c3ba42788da806ea9a3
2014-12-23 03:26:40 -05:00
Botond Ballo
b3d6c180db Bug 1073003 - Fix -Wnarrowing warnings. r=ehsan
--HG--
extra : rebase_source : 7cc4ede9e1e2d7ced96bb891f3b6774164c80869
2014-12-23 03:26:21 -05:00
Botond Ballo
7105b24b6d Bug 1073003 - Avoid returning a reference to a temporary. r=jhlin
--HG--
extra : rebase_source : fa3c61864772af48f098cfd080333d450535462b
2014-12-23 03:25:21 -05:00
Botond Ballo
9571c220e7 Bug 1073003 - Fix a -Woverloaded-virtual warning by renaming a method. r=alfredo
--HG--
extra : rebase_source : 29b0256a20f4b7a7dc0d5c4e121889eff41be315
2014-12-23 03:24:14 -05:00
Botond Ballo
cb88585788 Bug 1073003 - Fix -Wattribute and -Wmultichar warnings in select directories by disabling them. r=ehsan,ted
--HG--
extra : rebase_source : daf7c38dee86adf07c6d87632a18af60e0eb4f0d
2014-12-23 03:22:50 -05:00
Botond Ballo
e66b60d907 Bug 1073003 - Fix -Wunused-variable / -Wunused-but-set-variable warnings. r=ehsan
--HG--
extra : rebase_source : a9b9166164ee79e2e460bb20fde7f76e1672f481
2014-12-31 16:49:13 -05:00
Botond Ballo
7e0bbe8b72 Bug 1073003 - Fix warnings about macro redefinitions. r=ehsan
--HG--
extra : rebase_source : 45baa6f38015d38829617a956c2ab754c9a8dfe5
2014-12-23 03:16:33 -05:00
Botond Ballo
bc093a115c Bug 1073003 - Fix -Wreorder warnings. r=ehsan
--HG--
extra : rebase_source : 3eb4c247a6dd49b5a9377ddd71a095fda37e1c38
2014-12-23 03:14:31 -05:00
Bobby Holley
c69456ab40 Bug 1064128 - Implement support for timestampOffset in segments mode. r=k17e,r=cajbir 2015-01-07 15:58:55 -08:00
Bobby Holley
b68a4940ad Bug 1116883 - Allow segment type box at the beginning of a media segment per spec. r=karlt 2015-01-07 15:58:55 -08:00
Paul Adenot
6e708c08e0 Bug 916285 - Make OscillatorNode handle negative frequencies. r=karlt
--HG--
extra : rebase_source : d45d11150406208e936ac3e78a1cdb1ce22684fb
2014-12-01 16:10:54 -08:00
Paul Adenot
3e1a7b67fc Bug 997870 - Optimize OscillatorNodeEngine::ComputeCustom a little. r=karlt
--HG--
extra : rebase_source : 6d88a2154196c8c34521e246061e9581b98f70a1
2014-12-10 15:34:14 +01:00
Paul Adenot
f0c8594900 Bug 1106649 - Use band-limited wave tables to implement basic waveforms. r=karlt
--HG--
extra : rebase_source : c75a338a6887f811727ac068e4d84970a7796367
2014-12-01 16:09:56 -08:00
Blake Wu
719c1cadc9 Bug 1114928 - Have an initial value for Ouput result. r=ajones 2015-01-07 13:47:20 +08:00
James Willcox
a19ed3831f Bug 1117777 - Fix inverted MP4 videos on Android r=jgilbert 2015-01-07 11:54:33 -06:00
JW Wang
c9d6a08a8c Bug 1118574 - test case for "Forget This Site" command. r=cpearce 2015-01-06 18:51:00 +01:00
JW Wang
a27deeec92 Bug 1116006 - allow 'ended' set before 'play' event fired. r=cpearce 2015-01-06 01:50:00 +01:00
Alfredo Yang
260db40fc9 Bug 1098166 - remove unnecessary assert in GonkDecoderModule::Shutdown. r=ajones 2015-01-06 02:03:00 +01:00
Ehsan Akhgari
860da94550 Bug 1114999 - Part 2: Apply MOZ_NO_ADDREF_RELEASE_ON_RETURN to all smart pointer arrow operators that can return refcounted objects; r=jrmuizel 2015-01-06 16:30:03 -05:00
JW Wang
3434359fec Bug 1111787 - Part 3: Clear plugis and storage data associated with the node IDs. r=cpearce 2014-12-29 22:22:00 -05:00
JW Wang
1725e359fe Bug 1111787 - Part 2: Kill plugins with valid node IDs when clearing storage data for those IDs will be invalid and can't be used anymore. r=cpearce 2014-12-28 22:18:00 -05:00
JW Wang
ea65e9fd34 Bug 1111787 - Part 1: Delete the directory for the origin pair when "forget this site" is invoked. r=cpearce 2015-01-05 19:00:00 -05:00
Jonathan Hao
e56901c3a0 Bug 1080461 - Part 2: Fix RTSP autoplay. r=bechen, r=jwwang 2015-01-06 09:58:04 +08:00
Jonathan Hao
a29a94eff5 Bug 1080461 - Part 1: Add IsRealTime() in MediaDecoderStateMachine. r=bechen, r=jwwang 2015-01-06 09:57:53 +08:00
Brad Lassey
5a36e906b4 bug 1116859 - Tab mirror stream doesn't respect the max size passed in r=jesup 2014-12-31 12:12:10 -05:00
Ryan VanderMeulen
82d57b4850 Merge inbound to m-c. a=merge 2015-01-06 10:52:47 -05:00
Wes Kocher
9fe4f6a264 Merge m-c to b2g-inbound a=merge 2015-01-05 17:20:29 -08:00
Ryan VanderMeulen
3d55a15384 Backed out 4 changesets (bug 1106649, bug 916285, bug 997870) for test_periodicWave.html failures.
Backed out changeset 43e2d930ba6f (bug 916285)
Backed out changeset 011c2f2f5899 (bug 916285)
Backed out changeset b7303f56216b (bug 997870)
Backed out changeset a2b0a16b8898 (bug 1106649)

CLOSED TREE
2015-01-05 14:22:29 -05:00
Chris Pearce
2e9cf595cd Bug 1114867 - Manually inline RtlSecureZeroMemory in GMPLoader, to ensure it doesn't wipe its own stack while running. r=dmajor 2015-01-06 07:36:42 +13:00
Chris Pearce
93923b922e Bug 1114867 - Revert c29ebd2b4a10. r=dmajor 2015-01-06 07:36:39 +13:00
Paul Adenot
7ef3855197 Bug 916285 - Fix bustage on windows, on a CLOSED TREE.
--HG--
extra : rebase_source : 92b14283d4ccabc01e3b6d42f6ea300b84199f5a
2015-01-05 15:30:53 +01:00
Ethan Tseng
78084ec8f9 Bug 1111978 - RTSP error in browser app blocks playing video in other apps. r=bechen
--HG--
extra : histedit_source : ff5a78615e6c1251c7dd6a400e68dbfbe83221c4
2014-12-31 14:34:19 +08:00
Christoph Kerschbaumer
b39fa64608 Bug 1116624 - Move CORS into dom/security (r=sicking)
--HG--
rename : dom/base/nsCrossSiteListenerProxy.cpp => dom/security/nsCORSListenerProxy.cpp
rename : dom/base/nsCrossSiteListenerProxy.h => dom/security/nsCORSListenerProxy.h
2014-12-30 15:54:59 -08:00
Karl Tomlinson
8632ca3482 Bug 1116384 keep media element alive from attached MediaSource r=roc
--HG--
extra : rebase_source : 40c3a6b2af35d2c72eb51b442d36269f2c26ac70
2014-12-29 16:18:41 +13:00
Paul Adenot
9d479b3f5f Bug 916285 - Make OscillatorNode handle negative frequencies. r=karlt
--HG--
extra : rebase_source : 8db864efa7d7fcfc02d6c66b8b0f050180968ac9
2014-12-01 16:10:54 -08:00
Paul Adenot
dc3fa97c86 Bug 997870 - Optimize OscillatorNodeEngine::ComputeCustom a little. r=karlt
--HG--
extra : rebase_source : 486499c25c863378d7c6c404f2fe00b99f5b86a9
2014-12-10 15:34:14 +01:00
Paul Adenot
28bfeca6e2 Bug 1106649 - Use band-limited wave tables to implement basic waveforms. r=karlt
--HG--
extra : rebase_source : 6ddbabd8d6b5c48659f4f9068cec8b6894f44d9a
2014-12-01 16:09:56 -08:00
Eric Rahm
502eba8af6 Bug 1111135 - Part 2: Check for 3gpp permission. r=roc 2015-01-05 17:54:27 -08:00
Wes Kocher
8bb1b9d23b Backed out 2 changesets (bug 1111135) for build bustage on a CLOSED TREE
Backed out changeset 0c6d384d9d65 (bug 1111135)
Backed out changeset 1ba35d7572b7 (bug 1111135)
2015-01-05 15:32:08 -08:00
Eric Rahm
4f1a16baf2 Bug 1111135 - Part 2: Check for 3gpp permission. r=roc 2015-01-05 15:15:07 -08:00
Nils Ohlmeier [:drno]
eb5de2da98 Bug 1112382 - Remove DataChannelTest wrapper. r=bwc 2014-12-26 13:32:00 -05:00
Phil Ringnalda
9f997b2894 Merge m-i to m-c, a=merge 2015-01-03 20:02:33 -08:00
Ehsan Akhgari
1937a85540 Bug 1117196 - Stop asserting |this| in AudioNodeStream; r=roc
recent clang gives the following warning on these:
'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Wundefined-bool-conversion]
2015-01-03 12:22:16 -05:00
Brad Lassey
6501df4324 bug 1115802 - Scrolling no longer working when tab mirroring from fennec r=snorp 2014-12-31 14:31:05 -05:00
Robert O'Callahan
d557ac39d0 Bug 1109644. Fix bustage on a CLOSED TREE 2014-12-31 15:44:00 +13:00
Robert O'Callahan
f96b8494a1 Bug 1109644. Part 6: Remove aLastEndTime parameter from NotifyPull. r=jesup
--HG--
extra : rebase_source : 47c950d1b1d03a8de279f2ac361b8dcd4ab0f801
2014-12-30 14:54:03 +13:00
Robert O'Callahan
a36e0dd9fe Bug 1109644. Part 5: Make MediaEngineTabVideoSource use GetEndOfAppendedData instead of aLastEndTime. r=jesup
--HG--
extra : rebase_source : ee34171ed4297afa90fb14c7cf655a8d22a30dca
2014-12-30 14:54:02 +13:00
Robert O'Callahan
ec866eb827 Bug 1109644. Part 4: Make MediaEngineGonkVideoSource use GetEndOfAppendedData instead of aLastEndTime. r=jesup
--HG--
extra : rebase_source : 0899d9e42cd42b2ab4ef1d0d4cf600ccc7f49a3f
2014-12-30 14:54:02 +13:00
Robert O'Callahan
2d76f54dbb Bug 1109644. Part 3: Make MediaEngineDefaultVideoSource use GetEndOfAppendedData instead of aLastEndTime. r=jesup
--HG--
extra : rebase_source : d2285dad46e5b089b49e5ddce12564d5518c45a3
2014-12-30 14:54:02 +13:00
Robert O'Callahan
5b73829749 Bug 1109644. Part 2: Make MediaEngineWebRTCVideoSource use GetEndOfAppendedData instead of aLastEndTime. r=jesup
--HG--
extra : rebase_source : a1b716900bba01b5af1057e03bdc6360e327174b
2014-12-30 14:54:02 +13:00
Robert O'Callahan
85cb99cc25 Bug 1109644. Part 1: Create SourceMediaStream::GetEndOfAppendedData to reliably track how much data has been appended to a SourceMediaStream's track. r=jesup
--HG--
extra : rebase_source : 385ad9b704d35df7b70a75afe807e363e0929476
2014-12-30 14:54:01 +13:00
Jeff Gilbert
a76e617dd0 Bug 1100699 - Use OriginPos instead of isInverted. - r=mattwoodrow,snorp 2014-11-17 17:02:19 -08:00
Bobby Holley
70f5c9f799 Bug 1116355 - Throw when setting SourceBuffer mode to 'sequence'. r=karlt,rs=Ms2ger 2014-12-30 12:22:45 -08:00
Ehsan Akhgari
de3498d101 Bug 1116358 - Directly call Release() on |this| when closing a GMP encoder/decoder proxies; r=cpearce
This is needed in order to avoid calling Release() on a smart pointer.
2014-12-30 14:53:12 -05:00
JW Wang
73a373e963 Bug 1116006 - add debugging logs. r=cpearce 2014-12-28 22:33:00 +01:00
Benjamin Chen
935a404340 Bug 1094678 - MediaCodecReader::CreateTaskQueues() runs at main thread. r=cpearce, r=brsun 2014-12-23 14:31:30 +08:00
Carsten "Tomcat" Book
7acda539a7 Backed out changeset d1f3c8d40cdf (bug 1116355) for breaking w-4 tests on a CLOSED TREE 2014-12-30 09:46:51 +01:00
Bobby Holley
def3e6cbb3 Bug 1116355 - Throw when setting SourceBuffer mode to 'sequence'. r=karlt 2014-12-29 23:20:03 -08:00
Bobby Holley
81fc7d1d4b Bug 1114840 - Don't start playback during prerolling. r=cpearce 2014-12-29 23:16:48 -08:00
Bobby Holley
c3291e8b61 Bug 1114840 - Dynamically compute preroll thresholds. r=cpearce
Currently, the preroll threshold ends up higher than the ample threshold in the
audio-only case where we slash the audio thresholds by a factor of 8. The best
way to avoid these sorts of bugs is to compute the values dynamically.
2014-12-29 23:16:48 -08:00
Bobby Holley
01990f4d69 Bug 1114840 - Hoist arms-length conditions and rename StartPlayback() to MaybeStartPlayback(). r=cpearce 2014-12-29 23:16:48 -08:00
Bobby Holley
1eefb9ac1f Bug 1114840 - Use StartDecoding() rather than SetState in PlayInternal. r=cpearce
This makes sure that decode tasks are dispatched and that all the preroll state
is appropriately set up.
2014-12-29 23:16:48 -08:00
Bobby Holley
680cba307f Bug 1114840 - Make MediaDecoderStateMachine::Play run on the state machine thread. r=cpearce
We want to invoke StartDecoding() from Play, but that calls into a bunch of stuff
that asserts that we're on the state machine thread. It's not clear to me whether
that's actually necessary, but this seems like the right thing to do regardless
given that this is all supposed to be async anyway.
2014-12-29 23:16:48 -08:00
Jean-Yves Avenard
b1596dcc70 Bug 1115594: Fix indentation in AppleVDADecoder. r=rillian
--HG--
extra : rebase_source : 6f12f00194507d9000f11d48df8350eed968c30d
2014-12-30 12:06:22 +11:00
Bobby Holley
fe6a11e4f9 Bug 1115749 - Hold the demuxer lock while accessing metadata. r=rillian
We're invoking a number of methods on mDemuxer here.
2014-12-29 16:10:16 -08:00
Bobby Holley
47687b23ea Bug 1115749 - Hold the demuxer monitor in MP4Reader::Seek. r=rillian
This method invokes Seek* on mDemuxer.
2014-12-29 16:10:16 -08:00
Bobby Holley
e6e1fb5905 Bug 1115749 - Rename mIndexMonitor to mDemuxerMonitor. r=rillian 2014-12-29 16:10:16 -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
Ryan VanderMeulen
3d3603fd0c Bug 1091965 - Skip test_mixingRules.html on Android 2.3 due to high intermittent failure rate. 2014-12-26 12:22:56 -05:00
Ryan VanderMeulen
beb4598a7f Bug 1115148 - Skip test_WaitingOnMissingData.html on Android 2.3 due to high intermittent failure rate. 2014-12-26 12:18:34 -05:00
JW Wang
7079de5df9 Bug 1110922 - Add logs to debug test_played.html timeouts. r=cpearce 2014-12-22 23:12:00 -05:00
Jean-Yves Avenard
a3c28798a1 Bug 1111319: Reorder video frames with respect to decoding sliding window. r=rillian 2014-12-24 23:11:35 +11:00
Jean-Yves Avenard
cb16fdaa24 Bug 1111328: Retrieve video dimensions from H264 SPS when possible. r=rillian 2014-12-24 23:11:35 +11:00