The problem is perhaps that we both H264_NAL_IDR_SLICE and H264_NAL_SLICE mark as I_FRAME and consider them as keyframe. But only H264_NAL_IDR_SLICE are the keyframes which we're looking for in seek: if (nalType == H264_NAL_IDR_SLICE) { // IDR NAL. return FrameType::I_FRAME; } else if (nalType == H264_NAL_SEI) { ... } else if (nalType == H264_NAL_SLICE) { RefPtr<mozilla::MediaByteBuffer> decodedNAL = DecodeNALUnit(p, nalLen); if (DecodeISlice(decodedNAL)) { return FrameType::I_FRAME; } }
Bug 1670333 Comment 13 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
The problem is perhaps that we both H264_NAL_IDR_SLICE and H264_NAL_SLICE mark as I_FRAME and consider them as keyframe. But only H264_NAL_IDR_SLICE are the keyframes which we're looking for in seek: if (nalType == H264_NAL_IDR_SLICE) { // IDR NAL. return FrameType::I_FRAME; } else if (nalType == H264_NAL_SEI) { } else if (nalType == H264_NAL_SLICE) { RefPtr<mozilla::MediaByteBuffer> decodedNAL = DecodeNALUnit(p, nalLen); if (DecodeISlice(decodedNAL)) { return FrameType::I_FRAME; } }