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

10426 Коммитов

Автор SHA1 Сообщение Дата
JW Wang 464497b945 Bug 1355756. P1 - change the type of MediaData::mDuration to TimeUnit. r=gerald
MozReview-Commit-ID: 3d4bUYtSuMI

--HG--
extra : rebase_source : 94c821b6d381421035e6a12cbe038436055c5822
extra : intermediate-source : 9a06beffc736486f47b9cf05e7f482e726d53068
extra : source : fdbdcd5c1474f04dc1dbde66fcf3a9ecec953053
2017-04-12 17:27:34 +08:00
Sebastian Hengst 8bd051237a merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JpAhOPjgvkF
2017-04-15 19:59:24 +02:00
Jay Harris 6ce213e795 Bug 1338011 - Adds an intermediate fallback when the GPU process crashes - r=gerald
MozReview-Commit-ID: 9x1ckaWagcE

--HG--
extra : rebase_source : 2962f8572dd36b2dfecb7bb30ba515fc7c6323c9
2017-04-15 09:34:01 +12:00
JW Wang 02d7482da7 Bug 1355719 - Use shorter names for logging macros in MediaCache. r=kaku
MozReview-Commit-ID: GY6o1xBu0wO

--HG--
extra : rebase_source : 51ef1d40222564b17218db5240cdbb30df9175fc
extra : source : 11cb40d76dbe3163d1620aea3de9eec82f3e25a0
2017-04-12 14:51:34 +08:00
JW Wang 1430347b77 Bug 1355406 - Change the type of MediaCacheStream::mPartialBlockBuffer to UniquePtr<uint8_t[]>. r=jya
UniquePtr<uint8_t[]> has the same alignment as UniquePtr<int64_t[]> for the
underlying buffer. It also allows us to remove some reinterpret_casts.

MozReview-Commit-ID: 8V1lZdayFQv

--HG--
extra : rebase_source : 61f1943b9f3e464b47865fb0fff2742125f4c688
extra : intermediate-source : 329adb8a4414f32e2f83ba79af06d288d7b25705
extra : source : ba967b187b9dbc8f402db90272f55b9ee9d92692
2017-04-11 16:52:38 +08:00
JW Wang acc023483b Bug 1351053. P2 - fix data race in accessing mAudioDemuxer/mVideoDemuxer. r=jya
1. http://searchfox.org/mozilla-central/rev/944f87c575e8a0bcefc1ed8efff10b34cf7a5169/dom/media/MediaFormatReader.cpp#755
   mAudioDemuxer is modified on the task queue thread of MFR in Shutdown() called by MFR::Shutdown().
2. http://searchfox.org/mozilla-central/rev/944f87c575e8a0bcefc1ed8efff10b34cf7a5169/dom/media/MediaFormatReader.cpp#1082
   mAudioDemuxer is read on the task queue thread of DemuxerProxy in DemuxerProxy::NotifyDataArrived().

MozReview-Commit-ID: 8qLAzNKjuzb

--HG--
extra : rebase_source : f39acc8b91dfc8a5480ddca724254de128cff22b
extra : source : 76544a99e0651667e5331c5d93c2cd335f61dd46
2017-04-13 15:42:52 +08:00
JW Wang bd27d7c7ff Bug 1351053. P1 - Backed out changeset da84999fd0b2. r=jya
MozReview-Commit-ID: rV4W2EXwN9

--HG--
extra : rebase_source : bdf396bc123a97f5d6134e1d1e320c0453f61f6a
extra : source : ae2fbc85e23b16d7490a5b638a62cbec506b411b
2017-04-13 15:16:08 +08:00
JW Wang d0454d90d1 Bug 1355745 - Change the type of TrackInfo::mMediaTime to TimeUnit. r=jya
MozReview-Commit-ID: 3vuPhLQBnFb

--HG--
extra : rebase_source : 465f8c6eb234694a101081bd5314cca63e4b3285
extra : source : bf604ecf38cbc46c286cc76c4f596fdfd397ac78
2017-04-12 16:53:09 +08:00
JW Wang f45fa7374e Bug 1355740 - Change the type of TrackInfo::mDuration to TimeUnit. r=jya
MozReview-Commit-ID: P7aqw4d5Vk

--HG--
extra : rebase_source : f22743fec9c8b70cbb092e3b26e252e7a4cb0b31
extra : source : 2413cd58f073b734a2cb85cec3658942bfd46e08
2017-04-12 16:41:36 +08:00
Kaku Kuo 960040daf9 Bug 1355031 P2 - make sure that VideoOnlySeekBegin and VideoOnlySeekCompleted are always dispatched in pair; r=jwwang
MozReview-Commit-ID: FV03vlMtjS3

