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

544 Коммитов

Автор SHA1 Сообщение Дата
Jean-Yves Avenard 70ed5282de Bug 1299072: P18. Use MediaResult with InitPromise. r=gerald
MozReview-Commit-ID: JiLgiyxvfNC

--HG--
extra : rebase_source : 4cc453a5fe7b1e4f4b865c31a24a5feed64df7e4
2016-09-13 13:06:18 +10:00
Jean-Yves Avenard 20dc9102e8 Bug 1299072: P12. Use MediaResult for MediaDataDemuxer promises. r=gerald
MozReview-Commit-ID: JeQrmoHbb8m

--HG--
extra : rebase_source : 1f4581e5789f18b358a6f5bb5f8595cc7a75110b
2016-09-12 12:22:20 +10:00
Wes Kocher 42f4e48aee Backed out 6 changesets (bug 1300118) for frequent Windows VM Xpcshell failures a=backout CLOSED TREE
Backed out changeset 24f714ad248c (bug 1300118)
Backed out changeset 6fe61ed092e8 (bug 1300118)
Backed out changeset dd18e29b64bf (bug 1300118)
Backed out changeset 50882fb40551 (bug 1300118)
Backed out changeset 60e82c1780e5 (bug 1300118)
Backed out changeset e40df52925d5 (bug 1300118)

--HG--
extra : amend_source : 7475f45d827654abe309696d73fd86e75a497c32
2016-09-12 16:34:41 -07:00
Ben Kelly 621f6bacd6 Bug 1300118 P1 Make TaskQueue deliver runnables to nsIEventTarget. r=bholley 2016-09-12 12:32:20 -07:00
Ben Kelly a8a4ae3c4f Backout rev 5c7368370ff9 to 980659720b86 (bug 1300118 and bug 1300658) for incorrect bug number in commit message. r=me 2016-09-12 12:29:17 -07:00
Ben Kelly 157b0fe1ed Bug 1300118 P1 Make TaskQueue deliver runnables to nsIEventTarget. r=bholley 2016-09-12 11:21:01 -07:00
Jean-Yves Avenard 75e90695b5 Bug 1300296: P2. Don't rely on MP4 container to properly report if a frame is a keyframe. r=kentuckyfriedtakahe
There are too many cases where the MP4 is improperly muxed and frames are incorrectly reported as keyframe.
Instead we now look inside the H264 stream and check for IDR frames.

We also ensure that the first frame returned after a seek is always a true keyframe.

For plain MP4, seeking in those broken files will lead to broken A/V sync. The only way to fix this would be to check for the frame type when reading the samples table. However, this would require to read the entire stream which isn't viable.

MozReview-Commit-ID: Cpv5y7HVD0N

--HG--
extra : rebase_source : 2f92032fe39ed6ad6c2b82438f405040b5e7d30c
2016-09-04 21:33:23 +10:00
Jean-Yves Avenard a18ecfafaa Bug 1280346: [mp4] Always use SPS dimensions if available. r=gerald,rillian
H264 decoders always use those anyway, so may as well use them in the demuxer if SPS NAL is available.
This guarantees that we have correct dimensions when reading the MP4 metadata, and will have the side benefit that when loadedmetadata is fired, the dimensions provided at the time will be final; not having to wait to decode the first frame.

MozReview-Commit-ID: 3j70Xqw8jJY

--HG--
extra : rebase_source : 6bc0f1fa1c2db35bcaa683cc1a68042d122e2892
2016-08-22 06:39:41 +10:00
Bryce Van Dyk dc49694098 Bug 1290284 - Centralise string comparisons for H264 and VPX detection. r=cpearce
Remove string comparisons to determine from mime types if content is VPX or
H264. Replace with calls to VPXDecoder::IsVPX or MP4Decoder::IsH264 to
centralise such logic.

This patch introduces MP4Decoder:IsH264, and moves the similar functionality out
of H264Convertor for the sake of consistently having these functions in
decoders.

MozReview-Commit-ID: 5nfYusYHrUR

