#include "third_party/blink/renderer/modules/breakout_box/transferred_frame_queue_underlying_source.h"
#include "base/task/sequenced_task_runner.h"
#include "media/base/audio_buffer.h"
#include "media/base/video_frame.h"
#include "third_party/blink/renderer/platform/scheduler/public/post_cross_thread_task.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
namespace blink {
template <typename NativeFrameType>
TransferredFrameQueueUnderlyingSource<NativeFrameType>::
TransferredFrameQueueUnderlyingSource(
ScriptState* script_state,
CrossThreadPersistent<FrameQueueHost> host,
scoped_refptr<base::SequencedTaskRunner> host_runner,
CrossThreadOnceClosure transferred_source_destroyed_callback)
: … { … }
template <typename NativeFrameType>
bool TransferredFrameQueueUnderlyingSource<
NativeFrameType>::StartFrameDelivery() { … }
template <typename NativeFrameType>
void TransferredFrameQueueUnderlyingSource<
NativeFrameType>::StopFrameDelivery() { … }
template <typename NativeFrameType>
void TransferredFrameQueueUnderlyingSource<
NativeFrameType>::ContextDestroyed() { … }
template <typename NativeFrameType>
void TransferredFrameQueueUnderlyingSource<NativeFrameType>::Trace(
Visitor* visitor) const { … }
template class MODULES_TEMPLATE_EXPORT
TransferredFrameQueueUnderlyingSource<scoped_refptr<media::AudioBuffer>>;
template class MODULES_TEMPLATE_EXPORT
TransferredFrameQueueUnderlyingSource<scoped_refptr<media::VideoFrame>>;
}