--HG--
extra : rebase_source : 6c24a3f3352031c3912d6cfd43c8e0899a57237b
2017-04-10 17:33:38 +08:00
Kaku Kuo 0c93125075 Bug 1355031 P1 - adjust the event order; r=jwwang
(EnterVideoSuspend/ExitVideoSuspend) event pair and (VideoOnlySeekBegin/VideoOnlySeekCompleted) event pair should not interleave each other.

MozReview-Commit-ID: HehMIls11nc

--HG--
extra : rebase_source : a667443b60524853c76b2a5155f45ae289a4be5b
2017-04-10 17:32:39 +08:00
JW Wang 621abf8866 Bug 1351586 - AudioSink constructor should take a const reference instead of value of TimeUnit. r=kaku
MozReview-Commit-ID: F95iIsVealk

--HG--
extra : rebase_source : 35eec737a2f4a8f94020536a337e90ccb7e82542
extra : source : fbd5a87403a3a80ff50685988289589bbf6c913c
2017-04-12 16:43:05 +08:00
Jean-Yves Avenard 5ac9f9dda9 Bug 1355933: P4. Add ADTS sniffer. r=kamidphish
MozReview-Commit-ID: CjRZKtPVqcU

--HG--
extra : rebase_source : 4cd09974879d78256dc3a012abd219e68686d800
2017-04-13 02:39:54 +02:00
Jean-Yves Avenard 049cd63c78 Bug 1355933: P2. Make arguments const. r=kamidphish
MozReview-Commit-ID: AwtpgSJQFE0

--HG--
extra : rebase_source : ffc96069b1745ed79954bb5fe8a3bdc7cf4bb43b
2017-04-12 23:07:11 +02:00
Jean-Yves Avenard 8cdffedf9d Bug 1355933: P1. Replace nsAutoPtr with UniquePtr. r=kamidphish
MozReview-Commit-ID: 14Hj7fUDwpx

--HG--
extra : rebase_source : b1dd26d25431968ee5185b63381b047673dd0f85
2017-04-12 23:05:25 +02:00
JW Wang e6d11e2bb5 Bug 1355393. P2 - write the bytes out when we've collected a whole block. r=cpearce
MozReview-Commit-ID: 3kAk235rZig

--HG--
extra : rebase_source : e7bcb0be101dbe4d3c95140673086e8396ac1b8f
extra : source : f35e9f125bb38c39e093d8958115708cc3dd4487
2017-04-11 16:06:08 +08:00
JW Wang 52344be7f1 Bug 1355393. P1 - let FileBlockCache::WriteBlock() take 2 buffers instead of one. r=cpearce
This allows us to save copies in combining 2 bufffers into one before calling
FileBlockCache::WriteBlock().

MozReview-Commit-ID: 62kQIxp3Ju0

--HG--
extra : rebase_source : a64c160b9ab3d7bbd724be053fea6358ae7885df
extra : source : f699fdb6fdaf1fd5b4dfeb394928c95e33853a53
2017-04-11 15:47:46 +08:00
Dan Banner cdf987089d Bug 1107904 - Remove packed.js and references to it as it is unused. r=standard8
MozReview-Commit-ID: K5TLF92pHq4

--HG--
extra : rebase_source : 295bf325a07fa8ec4c55a8babf5418588308dca6
2017-04-12 11:10:00 +01:00
Wes Kocher 2986c817dc Merge autoland to central, a=merge CLOSED TREE 2017-04-12 15:13:30 -07:00
Wes Kocher 25d50f2c30 Merge inbound to central, a=merge 2017-04-12 14:39:09 -07:00
Dan Minor 4146b32212 Bug 1264343 - Only run test_peerConnection_scaleResolution.html with VP8 codec on Android; r=jib
We don't currently support H.264 on Android in automation, but we can improve
our test coverage by running the VP8 portion of this test in the meantime.

MozReview-Commit-ID: 3SPCTaqlfMk

--HG--
extra : rebase_source : cae3251f489e45f56b04378074083d6b4fd24666
2017-04-07 08:42:23 -04:00
Paul Adenot e34a6067fb Bug 1355798 - Fix a division by zero in PannerNode.cpp. r=dminor
This happens when the listener and a PannerNode are at the same position, and
a cone gain has been specified.

