Commit Graph

68 Commits

Author SHA1 Message Date
Anthony Jones
9b31f46826 Bug 1039128 - Fix drain of video queue 2014-07-25 14:57:25 +12:00
Mike Hommey
d10b15b035 Bug 1041860 - Avoid setting FINAL_LIBRARY to libraries that further use a FINAL_LIBRARY. r=mshal 2014-07-23 08:37:51 +09:00
Chris Pearce
69ac3d284b Bug 1041401 - Build WMF PDM in its own translation unit in unified builds. r=padenot 2014-07-21 20:57:03 +12:00
Chris Pearce
7011a7cce8 Bug 973710 - Fix compile errors for pedantic SOB compilers and WAE. r=bustage 2014-07-17 10:47:50 +12:00
Chris Pearce
70c1ecdffe Bug 973710 - Drain MP4Reader's decoders on EOS. r=kinetik 2014-07-17 10:37:17 +12:00
Anthony Jones
6a6b83b4f7 Bug 1038971 - Fix libav frame ordering; r=edwin 2014-07-16 11:54:26 +12:00
Octoploid
84be337f08 Bug 1035092 - "bool functions shouldn't return nullptr" [r=sfink]
--HG--
extra : rebase_source : 0a0f2549b0a34c759384d8293f6227e112610147
2014-07-12 06:26:00 -07:00
Anthony Jones
c1f7c9decd Bug 1035059 - Add input padding for libav; r=edwin 2014-07-11 18:43:59 +12:00
Anthony Jones
8c31b563c1 Bug 1035059 - Fix releasing of libav frames; r=edwin 2014-07-11 18:43:57 +12:00
Anthony Jones
86cdad1007 Bug 1034444 - Make MP4Reader::GetBuffered() accurate; r=edwin,cpearce 2014-06-02 17:38:04 +02:00
Chris Pearce
4678b0a7b3 Bug 1016148 - Ensure we mark IMFSamples after a flush as discontinuities, so that A/V sync works after seek in MP4Reader. r=padenot 2014-07-10 09:25:14 +12:00
Chris Pearce
d3b4671c04 Bug 1016148 - Rename WMFOutputSource and friends to MFTManager, since it now handles input as well as output. r=padenot
--HG--
rename : content/media/fmp4/wmf/WMFAudioOutputSource.cpp => content/media/fmp4/wmf/WMFAudioMFTManager.cpp
rename : content/media/fmp4/wmf/WMFAudioOutputSource.h => content/media/fmp4/wmf/WMFAudioMFTManager.h
rename : content/media/fmp4/wmf/WMFVideoOutputSource.cpp => content/media/fmp4/wmf/WMFVideoMFTManager.cpp
rename : content/media/fmp4/wmf/WMFVideoOutputSource.h => content/media/fmp4/wmf/WMFVideoMFTManager.h
2014-07-10 09:25:10 +12:00
Anthony Jones
b423c3a5bb Bug 1033137 - Fix image lifetime issues in libav backend; r=edwin 2014-07-03 14:43:17 +12:00
Anthony Jones
e7a13d6822 Bug 1033137 - Remove extra frame reordering in libav; r=edwin 2014-07-03 14:43:15 +12:00
Anthony Jones
06268ce2d9 Bug 1015829 - Runtime binding for libav 53, 54, 55; r=edwin
--HG--
rename : content/media/fmp4/ffmpeg/include/README_mozilla => content/media/fmp4/ffmpeg/README_mozilla
rename : content/media/fmp4/ffmpeg/include/COPYING.LGPLv2.1 => content/media/fmp4/ffmpeg/libav53/include/COPYING.LGPLv2.1
rename : content/media/fmp4/ffmpeg/include/libavcodec/avcodec.h => content/media/fmp4/ffmpeg/libav53/include/libavcodec/avcodec.h
rename : content/media/fmp4/ffmpeg/include/libavcodec/avfft.h => content/media/fmp4/ffmpeg/libav53/include/libavcodec/avfft.h
rename : content/media/fmp4/ffmpeg/include/libavcodec/dxva2.h => content/media/fmp4/ffmpeg/libav53/include/libavcodec/dxva2.h
rename : content/media/fmp4/ffmpeg/include/libavcodec/old_codec_ids.h => content/media/fmp4/ffmpeg/libav53/include/libavcodec/old_codec_ids.h
rename : content/media/fmp4/ffmpeg/include/libavcodec/opt.h => content/media/fmp4/ffmpeg/libav53/include/libavcodec/opt.h
rename : content/media/fmp4/ffmpeg/include/libavcodec/vaapi.h => content/media/fmp4/ffmpeg/libav53/include/libavcodec/vaapi.h
rename : content/media/fmp4/ffmpeg/include/libavcodec/vda.h => content/media/fmp4/ffmpeg/libav53/include/libavcodec/vda.h
rename : content/media/fmp4/ffmpeg/include/libavcodec/vdpau.h => content/media/fmp4/ffmpeg/libav53/include/libavcodec/vdpau.h
rename : content/media/fmp4/ffmpeg/include/libavcodec/version.h => content/media/fmp4/ffmpeg/libav53/include/libavcodec/version.h
rename : content/media/fmp4/ffmpeg/include/libavcodec/xvmc.h => content/media/fmp4/ffmpeg/libav53/include/libavcodec/xvmc.h
rename : content/media/fmp4/ffmpeg/include/libavformat/avformat.h => content/media/fmp4/ffmpeg/libav53/include/libavformat/avformat.h
rename : content/media/fmp4/ffmpeg/include/libavformat/avio.h => content/media/fmp4/ffmpeg/libav53/include/libavformat/avio.h
rename : content/media/fmp4/ffmpeg/include/libavformat/version.h => content/media/fmp4/ffmpeg/libav53/include/libavformat/version.h
rename : content/media/fmp4/ffmpeg/include/libavutil/adler32.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/adler32.h
rename : content/media/fmp4/ffmpeg/include/libavutil/aes.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/aes.h
rename : content/media/fmp4/ffmpeg/include/libavutil/attributes.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/attributes.h
rename : content/media/fmp4/ffmpeg/include/libavutil/audio_fifo.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/audio_fifo.h
rename : content/media/fmp4/ffmpeg/include/libavutil/audioconvert.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/audioconvert.h
rename : content/media/fmp4/ffmpeg/include/libavutil/avassert.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/avassert.h
rename : content/media/fmp4/ffmpeg/include/libavutil/avconfig.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/avconfig.h
rename : content/media/fmp4/ffmpeg/include/libavutil/avstring.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/avstring.h
rename : content/media/fmp4/ffmpeg/include/libavutil/avutil.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/avutil.h
rename : content/media/fmp4/ffmpeg/include/libavutil/base64.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/base64.h
rename : content/media/fmp4/ffmpeg/include/libavutil/blowfish.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/blowfish.h
rename : content/media/fmp4/ffmpeg/include/libavutil/bprint.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/bprint.h
rename : content/media/fmp4/ffmpeg/include/libavutil/bswap.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/bswap.h
rename : content/media/fmp4/ffmpeg/include/libavutil/common.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/common.h
rename : content/media/fmp4/ffmpeg/include/libavutil/cpu.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/cpu.h
rename : content/media/fmp4/ffmpeg/include/libavutil/crc.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/crc.h
rename : content/media/fmp4/ffmpeg/include/libavutil/dict.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/dict.h
rename : content/media/fmp4/ffmpeg/include/libavutil/error.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/error.h
rename : content/media/fmp4/ffmpeg/include/libavutil/eval.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/eval.h
rename : content/media/fmp4/ffmpeg/include/libavutil/fifo.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/fifo.h
rename : content/media/fmp4/ffmpeg/include/libavutil/file.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/file.h
rename : content/media/fmp4/ffmpeg/include/libavutil/imgutils.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/imgutils.h
rename : content/media/fmp4/ffmpeg/include/libavutil/intfloat.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/intfloat.h
rename : content/media/fmp4/ffmpeg/include/libavutil/intfloat_readwrite.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/intfloat_readwrite.h
rename : content/media/fmp4/ffmpeg/include/libavutil/intreadwrite.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/intreadwrite.h
rename : content/media/fmp4/ffmpeg/include/libavutil/lfg.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/lfg.h
rename : content/media/fmp4/ffmpeg/include/libavutil/log.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/log.h
rename : content/media/fmp4/ffmpeg/include/libavutil/lzo.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/lzo.h
rename : content/media/fmp4/ffmpeg/include/libavutil/mathematics.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/mathematics.h
rename : content/media/fmp4/ffmpeg/include/libavutil/md5.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/md5.h
rename : content/media/fmp4/ffmpeg/include/libavutil/mem.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/mem.h
rename : content/media/fmp4/ffmpeg/include/libavutil/old_pix_fmts.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/old_pix_fmts.h
rename : content/media/fmp4/ffmpeg/include/libavutil/opt.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/opt.h
rename : content/media/fmp4/ffmpeg/include/libavutil/parseutils.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/parseutils.h
rename : content/media/fmp4/ffmpeg/include/libavutil/pixdesc.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/pixdesc.h
rename : content/media/fmp4/ffmpeg/include/libavutil/pixfmt.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/pixfmt.h
rename : content/media/fmp4/ffmpeg/include/libavutil/random_seed.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/random_seed.h
rename : content/media/fmp4/ffmpeg/include/libavutil/rational.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/rational.h
rename : content/media/fmp4/ffmpeg/include/libavutil/samplefmt.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/samplefmt.h
rename : content/media/fmp4/ffmpeg/include/libavutil/sha.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/sha.h
rename : content/media/fmp4/ffmpeg/include/libavutil/time.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/time.h
rename : content/media/fmp4/ffmpeg/include/libavutil/timecode.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/timecode.h
rename : content/media/fmp4/ffmpeg/include/libavutil/timestamp.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/timestamp.h
rename : content/media/fmp4/ffmpeg/include/libavutil/version.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/version.h
rename : content/media/fmp4/ffmpeg/include/libavutil/xtea.h => content/media/fmp4/ffmpeg/libav53/include/libavutil/xtea.h
2014-07-03 14:43:13 +12:00
Ehsan Akhgari
83726d4e9c Bug 1031349 - Fix the forward declaration of MP4Sample in WMFMediaDataDecoder.h; r=cpearce 2014-06-27 17:50:41 -07:00
Michael Shuen
ed4e30ba93 Bug 1029251 - MP4Reader::Flush should grab lock in the right order. r=kinetik 2014-06-26 08:31:00 +02:00
Eric Phan
661c2e8d55 Bug 1015985 - Set decoder seekable members outside of ReadMetadata by StateMachine. r=cpearce 2014-06-23 22:08:34 +12:00
Ralph Giles
79b23c4048 Bug 1019291 - Construct Annex B samples in the decoder. r=cpeace
Move Annex B sample formatting from the demuxer to a
static utility function. Return NAL unit syntax
samples by default, since more platforms prefer to
unpack the AVCC data themselves.

