зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1189506. Use mStateComputedTime in some places instead of passing aTo. r=karlt
--HG-- extra : commitid : LR21taIGcGM extra : rebase_source : c228ba660e8ced61a17e9ec52fb47fff0d07b4c5
This commit is contained in:
Родитель
2ca14cc805
Коммит
7395a6b7fd
|
@ -648,7 +648,7 @@ MediaStreamGraphImpl::CreateOrDestroyAudioStreams(MediaStream* aStream)
|
|||
}
|
||||
|
||||
StreamTime
|
||||
MediaStreamGraphImpl::PlayAudio(MediaStream* aStream, GraphTime aTo)
|
||||
MediaStreamGraphImpl::PlayAudio(MediaStream* aStream)
|
||||
{
|
||||
MOZ_ASSERT(mRealtime, "Should only attempt to play audio in realtime mode");
|
||||
|
||||
|
@ -675,10 +675,10 @@ MediaStreamGraphImpl::PlayAudio(MediaStream* aStream, GraphTime aTo)
|
|||
// from the right offsets in the stream buffer, even if we've already
|
||||
// written silence for some amount of blocked time after the current time.
|
||||
GraphTime t = mProcessedTime;
|
||||
while (t < aTo) {
|
||||
while (t < mStateComputedTime) {
|
||||
bool blocked = t >= aStream->mStartBlocking;
|
||||
GraphTime end = blocked ? aTo : aStream->mStartBlocking;
|
||||
NS_ASSERTION(end <= aTo, "mStartBlocking is wrong!");
|
||||
GraphTime end = blocked ? mStateComputedTime : aStream->mStartBlocking;
|
||||
NS_ASSERTION(end <= mStateComputedTime, "mStartBlocking is wrong!");
|
||||
|
||||
// Check how many ticks of sound we can provide if we are blocked some
|
||||
// time in the middle of this cycle.
|
||||
|
@ -1083,7 +1083,7 @@ MediaStreamGraphImpl::UpdateGraph(GraphTime aEndBlockingDecisions)
|
|||
}
|
||||
|
||||
void
|
||||
MediaStreamGraphImpl::Process(GraphTime aTo)
|
||||
MediaStreamGraphImpl::Process()
|
||||
{
|
||||
// Play stream contents.
|
||||
bool allBlockedForever = true;
|
||||
|
@ -1116,12 +1116,13 @@ MediaStreamGraphImpl::Process(GraphTime aTo)
|
|||
// Since an AudioNodeStream is present, go ahead and
|
||||
// produce audio block by block for all the rest of the streams.
|
||||
ProduceDataForStreamsBlockByBlock(i, n->SampleRate(),
|
||||
mProcessedTime, aTo);
|
||||
mProcessedTime, mStateComputedTime);
|
||||
doneAllProducing = true;
|
||||
} else {
|
||||
ps->ProcessInput(mProcessedTime, aTo, ProcessedMediaStream::ALLOW_FINISH);
|
||||
ps->ProcessInput(mProcessedTime, mStateComputedTime,
|
||||
ProcessedMediaStream::ALLOW_FINISH);
|
||||
NS_WARN_IF_FALSE(stream->mBuffer.GetEnd() >=
|
||||
GraphTimeToStreamTimeWithBlocking(stream, aTo),
|
||||
GraphTimeToStreamTimeWithBlocking(stream, mStateComputedTime),
|
||||
"Stream did not produce enough data");
|
||||
}
|
||||
}
|
||||
|
@ -1131,7 +1132,7 @@ MediaStreamGraphImpl::Process(GraphTime aTo)
|
|||
if (mRealtime) {
|
||||
CreateOrDestroyAudioStreams(stream);
|
||||
if (CurrentDriver()->AsAudioCallbackDriver()) {
|
||||
StreamTime ticksPlayedForThisStream = PlayAudio(stream, aTo);
|
||||
StreamTime ticksPlayedForThisStream = PlayAudio(stream);
|
||||
if (!ticksPlayed) {
|
||||
ticksPlayed = ticksPlayedForThisStream;
|
||||
} else {
|
||||
|
@ -1224,7 +1225,7 @@ MediaStreamGraphImpl::OneIteration(GraphTime aStateEnd)
|
|||
|
||||
mStateComputedTime = stateEnd;
|
||||
|
||||
Process(stateEnd);
|
||||
Process();
|
||||
|
||||
GraphTime oldProcessedTime = mProcessedTime;
|
||||
mProcessedTime = stateEnd;
|
||||
|
|
|
@ -236,9 +236,10 @@ public:
|
|||
mFrontMessageQueue.SwapElements(mBackMessageQueue);
|
||||
}
|
||||
/**
|
||||
* Do all the processing and play the audio and video, ffrom aFrom to aTo.
|
||||
* Do all the processing and play the audio and video, from
|
||||
* mProcessedTime to mStateComputedTime.
|
||||
*/
|
||||
void Process(GraphTime aTo);
|
||||
void Process();
|
||||
/**
|
||||
* Update the consumption state of aStream to reflect whether its data
|
||||
* is needed or not.
|
||||
|
@ -345,7 +346,7 @@ public:
|
|||
* Queue audio (mix of stream audio and silence for blocked intervals)
|
||||
* to the audio output stream. Returns the number of frames played.
|
||||
*/
|
||||
StreamTime PlayAudio(MediaStream* aStream, GraphTime aTo);
|
||||
StreamTime PlayAudio(MediaStream* aStream);
|
||||
/**
|
||||
* Set the correct current video frame for stream aStream.
|
||||
*/
|
||||
|
|
Загрузка…
Ссылка в новой задаче