2 * This file is part of DisOrder.
3 * Copyright (C) 2007 Richard Kettlewell
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
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.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 * @brief RTP packet header format
21 * See <a href="http://www.ietf.org/rfc/rfc1889.txt">RFC1889</a>.
27 /** @brief RTP packet header format
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>).
32 * All values in this structure are big-endian.
34 struct attribute((packed)) rtp_header {
35 /** @brief Version, padding, extension and CSRC
37 * Version is bits 6 and 7; currently always 2.
39 * Padding is bit 5; if set frame includes padding octets.
41 * eXtension is bit 4; if set there is a header extension.
43 * CSRC Count is bits 0-3 and is the number of CSRC identifiers following the
48 /** @brief Marker and payload type
50 * Marker is bit 7. Profile-defined.
52 * Payload Type is bits 0-6. Profile defined.
56 /** @brief Sequence number */
59 /** @brief Timestamp */
62 /** @brief Synchronization source */
66 /** @brief RTP packet header format
68 * See <a href="http://www.ietf.org/rfc/rfc1889.txt">RFC1889</a> (now obsoleted
69 * by <a href="http://www.ietf.org/rfc/rfc3550.txt">RFC3550</a>).
71 * All values in this structure are big-endian.
73 struct attribute((packed)) rtp_extension {
74 /** @brief Profile-defined extension type */
77 /** @brief Length of rest of extension */