Pass the raw AVCC payload to ffmpeg through its extradata
field. It can handle either sample format, expecting one or
the other depending on whether extradata is present.

Pass input samples through a new WMFOutputSource::Input
method. Save a reference to the VideoDecoderConfig in the
WFMVideoOutputSource and use it to convert samples to
Annex B before forwarding them to the MFTDecoder.
2014-06-19 15:59:00 -07:00
Birunthan Mohanathas
f475f7189b Bug 1026535 - Fix mismatched class/struct tags. r=ehsan 2014-06-18 17:57:51 -07:00
Chris Pearce
21926cafc3 Bug 1022468 - Detect EOS in MP4Stream::ReadAt(). r=kentuckyfriedtakahe 2014-06-11 10:53:41 +12:00
Chris Pearce
b6045ec58d Bug 1022467 - Proxy destruction of WMFVideoOutputSource's DXVA2Manager to main thread. r=padenot 2014-06-11 10:53:21 +12:00
Anthony Jones
9ec64dde9b Bug 1016150 - Fix ffmpeg; r=cpearce 2014-06-09 18:07:44 +12:00
Anthony Jones
0caa8d383f Bug 908503: Change to stagefright demuxer; r=cpearce
Bug 908503: Build config changes for libstagefright demuxer; r=glandium
Bug 908503: Remove Chrome demuxer; r=cpearce
Bug 908503: Add conversion to Annex B; r=cpearce
2014-05-22 14:42:39 +12:00
Wes Kocher
e45f0bc2b5 Backed out 4 changesets (bug 908503) for breaking the Hamachi eng dep build on an otherwise CLOSED TREE
Backed out changeset 476cd5c9c5a9 (bug 908503)
Backed out changeset add95b3c2e7f (bug 908503)
Backed out changeset 30957caad928 (bug 908503)
Backed out changeset f6f386352d12 (bug 908503)
2014-05-12 21:18:31 -07:00
Anthony Jones
055db96ed7 Bug 908503: Remove Chrome demuxer; r=cpearce 2014-05-13 14:53:54 +12:00
Anthony Jones
899dfd3b34 Bug 908503: Change to stagefright demuxer; r=cpearce 2014-05-13 14:53:54 +12:00
Anthony Jones
ec6e39e9ce Backed out changeset 191741878690 (bug 908503) 2014-05-12 10:11:04 +12:00
Anthony Jones
37127ab1ef Backed out changeset f9b51826b2ff (bug 908503) 2014-05-12 10:11:01 +12:00
Anthony Jones
a3ab153578 Bug 908503: Remove Chrome demuxer; r=cpearce 2014-05-12 09:46:44 +12:00
Anthony Jones
4e378484d7 Bug 908503: Change to stagefright demuxer; r=cpearce 2014-05-12 09:46:18 +12:00
Anthony Jones
e7f7b4de18 Bug 908503: Clean up MP4Reader; r=cpearce 2014-05-12 09:46:00 +12:00
Kyle Huey
b6957123df Bug 991812: Remove uses of AtomicRefCounted<T> that live in Gecko. r=ehsan
--HG--
extra : rebase_source : 0d14e02c64d548fd3177681248d722683aaa87c3
2014-04-14 12:04:25 -07:00
Ryan VanderMeulen
601b02224e Backed out changesets ddbac34527fe and fa82f32d0c39 (bug 991812) for B2G bustage.
CLOSED TREE
2014-04-14 16:16:18 -04:00
Kyle Huey
acd8c16b76 Bug 991812: Remove uses of AtomicRefCounted<T> that live in Gecko. r=ehsan 2014-04-14 12:04:25 -07:00
Matt Woodrow
1decbcaebc Bug 904890 - Part 4: Enable hardware accelerated video decoding for OMTC+D3D9/11. r=cpearce 2014-04-07 15:17:41 +12:00
ekr
9153ae7f62 Bug 986885 - Fix build problem in fmp4/demuxer. r=nalexander 2014-03-22 20:27:27 -07:00
Edwin Flores
a6d5ef3904 Bug 941298 - FFmpeg PlatformDecoderModule for Linux r=doublec,cpearce 2014-03-21 19:35:15 +13:00
Edwin Flores
c8b1fc48b3 Bug 941298 - FFmpeg headers for FFmpeg PlatformDecoderModule r=doublec
While FFmpeg function signatures tend not to change between versions of FFmpeg,
class layouts can change dramatically. We include libavcodec, libavformat,
and libavutil headers here so that we don't accidentally build against the wrong
binary interface.
2014-03-21 19:35:14 +13:00
Edwin Flores
ce64f058d5 Bug 941298 - Fix errors in content/media/fmp4 on Linux with clang and --enable-warnings-as-errors r=cpearce 2014-03-21 19:35:14 +13:00
Edwin Flores
24d42ecb05 Bug 941298 - Build changes for FFmpeg PlatformDecoderModule r=gps 2014-03-21 19:35:14 +13:00
Ehsan Akhgari
f1e844fd62 Bug 935778 - Part 0.4: Spray even more MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree 2014-02-21 09:11:33 -05:00
Ms2ger
f79d93ff0a Bug 952033 - Part c: Use IntSize and IntRect in VideoData; r=roc 2014-02-09 09:04:38 +01:00
Jacek Caban
8de6e62cec Bug 962385 - Minor GCC compilation fix. 2014-02-07 12:51:34 +01:00
Chris Pearce
dc376585a3 Bug 962385 - Make WMF PlatformDecoderModule conform to new async interface. r=padenot
--HG--
rename : content/media/fmp4/wmf/WMFAudioDecoder.cpp => content/media/fmp4/wmf/WMFAudioOutputSource.cpp
rename : content/media/fmp4/wmf/WMFAudioDecoder.h => content/media/fmp4/wmf/WMFAudioOutputSource.h
rename : content/media/fmp4/wmf/WMFVideoDecoder.cpp => content/media/fmp4/wmf/WMFVideoOutputSource.cpp
rename : content/media/fmp4/wmf/WMFVideoDecoder.h => content/media/fmp4/wmf/WMFVideoOutputSource.h
2014-02-05 14:29:31 +13:00
Chris Pearce
5ded7b67dd Bug 962385 - Update PlatformDecoderModule interface to run asynchronously. r=kinetik 2014-02-05 14:29:28 +13:00
Ben Kelly
1b1cb3004d Bug 960873: Part 1: Refactor MediaDecoderReader.h into separate headers. r=cpearce 2014-02-03 20:49:21 -05:00
Benoit Jacob
67a17b1047 Bug 959448 - Convert most of LayersTypes.h to typed enums - r=nrc
find content/media dom/ipc widget/ gfx/tests gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)LAYERS_\(NONE\|BASIC\|OPENGL\|D3D9\|D3D10\|D3D11\|CLIENT\|LAST\)\($\|[^A-Za-z0-9_]\)/\1LayersBackend::LAYERS_\2\3/g'