--HG--
extra : rebase_source : c013c4ebe28d5afedbb91ddfffadb40d23fd0ee3
2016-07-29 14:12:54 +12:00
Jean-Yves Avenard d9896af911 Bug 1289059: P1. Add MediaDemuxer generic logging. r=cpearce
MozReview-Commit-ID: 453QrMX1nWp

--HG--
extra : rebase_source : 679586d22a380e57c19c1e78b29e71282c08ecbf
2016-07-24 22:30:07 +10:00
Carsten "Tomcat" Book 336105a0de merge mozilla-inbound to mozilla-central a=merge 2016-07-22 11:58:02 +02:00
Jim Chen ce45a595ab Bug 1287946 - Update existing code to use mozilla::java; r=me 2016-07-21 13:49:04 -04:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Carsten "Tomcat" Book e8bc59a87a Backed out changeset 684888aeee81 (bug 1287946) 2016-07-21 08:07:12 +02:00
Jim Chen 78f67d1f6f Bug 1287946 - Update existing code to use mozilla::java; r=me 2016-07-21 00:42:26 -04:00
Ralph Giles 72ecfe6999 Bug 1267887 - Support Opus in mp4 with the rust demuxer. r=kinetik
Update C++ caller code for for mp4parse 0.4.0. Now feeds data through
a read callback in mp4parse_io.

Hook up the GetTrackInfo method to the rust demuxer results.

Prefer rust demuxer only if there's an Opus track.

Fill in audio and video track metadata. Pass audio codec_specific_config
to the decoder.

With this change sample.mp4 plays.

MozReview-Commit-ID: F8xwWPZZBfZ
2016-06-29 09:12:45 -07:00
Phil Ringnalda 3f1ee7a2b6 Backed out 7 changesets (bug 1267887) for gtest failures and crashes and Marionette crashes on Windows 8
CLOSED TREE

Backed out changeset e7e34b315a0a (bug 1267887)
Backed out changeset 9128f4f94032 (bug 1267887)
Backed out changeset c697af8c555a (bug 1267887)
Backed out changeset 8f1c1957ce80 (bug 1267997)
Backed out changeset 3b1177fd30cb (bug 1267887)
Backed out changeset 72ea61f4f820 (bug 1267887)
Backed out changeset e19c4c4eac51 (bug 1267887)
2016-06-28 21:40:09 -07:00
Ralph Giles 711f285ffd Bug 1267887 - Support Opus in mp4 with the rust demuxer. r=kinetik
Update C++ caller code for for mp4parse 0.4.0. Now feeds data through
a read callback in mp4parse_io.

Hook up the GetTrackInfo method to the rust demuxer results.

Prefer rust demuxer only if there's an Opus track.

Fill in audio and video track metadata. Pass audio codec_specific_config
to the decoder.

With this change sample.mp4 plays.

MozReview-Commit-ID: F8xwWPZZBfZ
2016-06-28 20:33:32 -07:00
Dan Glastonbury 1b2a65cfc3 Bug 1281632 - P1: Extract creation parameters and pass via struct. r=gerald
Extract all the parameters passed to CreateAudioDecoder/CreateVideoDecoder and
place them into a structure that is passed down to the creation of the actual
decoder, where the relevant parameters can be extracted.

This makes it easier to add more arguments to the Create*Decoder calls in future.

MozReview-Commit-ID: 9LZlcfRVz6A

--HG--
extra : rebase_source : ce3f0c7d0784b96267728697ff5d535ccb8ee7a6
2016-06-28 17:56:55 +12:00
Jonathan Watt b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Edwin Flores bd172274b3 Bug 845095 - Enable media dormancy everywhere for MP4 and Media Source playback - r=jya
--HG--
extra : rebase_source : 40a9429fb4e1490d6afaf25fbb7466fc4beaaaf2
2016-05-31 21:08:00 +02:00
JW Wang 1f7b60118b Bug 1275807 - Remove remaining use of FlushableTaskQueue. r=cpearce.
MozReview-Commit-ID: L12wxh7GPIr

