Bug 1306999 - Use ProducerIDs in VideoOutput. r=padenot

With the extra first-frame-logic in HTMLMediaElement there are two VideoOutput
instances feeding frames to the same ImageContainer. To maintain FrameID
invariants these need to have unique ProducerIDs.

Differential Revision: https://phabricator.services.mozilla.com/D33294

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Andreas Pehrson 2019-06-10 13:11:05 +00:00
Родитель 839752c9bc
Коммит 520877795b
1 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -91,8 +91,8 @@ class VideoOutput : public DirectMediaStreamTrackListener {
// We ignore null images.
continue;
}
images.AppendElement(
ImageContainer::NonOwningImage(image, chunk.mTimeStamp, frameId));
images.AppendElement(ImageContainer::NonOwningImage(
image, chunk.mTimeStamp, frameId, mProducerID));
lastPrincipalHandle = chunk.GetPrincipalHandle();
}
@ -198,6 +198,8 @@ class VideoOutput : public DirectMediaStreamTrackListener {
nsTArray<Pair<ImageContainer::FrameID, VideoChunk>> mFrames;
const RefPtr<VideoFrameContainer> mVideoFrameContainer;
const RefPtr<AbstractThread> mMainThread;
const layers::ImageContainer::ProducerID mProducerID =
layers::ImageContainer::AllocateProducerID();
};
} // namespace mozilla