#include "third_party/blink/renderer/modules/peerconnection/rtp_contributing_source_cache.h"
#include "base/check.h"
#include "base/task/single_thread_task_runner.h"
#include "third_party/blink/renderer/core/execution_context/agent.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/loader/document_loader.h"
#include "third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.h"
#include "third_party/blink/renderer/platform/scheduler/public/event_loop.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"
#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink {
namespace {
HeapVector<Member<RTCRtpSynchronizationSource>>
RTCRtpSynchronizationSourcesFromRTCRtpSources(
ScriptState* script_state,
const RtpContributingSourceCache::RTCRtpSources* rtp_sources) { … }
HeapVector<Member<RTCRtpContributingSource>>
RTCRtpContributingSourcesFromRTCRtpSources(
ScriptState* script_state,
const RtpContributingSourceCache::RTCRtpSources* rtp_sources) { … }
}
RtpContributingSourceCache::RtpContributingSourceCache(
RTCPeerConnection* pc,
scoped_refptr<base::SingleThreadTaskRunner> worker_thread_runner)
: … { … }
void RtpContributingSourceCache::Shutdown() { … }
HeapVector<Member<RTCRtpSynchronizationSource>>
RtpContributingSourceCache::getSynchronizationSources(
ScriptState* script_state,
ExceptionState& exception_state,
RTCRtpReceiver* receiver) { … }
HeapVector<Member<RTCRtpContributingSource>>
RtpContributingSourceCache::getContributingSources(
ScriptState* script_state,
ExceptionState& exception_state,
RTCRtpReceiver* receiver) { … }
void RtpContributingSourceCache::MaybeUpdateRtpSources(
ScriptState* script_state,
RTCRtpReceiver* requesting_receiver) { … }
void RtpContributingSourceCache::UpdateRtpSourcesOnWorkerThread(
Vector<RTCRtpReceiverPlatform*>* receivers,
HashMap<RTCRtpReceiverPlatform*, RTCRtpSources>* cached_sources_by_receiver,
base::WaitableEvent* event) { … }
void RtpContributingSourceCache::ClearCache() { … }
const RtpContributingSourceCache::RTCRtpSources*
RtpContributingSourceCache::GetRtpSources(RTCRtpReceiver* receiver) const { … }
}