blob: 363c8a7035738d1f1e62beaf82313f729cb99b6c [file] [log] [blame]
philipelc707ab72016-04-01 02:01:54 -07001/*
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 *
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 */
10
11#include "webrtc/modules/video_coding/frame_object.h"
12#include "webrtc/base/criticalsection.h"
13#include "webrtc/modules/video_coding/packet_buffer.h"
14
15namespace webrtc {
16namespace video_coding {
17
18RtpFrameObject::RtpFrameObject(PacketBuffer* packet_buffer,
19 uint16_t picture_id,
20 uint16_t first_packet,
21 uint16_t last_packet)
22 : packet_buffer_(packet_buffer),
23 first_packet_(first_packet),
24 last_packet_(last_packet) {}
25
26RtpFrameObject::~RtpFrameObject() {
27 packet_buffer_->ReturnFrame(this);
28}
29
30uint16_t RtpFrameObject::first_packet() const {
31 return first_packet_;
32}
33
34uint16_t RtpFrameObject::last_packet() const {
35 return last_packet_;
36}
37
38uint16_t RtpFrameObject::picture_id() const {
39 return picture_id_;
40}
41
42bool RtpFrameObject::GetBitstream(uint8_t* destination) const {
43 return packet_buffer_->GetBitstream(*this, destination);
44}
45
46} // namespace video_coding
47} // namespace webrtc