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

594 Коммитов

Автор SHA1 Сообщение Дата
Eric Rahm a33f11e0f5 Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.

--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299
2017-08-16 16:48:52 -07:00
Jean-Yves Avenard 33058da3e1 Bug 1347518 - P2. Don't attempt to determine frame type when encrypted. r=cpearce
The data being encrypted, is nonsensical. So we always rely on the container information

MozReview-Commit-ID: 4uQ9l3Q1Ebl

--HG--
extra : rebase_source : 675f9d23d73765387735212f8894235d5ba668e5
2017-08-21 18:54:44 +02:00
Chris Pearce 441293d0f7 Bug 1389980 - Remove MP4Decoder::IsVideoAccelerated() as it is unused. r=mattwoodrow
MozReview-Commit-ID: Eg0ggufsqDt

--HG--
extra : rebase_source : 6a94c6da43a581702069d880fe480dfb668af7f0
2017-08-15 10:15:43 +12:00
Wes Kocher b1fc5e008c Merge inbound to central, a=merge
MozReview-Commit-ID: 4cWGBbMEU2x
2017-08-18 15:53:07 -07:00
Eric Rahm 9732475fe0 Bug 1389598 - Part 3: Remove gonk references from dom/ r=bkelly
--HG--
extra : rebase_source : 94a2b34b21cfde0c0ebda1045e9d30c6b88a1557
2017-08-11 17:42:11 -07:00
Chris Pearce 38854683c2 Bug 1390748 - Remove unnecessary includes in *Decoders. r=jwwang
MozReview-Commit-ID: 3bfAdpopOfp

--HG--
extra : rebase_source : c9b0a0991d731b38d3f077f90cd4f79b6470fe38
2017-08-16 17:19:39 +12:00
Chris Pearce 09b9dbe471 Bug 1390748 - Remove ChannelMediaDecoder::CloneImpl() and remove subclasses of ChannelMediaDecoder. r=jwwang
MozReview-Commit-ID: 6nlBArYgwEJ

--HG--
extra : rebase_source : 5a87dfe0d77fc23d36a4f57452322c39d720698c
2017-08-15 17:52:17 +12:00
Chris Pearce 48645410e3 Bug 1390748 - Create DecoderTraits::IsSupportedType(const MediaContainerType&). r=jwwang
Most ChannelMediaDecoder::CloneImpl() functions just check to see whether
their "is enabled" pref is still true, and then clone their true type.

If we had a function to check whether the decoder for an arbitrary type
was still enabled, we'd not need the "is enabled" checks in the CloneImpl()
implementations. We'd then have removed the last custom behaviour in the
ChannelMediaDecoder subclasses.


MozReview-Commit-ID: D7kW6kb6ztW

--HG--
extra : rebase_source : 88f259ea0245a4405897959d5c115b0b79dc45e2
2017-08-15 17:38:16 +12:00
Chris Pearce 185ab4fc70 Bug 1390748 - Create default MediaDecoder::GetMozDebugReaderData() implementation. r=jwwang
We have three implementations, in the MP4, WebM and MediaSource decoders.  The
WebM and MP4 are the same. Ogg and other decoders don't have an implementation,
but if we create a default implementation in MediaDecoder, they'll get it for
free. MediaSourceDecoder needs a custom override still.

MozReview-Commit-ID: AXxn2Xhn0Jn

--HG--
extra : rebase_source : 83d0facbe26f8385c7163dc85d5512e7a43e80f4
2017-08-15 17:07:13 +12:00
Carsten "Tomcat" Book bb63604dba Backed out changeset 2964dba33ef8 (bug 1390748)
--HG--
extra : rebase_source : f42c1924d26ca39d2fbe926055f53ff92bb25b69
2017-08-17 08:35:33 +02:00
Carsten "Tomcat" Book d559b237c9 Backed out changeset 94c0ec4bf19e (bug 1390748)
--HG--
extra : rebase_source : 2bdfa0f8d9829b6501a068f3c3d046ae4835503c
2017-08-17 08:35:28 +02:00
Carsten "Tomcat" Book cdf7a88921 Backed out changeset d3c000525403 (bug 1390748)
--HG--
extra : rebase_source : e8fcead7d669d02c1696a522777c83e4b0def623
2017-08-17 08:35:25 +02:00
Carsten "Tomcat" Book ce6b956372 Backed out changeset 3f9350bf23ff (bug 1390748)
--HG--
extra : rebase_source : 8f8f504428a69d6f91f86fa7bf944402180a6d82
2017-08-17 08:35:20 +02:00
Chris Pearce 343a77339a Bug 1390748 - Remove unnecessary includes in *Decoders. r=jwwang
MozReview-Commit-ID: 3bfAdpopOfp

