Confirmed users
770
edits
| Line 217: | Line 217: | ||
} | } | ||
} | } | ||
... | |||
} | } | ||
void | |||
MediaStreamGraphImpl::ExtractPendingInput(SourceMediaStream* aStream, | |||
GraphTime aDesiredUpToTime, | |||
bool* aEnsureNextIteration) | |||
{ | |||
... | |||
for (uint32_t j = 0; j < aStream->mListeners.Length(); ++j) { | |||
MediaStreamListener* l = aStream->mListeners[j]; | |||
{ | |||
MutexAutoUnlock unlock(aStream->mMutex); | |||
// This will call to |void MediaEngineWebRTCVideoSource::NotifyPull| | |||
l->NotifyPull(this, t); | |||
} | |||
} | |||
... | |||
for (int32_t i = aStream->mUpdateTracks.Length() - 1; i >= 0; --i) { | |||
SourceMediaStream::TrackData* data = &aStream->mUpdateTracks[i]; | |||
aStream->ApplyTrackDisabling(data->mID, data->mData); | |||
for (uint32_t j = 0; j < aStream->mListeners.Length(); ++j) { | |||
MediaStreamListener* l = aStream->mListeners[j]; | |||
TrackTicks offset = (data->mCommands & SourceMediaStream::TRACK_CREATE) | |||
? data->mStart : aStream->mBuffer.FindTrack(data->mID)->GetSegment()->GetDuration(); | |||
l->NotifyQueuedTrackChanges(this, data->mID, data->mOutputRate, | |||
offset, data->mCommands, *data->mData); | |||
} | |||
... | |||
} | |||
... | |||
} | |||
void | |||
MediaStreamGraphImpl::PlayVideo(MediaStream* aStream) | |||
{ | |||
... | |||
for (uint32_t i = 0; i < aStream->mVideoOutputs.Length(); ++i) { | |||
VideoFrameContainer* output = aStream->mVideoOutputs[i]; | |||
... | |||
output->SetCurrentFrame(frame->GetIntrinsicSize(), frame->GetImage(), | |||
targetTime); | |||
} | |||
... | |||
} | |||
</source> | </source> | ||