--HG--
extra : rebase_source : 745ae8240326246050513c96300eba1e32d84130
2016-05-24 16:48:26 +08:00
Jean-Yves Avenard cc8c8725df Bug 1271491: P6. Remove the need to call PDMFactory::Init(). r=cpearce
PDMFactory will automatically load and initialize the required frameworks upon first use.
Also fix constness of some methods.

MozReview-Commit-ID: HFbvTMRFAey

--HG--
extra : rebase_source : ce3e7ff6cefc35b32674c9a81c3488fe21b48626
2016-05-12 18:54:35 +10:00
Jean-Yves Avenard 4dcc0f9b5b Bug 1243538: P1. Make MediaInfo::mImage an nsIntSize again and introduce a mImageRect member. r=mattwoodrow
MozReview-Commit-ID: 3iVCA1b7bHc
2016-04-20 17:43:35 +10:00
Gerald Squelart ecfb205472 Bug 1248507 - p1. Pass DecoderDoctorDiagnostics to PDMs&more - r=jya
Pass declared-but-yet-undefined DecoderDoctorDiagnostics pointer to various
routines that contribute to deciding if a media format can be played, and
those that create decoders.

Points where a DecoderDoctorDiagnostics can be injected are currently marked
with "/* DecoderDoctorDiagnostics* */ nullptr", and some will be used in
following patches.

MozReview-Commit-ID: 7u37bvY4CpW
2016-04-19 17:36:19 +10:00
Matt Woodrow 231647cca3 Bug 1248496 - Show which DXVA API is being used in about:support. r=jya 2016-02-18 15:41:11 +13:00
Jean-Yves Avenard edda0a3356 Bug 1254858: P8. Change default preferences value if prefs don't exist. r=kentuckyfriedtakahe
When running gtest, none of the prefs actually exist, so we end up having most PDMs disabled.

MozReview-Commit-ID: GNjhXtjKpGC

--HG--
extra : rebase_source : 3e5a931dd49c798cff9792e3a1c4ff2e5afc4a83
2016-03-10 15:04:23 +11:00
Jean-Yves Avenard cbd1ad11d5 Bug 1254311: [mp4] Ignore empty raw sample. r=cpearce
Some decoders (wmf) will return an error if fed an empty sample.

MozReview-Commit-ID: 2FF0cy41zYV
2016-03-09 13:32:26 +11:00
Jean-Yves Avenard 52d9bcf3d6 Bug 1244523: P1. Allow video/quicktime mimetype. r=cpearce
It's just like video/mp4
2016-02-02 16:27:46 +11:00
Jean-Yves Avenard 81ef536abd Bug 1212323: P2. Have IsVideoAccelerated return a Promise. r=cpearce 2016-01-30 12:52:35 +11:00
Jean-Yves Avenard ba68bee3c5 Bug 1212323: P1. Use a 640x360 SPS to test for HW decoding support. r=cpearce
Some machines will always use software decoding for a 64x64 videos.
2016-01-30 12:52:35 +11:00
Wes Kocher 4c1c8ea235 Backed out 3 changesets (bug 1212323) for WinXP debug crashes CLOSED TREE
Backed out changeset 7215ed1cfcef (bug 1212323)
Backed out changeset bd7599dcee0d (bug 1212323)
Backed out changeset 228267494daa (bug 1212323)