--HG--
extra : rebase_source : 4a1c9d156c48140196aef219552b1982ad1161d0
2017-08-16 17:19:39 +12:00
Chris Pearce 51800b3d2a Bug 1390748 - Remove ChannelMediaDecoder::CloneImpl() and remove subclasses of ChannelMediaDecoder. r=jwwang
MozReview-Commit-ID: 6nlBArYgwEJ

--HG--
extra : rebase_source : eb7a6fedf7b118e951e5f701b2c9f54459b3f3f0
2017-08-15 17:52:17 +12:00
Chris Pearce 371cb3e4c4 Bug 1390748 - Create DecoderTraits::IsSupportedType(const MediaContainerType&). r=jwwang
Most ChannelMediaDecoder::CloneImpl() functions just check to see whether
their "is enabled" pref is still true, and then clone their true type.

If we had a function to check whether the decoder for an arbitrary type
was still enabled, we'd not need the "is enabled" checks in the CloneImpl()
implementations. We'd then have removed the last custom behaviour in the
ChannelMediaDecoder subclasses.


MozReview-Commit-ID: D7kW6kb6ztW

--HG--
extra : rebase_source : 88f259ea0245a4405897959d5c115b0b79dc45e2
2017-08-15 17:38:16 +12:00
Chris Pearce 2e91854fcd Bug 1390748 - Create default MediaDecoder::GetMozDebugReaderData() implementation. r=jwwang
We have three implementations, in the MP4, WebM and MediaSource decoders.  The
WebM and MP4 are the same. Ogg and other decoders don't have an implementation,
but if we create a default implementation in MediaDecoder, they'll get it for
free. MediaSourceDecoder needs a custom override still.

MozReview-Commit-ID: AXxn2Xhn0Jn

--HG--
extra : rebase_source : 83d0facbe26f8385c7163dc85d5512e7a43e80f4
2017-08-15 17:07:13 +12:00
Phil Ringnalda 38ce1ea2a0 Backed out 10 changesets (bug 1390748) for build bustage
Backed out changeset 02b36ee5fb17 (bug 1390748)
Backed out changeset 84e8bf01c856 (bug 1390748)
Backed out changeset fc8989be30f3 (bug 1390748)
Backed out changeset 14d421ace6cc (bug 1390748)
Backed out changeset 7dadac869038 (bug 1390748)
Backed out changeset 0e77809e7bc2 (bug 1390748)
Backed out changeset bf78a8dce9c5 (bug 1390748)
Backed out changeset 5fa77990472e (bug 1390748)
Backed out changeset 5d3b637d2485 (bug 1390748)
Backed out changeset 634fe076d134 (bug 1390748)

MozReview-Commit-ID: Dxio8vXDCHg
2017-08-16 21:33:10 -07:00
Chris Pearce 162ce2ce95 Bug 1390748 - Remove unnecessary includes in *Decoders. r=jwwang
MozReview-Commit-ID: 3bfAdpopOfp

--HG--
extra : rebase_source : 0696df4f22dd261d245f905db2749ae3323460bc
2017-08-16 17:19:39 +12:00
Chris Pearce d22c79dd24 Bug 1390748 - Remove ChannelMediaDecoder::CloneImpl() and remove subclasses of ChannelMediaDecoder. r=jwwang
MozReview-Commit-ID: 6nlBArYgwEJ

--HG--
extra : rebase_source : 5a669544b7a9c6f2d4d27a47c621c21b9317f789
2017-08-15 17:52:17 +12:00
Chris Pearce fa780c5329 Bug 1390748 - Create DecoderTraits::IsSupportedType(const MediaContainerType&). r=jwwang
Most ChannelMediaDecoder::CloneImpl() functions just check to see whether
their "is enabled" pref is still true, and then clone their true type.

If we had a function to check whether the decoder for an arbitrary type
was still enabled, we'd not need the "is enabled" checks in the CloneImpl()
implementations. We'd then have removed the last custom behaviour in the
ChannelMediaDecoder subclasses.


MozReview-Commit-ID: D7kW6kb6ztW

