Merge mozilla-central to autoland. a=merge CLOSED TREE
[gecko.git] / third_party / libwebrtc / modules / video_coding / rtp_frame_id_only_ref_finder.h
blobc842fb50117d110e92dbbde09f49b5c0c293ea8a
1 /*
2 * Copyright (c) 2020 The WebRTC project authors. All Rights Reserved.
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
11 #ifndef MODULES_VIDEO_CODING_RTP_FRAME_ID_ONLY_REF_FINDER_H_
12 #define MODULES_VIDEO_CODING_RTP_FRAME_ID_ONLY_REF_FINDER_H_
14 #include <memory>
16 #include "absl/container/inlined_vector.h"
17 #include "modules/rtp_rtcp/source/frame_object.h"
18 #include "modules/video_coding/rtp_frame_reference_finder.h"
19 #include "rtc_base/numerics/sequence_number_unwrapper.h"
21 namespace webrtc {
23 class RtpFrameIdOnlyRefFinder {
24 public:
25 RtpFrameIdOnlyRefFinder() = default;
27 RtpFrameReferenceFinder::ReturnVector ManageFrame(
28 std::unique_ptr<RtpFrameObject> frame,
29 int frame_id);
31 private:
32 static constexpr int kFrameIdLength = 1 << 15;
33 SeqNumUnwrapper<uint16_t, kFrameIdLength> unwrapper_;
36 } // namespace webrtc
38 #endif // MODULES_VIDEO_CODING_RTP_FRAME_ID_ONLY_REF_FINDER_H_