--HG--
extra : commitid : C8ZtL47yMj1
2016-01-29 10:30:16 -08:00
Jean-Yves Avenard 25609311a1 Bug 1212323: P2. Have IsVideoAccelerated return a Promise. r=cpearce 2016-01-29 15:45:42 +11:00
Jean-Yves Avenard ce37c50788 Bug 1212323: P1. Use a 640x360 SPS to test for HW decoding support. r=cpearce
Some machines will always use software decoding for a 64x64 videos.
2016-01-29 15:45:41 +11:00
Jean-Yves Avenard 58d924fab9 Bug 1236703: P2. Add methods to retrieve debugging data on plain readers. r=jwwang 2016-01-20 09:50:26 +11:00
Jean-Yves Avenard fcaa513106 Bug 1240411: P4. Clean up readers headers. r=cpearce
Remove redundant virtual keyword and add missing override if any.
2016-01-19 19:47:31 +11:00
Nathan Froyd ffeb7c7fe3 Bug 1229963 - use UniquePtr<T[]> instead of nsAutoArrayPtr<T> in dom/media/; r=cpearce 2015-12-02 18:07:59 -05:00
Jean-Yves Avenard bb0aacbf79 Bug 1227396: P13. Refactor how MP4 buffered range is calculated. r=cpearce
We now use an index of samples made of block of samples delimited by keyframes. The search is performed using a binary search. This allows to quickly find which blocks are found within the media cache.
On a 8 core mac pro, this leads to a 67% improvement on CPU time spent playing a long MP4 video (from 112s CPU to 45s CPU)

The optimisation is only possible if all mp4 data chunks are continuous (which they almost always are)
2015-11-30 11:29:37 +11:00
Jean-Yves Avenard fdf27ff498 Bug 1227396: P9. Remove unnecessary monitor. r=cpearce
The Index and MoofParser are now only used via the MP4Demuxer which is guaranteed to always be called on the same taskqueue.
2015-11-30 11:29:35 +11:00
Jean-Yves Avenard c8c275cee2 Bug 1227396: P7. Replace nsTArray<MediaByteRange> with dedicated MediaByteRangeSet object. r=cpearce 2015-11-30 11:29:34 +11:00
sajitk 582e1a55fa Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian 2015-11-15 14:49:01 +01:00
Wes Kocher f3a9eb2a26 Backed out changeset 1e5f3d1151d6 (bug 1219480) for cpp unittest bustage CLOSED TREE
--HG--
extra : commitid : BMVKq6cPeho
2015-11-11 09:36:56 -08:00
sajitk 3cbe348cdd Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian
--HG--
extra : rebase_source : c73098485fa005d914304fb6e7f8eba3c15e66dc
2015-11-11 06:52:00 +01:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Jean-Yves Avenard 6db8b43cba Bug 1213176: P1. Remove most MediaFormatReader dependencies on its MediaDecoder parent. r=jwwang
The LayersBackend can be defined at construction time, however if a parent MediaDecoder exists, the value will be overwritten by the MediaDecoderOwner value.

