author Chris Pearce <>
Wed, 15 Jan 2014 16:13:54 +1300
changeset 180451 eb70f67d384a2de272246337052f7225ee84ed4e
parent 159436 45097bc3a57898f22a4f3b74f8f8cf7511f5d0a4
permissions -rw-r--r--
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.

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at

INSTALL_TARGETS += neckoconfig
neckoconfig_FILES := necko-config.h
neckoconfig_DEST = $(DIST)/include
neckoconfig_TARGET := export