--HG--
extra : rebase_source : f463785d2975adceffd62037315d169736effbc0
2017-08-15 17:38:16 +12:00
Chris Pearce ba9eb9c3bb Bug 1390748 - Create default MediaDecoder::GetMozDebugReaderData() implementation. r=jwwang
We have three implementations, in the MP4, WebM and MediaSource decoders.  The
WebM and MP4 are the same. Ogg and other decoders don't have an implementation,
but if we create a default implementation in MediaDecoder, they'll get it for
free. MediaSourceDecoder needs a custom override still.

MozReview-Commit-ID: AXxn2Xhn0Jn

--HG--
extra : rebase_source : 63513ce3b01546142357182f21fce56932b32f7f
2017-08-15 17:07:13 +12:00
JW Wang 09bd1a691e Bug 1383628. P1 - divide Clone() into 2 functions. r=gerald
Now we have a non-virtual Clone() and a virtual CloneImpl().
We will call Load() inside Clone().

MozReview-Commit-ID: Hd6p206Brhq

--HG--
extra : rebase_source : fe30611f6524234d98494cd55453140e3b78c7d6
extra : source : 517cd32514e65cf5f6cd7fe46acecd7f9aea6310
2017-08-03 17:39:55 +08:00
JW Wang 7f6f26e511 Bug 1386951 - have ChannelMediaDecoder implement CreateStateMachine() and fix includes. r=jya
The implementation will be shared by most of the sub-classes except OggDecoder
which needs to call demuxer->SetChainingEvents().

http://searchfox.org/mozilla-central/rev/f0e4ae5f8c40ba742214e89aba3f554da0b89a33/dom/media/ogg/OggDecoder.cpp#25

This helps reducing code changes whenever we add a field to MediaFormatReaderInit.

MozReview-Commit-ID: 5K8NY1oxol4

--HG--
extra : rebase_source : 7bc2a71ad9bd982ada51fd28d6a5b7c6f1d7395a
extra : source : cccd49795938ce53cd8eee597ec0ea4859543c37
2017-08-03 14:05:28 +08:00
JW Wang aa4fe7edda Bug 1385155. P2 - move MP4Stream into ContainerParser.cpp which is the only user. r=gerald
MozReview-Commit-ID: 4IguqbJn1xd

--HG--
extra : rebase_source : 881a27a24b11e05033e4ae9c9dbfe93f6ec34141
2017-07-27 17:43:09 +08:00
JW Wang 80b7228709 Bug 1385155. P1 - remove dead code. r=gerald
We are able to remove some dead code for BlockingReadIntoCache,
LastReadFailed, ClearFailedRead, Pin and Unpin have no callers at all.

MozReview-Commit-ID: KkywoKznejB

--HG--
extra : rebase_source : c6124bce6eca0b974767073fe1daf51aa50635f2
2017-07-27 17:36:18 +08:00
JW Wang 35f6829a03 Bug 1378295. P1 - remove unused MFR::mDecoder. r=jya
MozReview-Commit-ID: BuvxlYs0LqD

--HG--
extra : rebase_source : 8595e8c5e08e9cd6575b3e3bf37e59e25c79045c
extra : intermediate-source : 589082a3f0571cea45e6942a1e6b82adda7efdcb
extra : source : 47cdc0a2b7acec44d102b165e1867b4f689e488c
2017-07-13 15:13:12 +08:00
JW Wang 0ad4cd546b Bug 1380568. P1 - store FrameStatistics in MFR. r=jya
So we can remove the use of AbstractMediaDecoder::NotifyDecodedFrames().

MozReview-Commit-ID: Ch7Saha6zdi

--HG--
extra : rebase_source : 8562faa56d1f31797643ed0f7ae550765d8c86d7
extra : intermediate-source : 05b50517cc40f2adf06facfccea628488dd319da
extra : source : d5af89f5a09e03c8fbb0d6111f88e3221f3a1d57
2017-07-07 11:05:03 +08:00
JW Wang ef025c6fcf Bug 1316211. P15 - remove MDR from the base class of MFR. r=gerald
MozReview-Commit-ID: Jf5pCxkhexg

--HG--
extra : rebase_source : 3ec9423d4d0f3b60ee9e5f6f19af18188530e1d9
extra : source : 4fbc225bfc79abacaf47ffd4405ef2d6711dea32
2017-07-19 22:18:37 +08:00
JW Wang 5370eb3105 Bug 1316211. P13 - replace use of MediaDecoderReader with MediaFormatReader. r=gerald
We will remove MediaDecoderReader in the future.

MozReview-Commit-ID: BaCRXleKK5a