--HG--
extra : rebase_source : fefad83560d5bfa2aee9f665fe138397eb390019
2015-10-15 02:04:00 +02:00
JW Wang e868f91ff6 Bug 1214989. Part 2 - add MediaDecoderOwner to Clone() and overrides. r=gerald. 2015-10-15 11:37:47 +08:00
JW Wang e470e1616d Bug 1214989. Part 1 - add MediaDecoderOwner to the constructors of MediaDecoder and sub-classes. r=gerald. 2015-10-15 11:36:21 +08:00
Chris Pearce 83fed249a0 Bug 1214932 - Remove fragmented-mp4 from media prefs. r=jya 2015-10-15 14:51:28 +13:00
John Lin 7e1e7cf2f4 Bug 1210232 - Let MP4Decoder handle 3GPP files on B2G. r=cpearce 2015-10-11 22:14:00 +02:00
Jean-Yves Avenard 628247fc4e Bug 1212176: Remove arguments passed to MediaDataDemuxer::NotifyDataArrived API. r=cpearce
Be more explicit on what it does and how it should be used.
2015-10-08 20:47:21 +11:00
Jean-Yves Avenard c5052e863a Bug 1206977: P14. Remove obsolete / redundant code. r=cpearce 2015-10-08 00:34:48 +11:00
Jean-Yves Avenard e4ea0dae9d Bug 1206977: P12. Properly shutdown all created test decoders. r=cpearce 2015-10-08 00:34:47 +11:00
Jean-Yves Avenard d9cf3168c4 Bug 1206977: P11. Don't rely on SupportsMimeType to determine if a track can be played. r=cpearce
The PDMFactory will run more accurate checks based on the TrackInfo object and will fail to create a decoder if the type is unsupported. So use that instead
2015-10-08 00:34:47 +11:00
Jean-Yves Avenard bfea6860dd Bug 1206977: P10. Remove redundant code. r=cpearce
The same checks are performed in the PDMFactory::SupportsMimeType
2015-10-08 00:34:46 +11:00
Jean-Yves Avenard 620a0262c9 Bug 1206977: P9. Ensure PDMs are only ever created through the PDMFactory. r=cpearce 2015-10-08 00:34:46 +11:00
Nigel Babu 1a01355c4f Backed out 16 changesets (bug 1206977, bug 1211652, bug 1211335) for linux bc7 bustage ON A CLOSED TREE
Backed out changeset 51b1b076a386 (bug 1206977)
Backed out changeset dec7c35469d1 (bug 1206977)
Backed out changeset bf9ddc78b394 (bug 1206977)
Backed out changeset 08f5cff5aa12 (bug 1206977)
Backed out changeset e4e91de99867 (bug 1206977)
Backed out changeset 696ecf2e2947 (bug 1206977)
Backed out changeset ab2d524a9b35 (bug 1206977)
Backed out changeset d66be0e4547f (bug 1206977)
Backed out changeset 64c58afbd6c1 (bug 1206977)
Backed out changeset eb10d09015e1 (bug 1206977)
Backed out changeset 042959216393 (bug 1206977)
Backed out changeset 7e0de7f62202 (bug 1206977)
Backed out changeset 3d095569f6ba (bug 1206977)
Backed out changeset 041418a07ae5 (bug 1206977)
Backed out changeset 654970da23e4 (bug 1211335)
Backed out changeset 8ba8e24a84d3 (bug 1211652)
2015-10-07 13:43:39 +05:30
Jean-Yves Avenard c3e24823e8 Bug 1206977: P14. Remove obsolete / redundant code. r=cpearce 2015-10-07 16:40:31 +11:00
Jean-Yves Avenard 6f051abaa4 Bug 1206977: P12. Properly shutdown all created test decoders. r=cpearce 2015-10-07 16:40:30 +11:00
Jean-Yves Avenard b4365d5d77 Bug 1206977: P11. Don't rely on SupportsMimeType to determine if a track can be played. r=cpearce
The PDMFactory will run more accurate checks based on the TrackInfo object and will fail to create a decoder if the type is unsupported. So use that instead
2015-10-07 16:40:29 +11:00
Jean-Yves Avenard 87d89f828c Bug 1206977: P10. Remove redundant code. r=cpearce
The same checks are performed in the PDMFactory::SupportsMimeType
2015-10-07 16:40:29 +11:00
Jean-Yves Avenard 27b77f96da Bug 1206977: P9. Ensure PDMs are only ever created through the PDMFactory. r=cpearce 2015-10-07 16:40:28 +11:00
Chris Pearce 3aa7323650 Bug 1211339 Part 3 - Refuse to support video codecs inside audio mime types. r=jya 2015-10-06 16:53:03 +13:00
Chris Pearce aaf1f72ba5 Bug 1211339 Part 2 - Make MP4Decoder::CanHandleMediaType() check all codecs are supported by a PDM before reporting support. r=jya 2015-10-06 16:52:58 +13:00
Carsten "Tomcat" Book 239ba800f1 Backed out 2 changesets (bug 1211339) for m3 test failures on a CLOSED TREE
Backed out changeset 91bff7bc67d7 (bug 1211339)
Backed out changeset d34f694b13cf (bug 1211339)
2015-10-05 14:34:44 +02:00
Chris Pearce 83d11d9363 Bug 1211339 Part 2 - Make MP4Decoder::CanHandleMediaType() check all codecs are supported by a PDM before reporting support. r=jya 2015-10-05 22:39:10 +13:00
Chris Pearce d4ed7efef9 Bug 1207019 - Remove WMF availability check in MediaKeySystemAccess requests. r=edwin 2015-10-05 15:03:48 +13:00
Jean-Yves Avenard e86d2aa8a5 Bug 1209806: P2. Initialize PDM before attempting to use it. r=gerald 2015-10-01 19:05:48 +10:00
JW Wang 489900ad10 Bug 1208922. Part 4 - remove AbstractMediaDecoder::GetCDMProxy() and devirtualize MediaDecoder::SetCDMProxy(). r=cpearce. 2015-09-27 18:59:08 +08:00
Gerald Squelart 9c5368f80d Bug 1200326 - p5 - Moved fallible code from MP4TrackDemuxer constructor to caller - r=jya
In MP4TrackDemuxer constructor, getting the track info and indices could potentially fail, triggering crashing assertions.
The fallible work is now done before calling the constructor, and if it fails a nullptr is returned, which is correctly handled in MediaFormatReader.
Also reordered some MP4TrackDemuxer members for more natural construction.
2015-09-23 00:47:00 +02:00
Jean-Yves Avenard 3f3757ce78 Bug 1207429: P2. Enable FFmpeg by default if available. r=kentuckyfriedtakahe
By default we only use libav 9 or FFmpeg 1.2 if found on the system.

