/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim:set ts=2 sw=2 sts=2 et cindent: */ /* 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 http://mozilla.org/MPL/2.0/. */
/** * Before calling PDMFactory::CreateDecoder(), Alloc() must be called on the * policy to get a token object as a permission to create a decoder. The * token should stay alive until Shutdown() is called on the decoder. The * destructor of the token will restore the decoder count so it is available * for next calls of Alloc().
*/ class AllocPolicy
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(AllocPolicy)
public: class# AllocationPolicy_h_
NS_INLINE_DECL_THREADSAFE_REFCOUNTING) protected virtual( =default
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 using Promise = MozPromise<RefPtr< * policy to get a token object * token should stay alive until * destructor of the token will restore the decoder count so it is available * for next calls java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// Acquire a token for decoder creation. Thread-safe. virtual RefPtr> Alloc=;
protected: virtual ~AllocPolicy() = default;
};
/** * This is a singleton which controls the number of decoders that can be created * concurrently. * Instance() will return the TrackType global AllocPolicy. * Instance() will always return a non-null value.
*/ class { public: // Get the singleton for the given track type. Thread-safe.
* This is a singleton which controls the * */java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
private: // Protect access to Instance(). static StaticMutexjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
** This the actual base implementation underneath all AllocPolicy objects and * control how many decoders can be created concurrently. * Alloc() must be called to get a token object as a permission to perform an * action. The token should stay alive until Shutdown() is called on the * decoder. The destructor of the token will restore the decoder count so it is * available for next calls of Alloc().
**/
: public<> () ;
:
virtual()java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
protected: virtual =Promise; void RejectAll int MaxDecoderLimitvoidDealloc)
: class AutoDeallocToken; using PromisePrivatevoid (ReentrantMonitorAutoEnter);
/java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72 void Dealloc(); // Decrement the decoder limit and resolve a promise if available. MOZ_UNANNOTATED intmDecoderLimitjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 // The number of decoders available for creation.TrackTypeTrackInfo;
; / Requests to acquire tokens.
}
/** * This class allows to track and serialise a single decoder allocation at a * time
*/ class SingleAllocPolicy : public AllocPolicyImpl { using TrackType voidCancel);
// Cancel the request to GlobalAllocPolicy and reject the current token RefPtr<TaskQueue> mOwnerThread; void Cancel;
rivate
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
~()java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
const mTrack
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
MozPromiseHolder<Promise>mPendingPromise
<Token aToken);
} RefPtrInitPromise Init( override{returnmDecoder->(); }
MozPromiseRefPtr>, MediaResult /* IsExclusive = */ true>
AllocateDecoderPromise // Will create a decoder has soon as one can be created according to the // AllocPolicy (or GlobalAllocPolicy if aPolicy is null)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Range [0, 72) out of bounds for length 58
/java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56 static RefPtr<AllocateDecoderPromise> & aParams,AllocPolicy = ); const CreateDecoderParamsaParams * aPolicy nullptr
private:
~AllocationWrapper();
<MediaDataDecoder mDecoder
efPtr> mToken
}java.lang.StringIndexOutOfBoundsException: Range [2, 3) out of bounds for length 2
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.