mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 15:28:39 +09:00
[webm] Store LastSeenFrame dimensions as an nsIntSize
This simplifies the comparison and update logic.
This commit is contained in:
parent
d6206801dd
commit
e7d7e0d2bf
2 changed files with 6 additions and 8 deletions
|
|
@ -651,14 +651,13 @@ WebMDemuxer::GetNextPacket(TrackInfo::TrackType aType, MediaRawDataQueue *aSampl
|
|||
if (isKeyframe) {
|
||||
// We only look for resolution changes on keyframes for both VP8 and
|
||||
// VP9. Other resolution changes are invalid.
|
||||
if (mLastSeenFrameWidth.isSome() && mLastSeenFrameHeight.isSome() &&
|
||||
(si.w != mLastSeenFrameWidth.value() ||
|
||||
si.h != mLastSeenFrameHeight.value())) {
|
||||
mInfo.mVideo.mDisplay = nsIntSize(si.w, si.h);
|
||||
auto dimensions = nsIntSize(si.w, si.h);
|
||||
if (mLastSeenFrameSize.isSome()
|
||||
&& (dimensions != mLastSeenFrameSize.value())) {
|
||||
mInfo.mVideo.mDisplay = dimensions;
|
||||
mSharedVideoTrackInfo = new SharedTrackInfo(mInfo.mVideo, ++sStreamSourceID);
|
||||
}
|
||||
mLastSeenFrameWidth = Some(si.w);
|
||||
mLastSeenFrameHeight = Some(si.h);
|
||||
mLastSeenFrameSize = Some(dimensions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -237,8 +237,7 @@ private:
|
|||
int64_t mLastWebMBlockOffset;
|
||||
const bool mIsMediaSource;
|
||||
|
||||
Maybe<uint32_t> mLastSeenFrameWidth;
|
||||
Maybe<uint32_t> mLastSeenFrameHeight;
|
||||
Maybe<nsIntSize> mLastSeenFrameSize;
|
||||
// This will be populated only if a resolution change occurs, otherwise it
|
||||
// will be left as null so the original metadata is used
|
||||
RefPtr<SharedTrackInfo> mSharedVideoTrackInfo;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue