зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1201393. Remove irrelevant ProcessedMediaStream for nsSpeechTask. r=eitan
--HG-- extra : commitid : CuwvyZLm6ch extra : rebase_source : 79b50e27404eb4d069fceabca6f91d883b1ef277
This commit is contained in:
Родитель
49d3b935f2
Коммит
c642f85a62
|
@ -140,15 +140,19 @@ nsSpeechTask::~nsSpeechTask()
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
nsSpeechTask::Init(ProcessedMediaStream* aStream)
|
nsSpeechTask::InitDirectAudio()
|
||||||
{
|
{
|
||||||
if (aStream) {
|
mStream = MediaStreamGraph::GetInstance(MediaStreamGraph::AUDIO_THREAD_DRIVER,
|
||||||
mStream = aStream->Graph()->CreateSourceStream(nullptr);
|
AudioChannel::Normal)->
|
||||||
mPort = aStream->AllocateInputPort(mStream, 0);
|
CreateSourceStream(nullptr);
|
||||||
mIndirectAudio = false;
|
mIndirectAudio = false;
|
||||||
} else {
|
mInited = true;
|
||||||
mIndirectAudio = true;
|
}
|
||||||
}
|
|
||||||
|
void
|
||||||
|
nsSpeechTask::InitIndirectAudio()
|
||||||
|
{
|
||||||
|
mIndirectAudio = true;
|
||||||
mInited = true;
|
mInited = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,8 @@ public:
|
||||||
|
|
||||||
void SetSpeechSynthesis(SpeechSynthesis* aSpeechSynthesis);
|
void SetSpeechSynthesis(SpeechSynthesis* aSpeechSynthesis);
|
||||||
|
|
||||||
void Init(ProcessedMediaStream* aStream);
|
void InitDirectAudio();
|
||||||
|
void InitIndirectAudio();
|
||||||
|
|
||||||
void SetChosenVoiceURI(const nsAString& aUri);
|
void SetChosenVoiceURI(const nsAString& aUri);
|
||||||
|
|
||||||
|
|
|
@ -177,14 +177,6 @@ nsSynthVoiceRegistry::~nsSynthVoiceRegistry()
|
||||||
// mSpeechSynthChild's lifecycle is managed by the Content protocol.
|
// mSpeechSynthChild's lifecycle is managed by the Content protocol.
|
||||||
mSpeechSynthChild = nullptr;
|
mSpeechSynthChild = nullptr;
|
||||||
|
|
||||||
if (mStream) {
|
|
||||||
if (!mStream->IsDestroyed()) {
|
|
||||||
mStream->Destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
mStream = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
mUriVoiceMap.Clear();
|
mUriVoiceMap.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -775,14 +767,9 @@ nsSynthVoiceRegistry::SpeakImpl(VoiceData* aVoice,
|
||||||
NS_WARN_IF_FALSE(NS_SUCCEEDED(rv), "Failed to get speech service type");
|
NS_WARN_IF_FALSE(NS_SUCCEEDED(rv), "Failed to get speech service type");
|
||||||
|
|
||||||
if (serviceType == nsISpeechService::SERVICETYPE_INDIRECT_AUDIO) {
|
if (serviceType == nsISpeechService::SERVICETYPE_INDIRECT_AUDIO) {
|
||||||
aTask->Init(nullptr);
|
aTask->InitIndirectAudio();
|
||||||
} else {
|
} else {
|
||||||
if (!mStream) {
|
aTask->InitDirectAudio();
|
||||||
mStream =
|
|
||||||
MediaStreamGraph::GetInstance(MediaStreamGraph::AUDIO_THREAD_DRIVER,
|
|
||||||
AudioChannel::Normal)->CreateTrackUnionStream(nullptr);
|
|
||||||
}
|
|
||||||
aTask->Init(mStream);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
aVoice->mService->Speak(aText, aVoice->mUri, aVolume, aRate, aPitch, aTask);
|
aVoice->mService->Speak(aText, aVoice->mUri, aVolume, aRate, aPitch, aTask);
|
||||||
|
|
|
@ -95,8 +95,6 @@ private:
|
||||||
|
|
||||||
SpeechSynthesisChild* mSpeechSynthChild;
|
SpeechSynthesisChild* mSpeechSynthChild;
|
||||||
|
|
||||||
nsRefPtr<ProcessedMediaStream> mStream;
|
|
||||||
|
|
||||||
bool mUseGlobalQueue;
|
bool mUseGlobalQueue;
|
||||||
|
|
||||||
nsTArray<nsRefPtr<GlobalQueueItem>> mGlobalQueue;
|
nsTArray<nsRefPtr<GlobalQueueItem>> mGlobalQueue;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче