chiark / gitweb /
Doxygen for C test infrastructure
[disorder] / lib / rtp.h
CommitLineData
e83d0967
RK
1/*
2 * This file is part of DisOrder.
3 * Copyright (C) 2007 Richard Kettlewell
4 *
e7eb3a27 5 * This program is free software: you can redistribute it and/or modify
e83d0967 6 * it under the terms of the GNU General Public License as published by
e7eb3a27 7 * the Free Software Foundation, either version 3 of the License, or
e83d0967 8 * (at your option) any later version.
e7eb3a27
RK
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
e83d0967 15 * You should have received a copy of the GNU General Public License
e7eb3a27 16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
e83d0967 17 */
132a5a4a
RK
18/** @file lib/rtp.h
19 * @brief RTP packet header format
20 *
21 * See <a href="http://www.ietf.org/rfc/rfc1889.txt">RFC1889</a>.
22 */
e83d0967
RK
23
24#ifndef RTP_H
25#define RTP_H
26
132a5a4a
RK
27/** @brief RTP packet header format
28 *
29 * See <a href="http://www.ietf.org/rfc/rfc1889.txt">RFC1889</a> (now obsoleted
30 * by <a href="http://www.ietf.org/rfc/rfc3550.txt">RFC3550</a>).
31 */
0b75463f 32struct attribute((packed)) rtp_header {
132a5a4a
RK
33 /** @brief Version, padding, extension and CSRC
34 *
35 * Version is bits 6 and 7; currently always 2.
36 *
37 * Padding is bit 5; if set frame includes padding octets.
38 *
39 * eXtension is bit 4; if set there is a header extension.
40 *
41 * CSRC Count is bits 0-3 and is the number of CSRC identifiers following the
42 * header.
43 */
e83d0967 44 uint8_t vpxcc;
132a5a4a
RK
45
46 /** @brief Marker and payload type
47 *
48 * Marker is bit 7. Profile-defined.
49 *
50 * Payload Type is bits 0-6. Profile defined.
51 */
e83d0967 52 uint8_t mpt;
132a5a4a
RK
53
54 /** @brief Sequence number */
e83d0967 55 uint16_t seq;
132a5a4a
RK
56
57 /** @brief Timestamp */
e83d0967 58 uint32_t timestamp;
132a5a4a
RK
59
60 /** @brief Synchronization source */
e83d0967
RK
61 uint32_t ssrc;
62};
63
64#endif /* RTP_H */
65
66/*
67Local Variables:
68c-basic-offset:2
69comment-column:40
70fill-column:79
71indent-tabs-mode:nil
72End:
73*/