зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1020176 - AudioOffloadPlayer: Avoid calling ResumeStateMachine from multiple paths. r=roc
This commit is contained in:
Родитель
20ab3c6e32
Коммит
8f52671cb0
|
@ -124,10 +124,13 @@ void MediaOmxDecoder::ResumeStateMachine()
|
||||||
void MediaOmxDecoder::AudioOffloadTearDown()
|
void MediaOmxDecoder::AudioOffloadTearDown()
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(NS_IsMainThread());
|
MOZ_ASSERT(NS_IsMainThread());
|
||||||
PlaybackPositionChanged();
|
|
||||||
DECODER_LOG(PR_LOG_DEBUG, ("%s", __PRETTY_FUNCTION__));
|
DECODER_LOG(PR_LOG_DEBUG, ("%s", __PRETTY_FUNCTION__));
|
||||||
{
|
|
||||||
|
// mAudioOffloadPlayer can be null here if ResumeStateMachine was called
|
||||||
|
// just before because of some other error.
|
||||||
|
if (mAudioOffloadPlayer) {
|
||||||
// Audio offload player sent tear down event. Fallback to state machine
|
// Audio offload player sent tear down event. Fallback to state machine
|
||||||
|
PlaybackPositionChanged();
|
||||||
ResumeStateMachine();
|
ResumeStateMachine();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -136,10 +139,10 @@ void MediaOmxDecoder::AddOutputStream(ProcessedMediaStream* aStream,
|
||||||
bool aFinishWhenEnded)
|
bool aFinishWhenEnded)
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(NS_IsMainThread());
|
MOZ_ASSERT(NS_IsMainThread());
|
||||||
PlaybackPositionChanged();
|
|
||||||
|
|
||||||
if (mAudioOffloadPlayer) {
|
if (mAudioOffloadPlayer) {
|
||||||
// Offload player cannot handle MediaStream. Fallback
|
// Offload player cannot handle MediaStream. Fallback
|
||||||
|
PlaybackPositionChanged();
|
||||||
ResumeStateMachine();
|
ResumeStateMachine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,11 +152,11 @@ void MediaOmxDecoder::AddOutputStream(ProcessedMediaStream* aStream,
|
||||||
void MediaOmxDecoder::SetPlaybackRate(double aPlaybackRate)
|
void MediaOmxDecoder::SetPlaybackRate(double aPlaybackRate)
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(NS_IsMainThread());
|
MOZ_ASSERT(NS_IsMainThread());
|
||||||
PlaybackPositionChanged();
|
|
||||||
|
|
||||||
if (mAudioOffloadPlayer &&
|
if (mAudioOffloadPlayer &&
|
||||||
((aPlaybackRate != 0.0) || (aPlaybackRate != 1.0))) {
|
((aPlaybackRate != 0.0) || (aPlaybackRate != 1.0))) {
|
||||||
// Offload player cannot handle playback rate other than 1/0. Fallback
|
// Offload player cannot handle playback rate other than 1/0. Fallback
|
||||||
|
PlaybackPositionChanged();
|
||||||
ResumeStateMachine();
|
ResumeStateMachine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче