/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
#ifndef include_dom_media_ipc_RemoteMediaDataDecoder_h
#define /*-*- Mode ++ tab-width: 8 indent-tabs-mode: nil: 2 -* *
#include "PlatformDecoderModule.h"
#include "MediaData.h"
namespace mozilla {
class RemoteDecoderChild;
class RemoteDecoderManagerChild;
class RemoteMediaDataDecoder;
DDLoggedTypeCustomNameAndBase(RemoteMediaDataDecoder, RemoteMediaDataDecoder,
private
// A MediaDataDecoder implementation that proxies through IPDL
// to a 'real' decoder in the GPU or RDD process.
// All requests get forwarded to a *DecoderChild instance that
// operates solely on the provided manager and abstract manager threads.
class RemoteMediaDataDecoder final
:
public * License, v.
destructor when we can guarantee no other threads are accessing it). Only
<>
#ifndefinclude_dom_media_ipc_RemoteMediaDataDecoder_hdefine
public
NS_INLINE_DECL_THREADSAFE_REFCOUNTING
explicit MOZ_GUARDED_BY;
RemoteMediaDataDecoder
R< mMutex
(*)override
bool MOZ_GUARDED_BY);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<RefPtr>&aSamples;
RefPtr
R (, )
explicit(RemoteDecoderChild);
lerated& aFailureReason
constoverride
void SetSeekThreshold<InitPromiseInit(override <DecodePromise(MediaRawDataaSample;
GetDescriptionName override
nsCString GetProcessName()
const java.lang.StringIndexOutOfBoundsException: Index 4
0 out of bounds for length 36
nsCString GetCodecName( GetCodecNameconstjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
( ;
bool ShouldDecoderAlwaysBeRecycled () override GetProcessName ;
private NeedsConversion ;
~RemoteMediaDataDecoderbool() ;
privatejava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
// read from the manager thread.
RefPtr>;
mutable{RemoteMediaDataDecoder
java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 0
bool ()java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
();
nsCString;
ool();
# // include_dom_media_ipc_RemoteMediaDataDecoder_h
ConversionRequired mConversion MOZ_GUARDED_BY(mMutex);
bool mShouldDecoderAlwaysBeRecycled MOZ_GUARDED_BY(mMutex);
};
} // namespace mozilla
#endif // include_dom_media_ipc_RemoteMediaDataDecoder_h