--HG--
extra : rebase_source : dc14a593d6291136f02b1deb910cd6dcd01c0355
extra : source : 8f71b7dae0a541562c7c3829b5a873e9f9fd2674
2017-07-19 17:01:32 +08:00
JW Wang 789cd1ebe8 Bug 1380532. P1 - pass GMPCrashHelper through MediaDecoderReaderInit to MFR. r=gerald
So we can reduce dependency on AbstractMediaDecoder.
See bug 1378295 comment 1 for the detail.

Note it is not ideal to repeat |init.mCrashHelper = ...| several times in
this patch. We will re-visit it to reduce code duplication after bug 1378295
is done.

MozReview-Commit-ID: AEC56ukqtYr

--HG--
extra : rebase_source : 07554566af74b65f391811e55847e58365ac81fe
extra : source : 7f613117f815369f65256408b221131683c0dd82
2017-07-13 10:19:36 +08:00
JW Wang 4ca981216d Bug 1380234. P1 - pass KnowsCompositor to MFR through MediaDecoderReaderInit. r=jya
MozReview-Commit-ID: 3krK3meG5jV

--HG--
extra : rebase_source : f0a628ab28a527fa7f79ec61672e988cf1def8e7
extra : source : c8c2a6f2506338a8208f3bcf56160c47e6a29000
2017-07-12 15:37:02 +08:00
JW Wang aeaad5857f Bug 1378689 - add a structure to pack the data sent to the MediaDecoderReader constructor. r=jya
It would be handy we want to pass more data to the constructor.

MozReview-Commit-ID: 3AUUsTbv534

--HG--
extra : rebase_source : 8d230c85addf1ba296e6a0512f0d18ebd41c0d17
extra : source : e6568e9fa24f52c59baecaa16aa044b492f407fb
2017-07-06 16:59:22 +08:00
Jean-Yves Avenard 9634c80d63 Bug 1378507: Add extra check to ensure data is valid. r=gerald
MP4TrackDemuxer::GetNextSamples set mExtraData and it should be valid. This sample will later be rejected by the H264Converter.
The case would also fail if the video codec was VP9.

MozReview-Commit-ID: 5nXoRFJ6ntx

--HG--
extra : rebase_source : 76bfac15373fdccb3f2286bd3cd0999236509e1e
2017-07-06 09:28:48 +02:00
JW Wang 15da20ff70 Bug 1378316. P1 - store MediaDecoderReader in MediaDecoder. r=gerald
So we are able to dispatch NotifyDataArrived() to MediaDecoderReader in P2.

MozReview-Commit-ID: 3RM66uTvYSc

--HG--
extra : rebase_source : 40311cf27fefbd2046016fb246a3a4ccfce845a8
extra : source : 515d9b3b3cd4b0b30d2fd8196b48c55e14466263
2017-07-05 17:21:17 +08:00
JW Wang ab6f636e4a Bug 1378304. P2 - replace GetResource() with mResource in MediaDecoder sub-classes. r=jya
MozReview-Commit-ID: GRIBp3y0Cb7

--HG--
extra : rebase_source : c80386b223d90e8a9a7fb285a09edc526227bde8
extra : source : b74c63131f6ed873726519eed1a308aaaf35a6a9
2017-07-05 14:52:42 +08:00
Jean-Yves Avenard f71786c57f Bug 1374774: P4. Correct H264 telemetry reporting. r=gerald
The code couldn't have worked, mNeedSPSForTelemetry can only be set if we didn't get an H264 extradata in the MP4 metadata.
So any calls to HasSPS(sample->mExtraData) would have always returned false.

MozReview-Commit-ID: 3PcRXJHBJyC

--HG--
extra : rebase_source : 5b70a1e40b38b61982264784c489f11ddf9d4682
2017-06-22 14:52:07 +02:00
Jean-Yves Avenard 234164b774 Bug 1374774: P3. Remove HasSPS method. r=gerald
It was only used in one spot, and incorrectly at that.

MozReview-Commit-ID: EWkkrAlYT7W

--HG--
extra : rebase_source : a19afe8f49e1e0fd430ddbff81978eb3511c5fb5
2017-06-22 14:44:21 +02:00
Jean-Yves Avenard 0ac3f1c5b4 Bug 1374774: P1. Move H264 methods into H264 code. r=gerald
HasSPS, ExtractExtraData and CompareExtraData have nothing to do with the handling of annex B format. They are raw H264 related methods.

It will also prevent in the following change to have cycling references between two headers.

MozReview-Commit-ID: FCs5aU4GcTU