The issue is that our implementation of 3d vector normalization does not
special-case vectors that have all components at zero, that dividing by zero
results in infinity, and multiplying by infinity produces NaN.

This end up setting the volume member for the output AudioChunk to NaN, and this
breaks everything downstream, of course. In practice, silence is output, with
some clicks (on linux/pulse at least).

MozReview-Commit-ID: 8u54LixvYMu

--HG--
extra : rebase_source : 3b37970b42e5c60cd6e39d3197b580edc63b5ac9
2017-04-12 15:44:19 +02:00
JW Wang f75dd3437a Bug 1353644 - change the type of EXHAUSTED_DATA_MARGIN_USECS to TimeUnit. r=kaku
MozReview-Commit-ID: CXc9DjoUc4m

--HG--
extra : rebase_source : 17a6eadd1e873a24aea2b1b8c2bbd2edfa04f9d7
extra : intermediate-source : 36a9db5c9107bdefafa2090b3cfb4dfcafb6bcea
extra : source : 5b9f12c027fc2363041363ea26bf4b9df3787cc1
2017-03-29 15:04:50 +08:00
Kaku Kuo 172d429303 Bug 1354465 P1 - dispatch a mozvideoonlyseekbegin event while starting a video-only seek; r=jwwang
MozReview-Commit-ID: 6PjQs88vUV2

--HG--
extra : rebase_source : b0d06e8bd5b5a3e84adaade0ea8f2fa98a2af0c3
2017-04-07 16:11:34 +08:00
Nico Grunbaum 9352ee95aa Bug 1344970 - rename mozRtt to roundTripTime r=jib,smaug
MozReview-Commit-ID: 3kES8JUPd3n

--HG--
extra : rebase_source : e49846845d7cbd43f96d13cb1881e0383517f197
2017-03-06 15:50:10 -08:00
John Lin 6e70175957 Bug 1349883 - part 4: strengthen precondition of ReturnDecodedData(). r=jya
MozReview-Commit-ID: 2jLNlrHEE0b

--HG--
extra : rebase_source : af780e3b10f915302aa1deaba18a324266fa1dc0
2017-04-07 17:17:17 +08:00
John Lin ab9060d531 Bug 1349883 - part 3: resolve decode promise according to buffer status. r=jya
MozReview-Commit-ID: JwOOi56t30Y

--HG--
extra : rebase_source : 48f0cc0bfde3f84cc0574c5a5da6c738112c843f
2017-04-07 17:07:02 +08:00
JW Wang 3b2675d90b Bug 1354389. P3 - fix the callers to handle changes when dropping the monitor. r=cpearce
No change is needed for MediaCacheStream::Read() which calls |mon.Wait()|
and has handled changes when dropping the monitor.

MozReview-Commit-ID: 40h0cHn1WFx

--HG--
extra : rebase_source : 5447339ed7751f3171458d8e5fb1e5f6fe3a786e
2017-04-10 13:57:13 +08:00
JW Wang 64b0fbf69a Bug 1354389. P2 - remove the unused function. r=cpearce
MozReview-Commit-ID: 4Mx89MxJmVO

--HG--
extra : rebase_source : 0427e7597dcf7087485945fd283e91e81de9b912
2017-04-10 11:56:35 +08:00
JW Wang 8a3ec7649b Bug 1354389. P1 - drop the monitor before doing IO. r=cpearce
We don't want to do IO while holding the monitor which might be acquired
on the main thread in MediaCache::Update().

MozReview-Commit-ID: 4cHM35K8Twb

--HG--
extra : rebase_source : 5a00332933abd1812f64fa57c9f5e2947ec979ae
2017-04-10 11:55:26 +08:00
Gerald Squelart 1564d36454 Bug 1341483 - MP4Metadata::GetTrackIndice() now also returns a success/error code - r=kinetik
MozReview-Commit-ID: BIgvy5eKNJl

--HG--
extra : rebase_source : 251d61df6136ab46d8efe33edd4199fa5aabd2f0
2017-03-15 16:55:50 +11:00
Gerald Squelart 2ea7fba755 Bug 1341483 - MP4Metadata::Crypto() now also returns a success/error code - r=kinetik
MozReview-Commit-ID: EywDv5JuDK6

--HG--
extra : rebase_source : 017cd996817b1aaa78f5c7bed9fa05da3baf442c
2017-02-27 21:32:03 +11:00
Gerald Squelart 7961918dfc Bug 1341483 - MP4Metadata::GetTrackInfo() now also returns a success/error code - r=kinetik
MozReview-Commit-ID: KQ3fJzZkrGW

