author Chris Pearce <>
Wed, 15 Jan 2014 16:13:54 +1300
changeset 180451 eb70f67d384a2de272246337052f7225ee84ed4e
parent 180254 8af7fbd99315d850be7011cbbcd511001eafee17
child 181268 17c463691232faa0b4c1c55dc38662b42c70ab09
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.

# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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


        DIRS += ['config']
    DIRS += ['js/src']

        add_tier_dir('base', 'build/clang-plugin', external=True)

    add_tier_dir('base', ['config', 'build', 'probes', 'python'])

    if not CONFIG['LIBXUL_SDK']:
        add_tier_dir('base', ['mfbt'])

        if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gonk'):
            if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] <= '18':
                add_tier_dir('base', ['other-licenses/android'])

        if CONFIG['MOZ_MEMORY']:
            add_tier_dir('base', ['memory'])

        if not CONFIG['MOZ_NATIVE_ZLIB']:
            add_tier_dir('base', ['modules/zlib'])

        add_tier_dir('base', ['mozglue', 'memory/mozalloc'])

    add_tier_dir('precompile', 'xpcom/xpidl')

    # Bring in the configuration for the configured application.
    include('/' + CONFIG['MOZ_BUILD_APP'] + '/app.mozbuild')