--HG--
extra : rebase_source : a96fe0c70416d38690b0c2f1dee567b0b025e947
2017-06-22 14:36:11 +02:00
Sebastian Hengst 261b25bf86 Backed out changeset 0d953ca28add (bug 1374774) for bustage at media/libstagefright/binding/H264.cpp(205). 'ptr' not declared. r=backout on a CLOSED TREE 2017-06-24 00:49:18 +02:00
Sebastian Hengst ca778305be Backed out changeset 361c9c559b7e (bug 1374774) 2017-06-24 00:48:18 +02:00
Sebastian Hengst 1f514e90aa Backed out changeset e7e570157874 (bug 1374774) 2017-06-24 00:48:14 +02:00
Jean-Yves Avenard bfeee68f7d Bug 1374774: P4. Correct H264 telemetry reporting. r=gerald
The code couldn't have worked, mNeedSPSForTelemetry can only be set if we didn't get an H264 extradata in the MP4 metadata.
So any calls to HasSPS(sample->mExtraData) would have always returned false.

MozReview-Commit-ID: 3PcRXJHBJyC

--HG--
extra : rebase_source : 4137b9c985ffe7ee3958fad509149bf911229eed
2017-06-22 14:52:07 +02:00
Jean-Yves Avenard bcd57adc64 Bug 1374774: P3. Remove HasSPS method. r=gerald
It was only used in one spot, and incorrectly at that.

MozReview-Commit-ID: EWkkrAlYT7W

--HG--
extra : rebase_source : 9c719bbf668eafaac0415580ffdfa0cea0942673
2017-06-22 14:44:21 +02:00
Jean-Yves Avenard abaade7f70 Bug 1374774: P1. Move H264 methods into H264 code. r=gerald
HasSPS, ExtractExtraData and CompareExtraData have nothing to do with the handling of annex B format. They are raw H264 related methods.

It will also prevent in the following change to have cycling references between two headers.

MozReview-Commit-ID: FCs5aU4GcTU

--HG--
extra : rebase_source : b204723cdbb599d4f0a227871ed28f5da39e9cff
2017-06-22 14:36:11 +02:00
JW Wang 61f7ca2479 Bug 1374930. P3 - move Clone() down to ChannelMediaDecoder for clone is possible only for those use channel-based resource. r=cpearce
MozReview-Commit-ID: Ci2kbts2pkQ

--HG--
extra : rebase_source : 3a2e70ca4bf56e1c73b7faff8e183211787a96bf
extra : source : 682cb949adae4683ae1cbbfbb4c457b83cb1fddc
2017-06-20 18:10:27 +08:00
JW Wang 5c00111ef1 Bug 1374930. P1 - add ChannelMediaDecoder to be the base class which uses channel-based MediaResource. r=cpearce
MozReview-Commit-ID: 6L4me2BQkgi

--HG--
extra : rebase_source : d78de302d0551b9754569885d79ed3aba6571f61
extra : intermediate-source : d32948c3c5110b663d4ac61a1f483c8f8db00707
extra : source : cfd7941b933671dcb83c1131463b39f58fec627d
2017-06-19 15:50:09 +08:00
JW Wang 4031d18757 Bug 1371200. P1 - add MediaDecoderInit and fix MediaDecoder constructor and its friends. r=cpearce
We will add more fields to MediaDecoderInit and be able to remove some setters.

MozReview-Commit-ID: BVx935IHQHf

--HG--
extra : rebase_source : 6d167265e478ce39881ceada1303e9ca18189bbf
extra : source : 0c26f909568f673591ad6720458dfc912c01daad
2017-06-07 12:14:11 +08:00
Jean-Yves Avenard 5b7e2de861 Bug 1367128: P3. Plumb in new eviction methods with MSE demuxer. r=gerald
MozReview-Commit-ID: HULNEfD3tRJ

--HG--
extra : rebase_source : ad96f8d40ff8efcbb86e1b1acb41f9d91dc3920d
2017-06-02 21:16:33 +02:00
Jean-Yves Avenard 8acff71452 Bug 1369382: Don't make hard assertion that the queued sample is a keyframe. r=kaku
When seeking, we go to the first IDR prior the seek target. However, if the MP4 sample table is invalid the frame returned may not be an IDR.

It is an error for that frame to not be a keyframe, so we do want to have way to detect them through logging. Change assertion to a soft assertion for that purpose.

MozReview-Commit-ID: EMgwRo1mYMp

--HG--
extra : rebase_source : 363a7e148db166b2130a7862a49f03d419d3fe22
2017-06-01 16:07:27 +02:00