If media.fragmented-mp4.ffmpeg.enabled is set, will allow use of libav 0.7 and ffmpeg 0.8 or later.
2015-09-27 15:19:28 +10:00
Chris Pearce e9dd5ecb69 Bug 1208349 - Ensure we query PDM whether it supports MP4 before assuming it supports MP4. r=jya 2015-09-25 23:17:50 +12:00
Carsten "Tomcat" Book 1c9015e1a5 Backed out 1 changesets (bug 1208349) for m2 and w2/3 test failures
Backed out changeset 188a6e9a86a0 (bug 1208349)
2015-09-25 11:54:49 +02:00
Chris Pearce af04bc849a Bug 1208349 - Ensure we query PDM whether it supports MP4 before assuming it supports MP4. r=jya 2015-09-25 18:38:22 +12:00
Jean-Yves Avenard 023ff53978 Bug 1204757: P1. Update MediaDataDemuxer::Init() behavior. r=cpearce
A MediaDataDemuxer is now not to resolve the init promise until it has all the metadata.
Except MediaSource, all demuxers would be doing blocking read to scan for the metadata, and having partial metadata would be an error.
For MediaSource, we pass the NotifyDataArrived message which will cause the MediaSourceDemuxer to re-attempt to search for the metadata.

When used within MediaSource's TrackBuffersManager, a demuxer will never be created until we have received a complete init segment (this task is performed by the various ContainerParsers)
2015-09-16 18:14:17 +10:00
Jean-Yves Avenard 33e5945370 Bug 1204407: P2. Remove no longer required MediaDataDemuxer APIs. r=cpearce 2015-09-16 18:14:15 +10:00
Jean-Yves Avenard 71c5c9a7bf Bug 1204419: P4. Remove MediaDataDemuxer API no longer used. r=cpearce 2015-09-16 18:14:12 +10:00
Nicholas Nethercote f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Roman Reiss 70689c0fde Bug 875573 - Add video/x-m4v mime type. r=kentuckyfriedtakahe 2015-08-21 20:52:19 +02:00
Jean-Yves Avenard 1a98b5d4e0 Bug 1196398: [mp4] Do not allocate memory spanning across ftyp and moov atom. r=kentuckyfriedtakahe
A typical non-fragmented mp4 would have the ftyp atom located at the beginning of the mp4 and the moov at the end. We would to calculate the location of the metadata by spanning the byte range of the two atoms.
As such, we would typically allocate an amount of memory equivalent to the size of the mp4.