find widget gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)BUFFER_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1BufferMode::BUFFER_\2\3/g'

find widget gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)BUFFER_\(BUFFERED\)\($\|[^A-Za-z0-9_]\)/\1BufferMode::\2\3/g'

find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)CLIP_\(DRAW\|DRAW_SNAPPED\)\($\|[^A-Za-z0-9_]\)/\1DrawRegionClip::\2\3/g'

find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)CLIP_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1DrawRegionClip::CLIP_\2\3/g'

find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SURFACE_\(NONE\|OPAQUE\|SINGLE_CHANNEL_ALPHA\|COMPONENT_ALPHA\)\($\|[^A-Za-z0-9_]\)/\1SurfaceMode::SURFACE_\2\3/g'

find gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SCALE_\(STRETCH\|SENTINEL\)\($\|[^A-Za-z0-9_]\)/\1ScaleMode::\2\3/g'

find gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SCALE_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1ScaleMode::SCALE_\2\3/g'
2014-01-23 13:26:41 -05:00
Chris Pearce
07632ef3eb Bug 959440 - Apply MP4Reader cleanups to WMFDecoderModule. r=padenot
Update WMFDecoderModule and friends to reflect changes to PlatformDecoderModule
interface in previous patch.
2014-01-15 16:14:15 +13:00
Chris Pearce
07243be7a1 Bug 959440 - Various cleanups in MP4Reader. r=kinetik
Change PlatformDecoderModule::Create*Decoder() to take an
mp4_demuxer::{Audio,Video}DecoderConfig parameter, instead of enumerating all
parameters. This means the platform decoders can have more data if need be,
like the AACAudioConfig.

Change MediaDataDecoder::Input() to take an nsAutoPtr<MP4Sample>&. The sample
will be deleted by the caller (MP4Reader) if Input() returns DECODE_STATUS_OK,
but if the MediaDataDecoder wants to assume responsibility of the
lifecycle of the sample (say to enqueue it), it can forget() on the
nsAutoPtr& passed in and assume responsibility.

Call PlatformDecoderModule::Create() on the decode thread. This is a step
towards making these classes decode-thread only.

Add PlatformDecoderModule::Init(), which caches the pref's we need, since
PlatformDecoderModule::Create() is no longer called on the main thread, we can
no longer access them in there.

Add Init() method to MediaDataDecoder interface. This is so that we can call
MediaDataDecoder::Shutdown() to unblock the initialization of a decoder, if
that init needs to block.

Pass LayersBackend type to WMFVideoDecoder, so it knows whether to init DXVA.
2014-01-15 16:13:54 +13:00