Both the WebM and mp4 demuxers need to pack this value into
the the CodecSpecificConfig, so move the shared implementation
to the OpusDecoder, near where it is unpacked so the two can
be kept in sync.
MozReview-Commit-ID: 2pQaruJoAWr
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
This enables callers to specify a way to determine the correct window to
dispatch the PluginCrashed event to should the GMP actor crash.
We need a way to determine the correct window at crash time, as the GMP's
window can change at runtime. For example, if the GMP is being used for
unencrypted decoding, the <video> element can be moved to a new browser window
at runtime.
Note: I don't handle disconnecting the GMPCrashHandlers in this patch; we do
delete the GMPCrashHandlers in this patch when their associated GMP crashes, and
in the next patch we handle disconnecting GMPCrashHandlers in the case where
we don't crash.
MozReview-Commit-ID: DrwcZAB6Ys0
--HG--
extra : rebase_source : 8da188b68456914773e6adae8cbccd6bf6a6e7a7
This means we expose fewer constructors, and the definition is in the .cpp file
so changing it won't cause lots of things to recompile.
MozReview-Commit-ID: DY7UCYfOb25
--HG--
extra : rebase_source : b753c87d00cafc897749d9d7a550ee0cccb59ddf
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
This can be used to test Decoder Doctor on Windows, but disabling WMF through
prefs, to trigger an Decoder Doctor infobar.
MozReview-Commit-ID: 1aRk111VFO7
avcodec_free_frame was incorrectly looked in libavuti. On Linux where this code is used, it makes no difference really but for clarity sake.
MozReview-Commit-ID: DC1WJAAKiE4
An AVFrame has a different size between FFmpeg 0.10 and LibAV 0.8 though both have the same version number.
Forgot to add the fixes (twice now :( )
MozReview-Commit-ID: DR3b3fqSngh
WMF is very strict with the AudioSpecificConfig passed on and will error if an unknown extension is found. Attempt to detect those extensions and remove them if necessary.
MozReview-Commit-ID: KbooPiHmDbN
--HG--
extra : rebase_source : 849628daae33e0dca6ac3735dd8abc05e7554937
This enables us to use the existing D3D11 blacklist code to create a D3D9
blacklist by just passing in a new blacklist cache.
MozReview-Commit-ID: GyQ8o8U1jwg
--HG--
extra : rebase_source : e0f1b99d9129c6a8bf6ca70001593194291a83b1
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
Amendment to bug 1244410. If no frames had been output yet, last dts would have been INT64_MIN.
MozReview-Commit-ID: LOdWLpyuLYm
--HG--
extra : rebase_source : f842d2214b1e82f3b069e843157b95d87e62fa01