Instead we now reconstruct the metadata to only have the ftyp and moov atoms contiguously.
2015-08-21 15:35:31 +10:00
Jean-Yves Avenard af3e91f01a Revert "Bug 1196398: [mp4] Do not allocate memory spanning across ftyp and moov atom. r=kentuckyfriedtakahe"
This reverts commit 73156610be5f
2015-08-21 14:48:23 +10:00
Jean-Yves Avenard 600ae4f2bf Bug 1196398: [mp4] Do not allocate memory spanning across ftyp and moov atom. r=kentuckyfriedtakahe
A typical non-fragmented mp4 would have the ftyp atom located at the beginning of the mp4 and the moov at the end. We would to calculate the location of the metadata by spanning the byte range of the two atoms.
As such, we would typically allocate an amount of memory equivalent to the size of the mp4.

Instead we now reconstruct the metadata to only have the ftyp and moov atoms contiguously.
2015-08-21 13:10:34 +10:00
Wes Kocher 90a0825d69 Backed out changeset f51c32dbea00 (bug 875573) for test_can_play_type_mpeg.html orange
--HG--
extra : rebase_source : ddc4996ce1579c348cea1b87e05e1c7f938fa918
2015-08-20 16:19:39 -07:00
Roman Reiss ca5609da1f Bug 875573 - Add video/x-m4v mime type to MP4Decoder r=kentuckyfriedtakahe 2015-08-20 14:14:11 -07:00
John Lin 8203f9fd80 Bug 1186845 - Let MP4Decoder handle 3GPP files if Gonk PDM is available. r=cpearce
--HG--
extra : rebase_source : 22a376b9b4724169b2e5661aa4c724cd6303fa50
2015-08-17 15:12:43 -07:00
Matt Woodrow 169ab22517 Bug 1178098 - Report why DXVA initialization failed to about:support. r=cpearce
--HG--
extra : rebase_source : 976baee04db89d0808b8fc494108e01aa163d402
2015-07-13 16:12:23 -04:00
Jean-Yves Avenard 9baf704f1b Bug 1190238: P3. Do not loop calling MediaResource::Read or ReadAt, let MediaResourceIndex do it for us. r=cpearce
This allows to remove a fair amount of duplicated logic.
Most of it is in obsoleted code though.
2015-08-13 15:27:10 +10:00
Alfredo Yang 8c59fda383 Bug 1146086: use promise to Init() in PlatformDecoderModule. r=jya,r=cpearce 2015-08-11 14:09:12 +10:00
Jan Gerber 833434e663 Bug 1185792: [webm] P1. Make MediaInfo.mFrame nsIntRect for visible area. r=jya 2015-08-07 19:31:38 +10:00
Makoto Kato 50e851b877 Bug 830801 - Part 2. Remove NOMINMAX define from moz.build. r=mshal 2015-08-03 10:07:09 +09:00
Jean-Yves Avenard 8204ebce53 Bug 1184826: P1. Mark MPEG-2 AAC as supported. r=cpearce 2015-07-22 14:22:53 +10:00
Alfredo Yang 8393a2233e Bug 1163486 - Remove MP4Reader. r=jya 2015-07-21 02:48:00 +02:00
Carsten "Tomcat" Book de3872af29 Backed out changeset 1704ea727e81 (bug 1163486) for at least b2g bustage 2015-07-21 08:42:54 +02:00
Alfredo Yang 23c919b20e Bug 1163486 - Remove MP4Reader. r=jya 2015-07-20 19:25:00 +02:00
Bobby Holley 04eaf4c167 Bug 1184634 - Move various includes into the mozilla namespace. r=gerald
I did my a quick best-effort pass to fix up the most egregious ordering
problems. I left some big pre-existing messes alone.
2015-07-16 22:23:18 -07:00
Bobby Holley 997543e6ba Bug 1184634 - Rename MediaTaskQueue to TaskQueue. r=gerald 2015-07-16 22:23:06 -07: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
Jean-Yves Avenard 3db4cce1f9 Bug 1169473: Re-add H264 telemetry. r=miketaylr 2015-07-16 14:31:52 +10:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Jean-Yves Avenard 9e0b01d33a Bug 1181894: Always create a PlatformDecoderModule in CDMWrapper. r=cpearce
Not all tracks may be encrypted, as such we need a default PDM in order to decode non-encrypted data.
2015-07-09 16:18:05 +10:00