--HG--
extra : rebase_source : b9f4324f50c81f4945c0a47e63af0cb616ba013e
2017-02-27 17:05:41 +11:00
Gerald Squelart c93b449e6b Bug 1341483 - MP4Metadata::GetNumberTracks() now also returns a success/error code - r=kinetik
In addition to the returned MediaResult, a special number-of-tracks value
(not just 0) indicates an unrecoverable error.

For Rust-vs-Stagefright comparison purposes, an error is considered the same
as 0 (because Stagefright never returns errors, but Rust may, so complaining
about that would be too noisy, and useless to us.)

MozReview-Commit-ID: IwadWSOIWr4

--HG--
extra : rebase_source : 29f53ee6a02a0431adb0b615a122a4e7b480108c
2017-02-27 13:36:59 +11:00
Gerald Squelart 1bbbbd132d Bug 1341483 - MP4Metadata::Metadata() now also returns a success/error code - r=kinetik
The returned MediaResult is used as error or warning in MP4Demuxer::Init().

MozReview-Commit-ID: Bnv4xG8bCJ4

--HG--
extra : rebase_source : c1952ed61396834b0cd7da58c9b64481a5c46ab1
2017-02-27 13:01:11 +11:00
Gerald Squelart 4101482ad6 Bug 1343437 - 'media.playback.warnings-as-errors' pref - r=jya
If 'media.playback.warnings-as-errors' is true, demuxing and decoding warnings
(i.e., non-fatal errors) will be treated as errors, causing playback to fail.

Currently set to false by default.

This could be later changed to catch and diagnose more issues.

MozReview-Commit-ID: BTaZ6TbIbNG

--HG--
extra : rebase_source : bacc24a46f588dd344e6d46178ae2d2c58882fcb
2017-03-03 16:10:48 +11:00
Gerald Squelart 7dca1275ff Bug 1343437 - TBM::OnDemuxer{Init,Reset}Done forward non-NS_OK MediaResult to HTMLMediaElement::DecodeWarning - r=jya
Similarly to the MediaFormatReader, TrackBuffersManager can forward warnings
from the demuxer initialization to the associated HTMLMediaElement.

Note that errors (sent to OnDemuxerInitFailed) are currently *not* forwarded
to the HTMLMediaElement by design. In the future, we may want to add this
feature so that mediasource errors can also be reported to webcompat.

MozReview-Commit-ID: GjluZbpmC9q

--HG--
extra : rebase_source : 57c02f86c56f054f209094d9697209300acc1288
2017-03-14 01:08:39 +11:00
Gerald Squelart f717376fb5 Bug 1343437 - MFR::OnDemuxerInitDone forwards non-NS_OK MediaResult to HTMLMediaElement::DecodeWarning - r=jya
The MediaFormatReader now takes the MediaResult from the Demuxer::Init promise
resolution, and if there are no other errors but the MediaResult is not NS_OK
it will forward that warning to the decoder owner (i.e., the associated
HTMLMediaElement).

MozReview-Commit-ID: 5rTmzqqPLI0

--HG--
extra : rebase_source : 5f81db185a01c012bf0418af2a42986db14a7e6f
2017-03-06 15:22:17 +11:00
Gerald Squelart 0cb411e982 Bug 1343437 - MP4Demuxer::Init resolves with a MediaResult - r=jya
If MP4Demuxer::Init detects some recoverable error (e.g., invalid tracks when
others may still be usable), it will eventually Resolve the promise with the
first warning.

Later on, errors/warnings from the MP4Metadata parser will also be handled, to
provide even better diagnostics.

MozReview-Commit-ID: E9Rly9dhXW3

--HG--
extra : rebase_source : cae214d0c80297bd61156dc1a305a186da0974fe
2017-02-27 10:10:28 +11:00
Gerald Squelart c0473802e5 Bug 1343437 - MediaDataDemuxer::InitPromise resolve-value is now a MediaResult - r=jya
In case of successful initialization, there could still be some warning about
a recoverable error. To carry more information about this potential warning,
the resolve-value type of the promise is changed from nsresult to MediaResult.

Existing code doesn't need to be changed:
- In Resolve() calls, the stored MediaResult can implicitly be constructed from
an nsresult -- always NS_OK at the moment anyway.
- In following Then(), the promise's MediaResult can implicitly be converted to
an nsresult.

Future patches will modify some of the Resolve's and Then's, to forward warning
details to some Decoder Doctor object...

MozReview-Commit-ID: J0bXDFxXQHQ

--HG--
extra : rebase_source : cb10cdfa80e34783a459e5946b746b9f1920bd87
2017-02-28 16:24:57 +11:00
Alex Chronopoulos bffcec9307 Bug 1354506: Disable 3 media recorder test on android. r=padenot
MozReview-Commit-ID: 9Jjii3i5a2a

--HG--
extra : rebase_source : 949954295fef156a19a680e532068c28f488fd88
2017-04-10 12:18:33 +03:00
Jean-Yves Avenard 99c84ca5b6 Bug 1354090: P4. Only assume we have an init segment with moov box. r=gerald
By ISOBMFF spec, an init segment is made of an ftyp and a moov box. However the ftyp box serve little purpose as such and only the moov atom contains essential information.

Some streams incorrectly add ftyp box all accross the content, despite the ISOBMFF spec stating (4.3.1):
Box Type: `ftyp’
Container: File
Mandatory: Yes
Quantity: Exactly one (but see below)

Additionally, with this change the ftyp box may not be present in content following earlier spec. So we will now be able to play them.

MozReview-Commit-ID: KijlV5pPLby

--HG--
extra : rebase_source : c5d5ec643879b28b3fdf1b97364d856467ba5948
2017-04-07 15:37:18 +02:00
Jean-Yves Avenard b0c4fd9119 Bug 1354090: P3. Properly offset the media and init byte ranges. r=gerald
The init and media segment byte ranges were not offset by the amount of bytes currently parsed. Whenever a new init segment signature was seen we would recreate a container parser.
This would lead to invalid offsets later.

MozReview-Commit-ID: 8U7kTa7SK8O

--HG--
extra : rebase_source : 6b6e665e01db2685a423558b2d09ce36b9052974
2017-04-07 12:04:24 +02:00
Jean-Yves Avenard 137766e6ad Bug 1354090: P2. Add operator+(val). r=gerald
Such that:
[x, y] + a = [x+a, y+a]

MozReview-Commit-ID: HlyI9KmVtTg

--HG--
extra : rebase_source : ef5d9e942d365fbcffd796a1762bd89a042272e7
2017-04-07 11:31:00 +02:00
Jean-Yves Avenard fa2ce72185 Bug 1354090: P1. Fix coding style. r=gerald
MozReview-Commit-ID: ByBHvxM3kfc

--HG--
extra : rebase_source : e96be6001fb38e1ff45ca2a5c27975c76b85f42b
2017-04-07 10:55:15 +02:00
Alfredo.Yang 6771c4ebbd Bug 1354963 - enable rust mp4 parser on linux release. r=kinetik
MozReview-Commit-ID: D0CzBQYL8mz

--HG--
extra : rebase_source : 6c24f85a2cb5075fba8426dafd323d217a674cb9
2017-04-10 09:23:21 +08:00
JW Wang d64d62164c Bug 1194891. P4 - close all streams associated with private browsing windows when PB is done. r=cpearce
MozReview-Commit-ID: MmvMuzuFX3

--HG--
extra : rebase_source : d5f98bd815323e9a79959af49a9585d8f6108d28
extra : source : 7a82be361a50b950b579a5f6b1872d10de80d76f
2017-04-06 16:39:14 +08:00
JW Wang 1964dd6b54 Bug 1194891. P3 - don't share data for elements in PB mode. r=cpearce
MozReview-Commit-ID: 1B2RK8biYof

--HG--
extra : rebase_source : 62a4233755adc59df69c521fe9bf76df902b0d05
extra : source : c22dea23fd02e5887f84c6502874a31e8728d4b4
2017-04-06 16:52:14 +08:00
JW Wang 09e1217347 Bug 1194891. P2 - don't write any data for a closed stream. r=cpearce
MozReview-Commit-ID: 3buPoKxVXbH

--HG--
extra : rebase_source : d28ade4b90d63deb386e4922b3a1251dfd878a31
extra : source : dd4013c9d706212cad669a1fe124af03beb4a32e
2017-04-06 16:24:44 +08:00
JW Wang 84734bb3c0 Bug 1194891. P1 - plumb 'isPrivateBrowsing' down to MediaCacheStream. r=cpearce
MozReview-Commit-ID: EBKkOfK7K1p

--HG--
extra : rebase_source : 82daa16ffa0809a4de660867ab61d9a9efdf2a83
extra : source : b61d0c22837a6ee8085c95afbd1370ffa8286e6e
2017-04-06 16:20:00 +08:00