rtp: Share the rtp header between the proxy and the mgcp code
This commit is contained in:
parent
6019b5a508
commit
983c99113d
|
@ -14,7 +14,7 @@ noinst_HEADERS = abis_nm.h abis_rsl.h db.h gsm_04_08.h gsm_data.h \
|
|||
osmo_msc_data.h osmo_bsc_grace.h sms_queue.h abis_om2000.h \
|
||||
bss.h gsm_data_shared.h control_cmd.h ipaccess.h mncc_int.h \
|
||||
arfcn_range_encode.h nat_rewrite_trie.h bsc_nat_callstats.h \
|
||||
osmux.h mgcp_transcode.h
|
||||
osmux.h mgcp_transcode.h rtp.h
|
||||
|
||||
openbsc_HEADERS = gsm_04_08.h meas_rep.h bsc_api.h
|
||||
openbscdir = $(includedir)/openbsc
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
#pragma once
|
||||
|
||||
/* attempt to determine byte order */
|
||||
#include <sys/param.h>
|
||||
#include <limits.h>
|
||||
#include <time.h>
|
||||
|
||||
#ifndef __BYTE_ORDER
|
||||
# ifdef __APPLE__
|
||||
# define __BYTE_ORDER __DARWIN_BYTE_ORDER
|
||||
# define __LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN
|
||||
# define __BIG_ENDIAN __DARWIN_BIG_ENDIAN
|
||||
# else
|
||||
# error "__BYTE_ORDER should be defined by someone"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* according to rtp_proxy.c RFC 3550 */
|
||||
struct rtp_hdr {
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
uint8_t csrc_count:4,
|
||||
extension:1,
|
||||
padding:1,
|
||||
version:2;
|
||||
uint8_t payload_type:7,
|
||||
marker:1;
|
||||
#elif __BYTE_ORDER == __BIG_ENDIAN
|
||||
uint8_t version:2,
|
||||
padding:1,
|
||||
extension:1,
|
||||
csrc_count:4;
|
||||
uint8_t marker:1,
|
||||
payload_type:7;
|
||||
#endif
|
||||
uint16_t sequence;
|
||||
uint32_t timestamp;
|
||||
uint32_t ssrc;
|
||||
} __attribute__((packed));
|
|
@ -34,47 +34,12 @@
|
|||
|
||||
#include <openbsc/mgcp.h>
|
||||
#include <openbsc/mgcp_internal.h>
|
||||
#include <openbsc/rtp.h>
|
||||
|
||||
#include <openbsc/osmux.h>
|
||||
|
||||
#warning "Make use of the rtp proxy code"
|
||||
|
||||
/* attempt to determine byte order */
|
||||
#include <sys/param.h>
|
||||
#include <limits.h>
|
||||
#include <time.h>
|
||||
|
||||
#ifndef __BYTE_ORDER
|
||||
# ifdef __APPLE__
|
||||
# define __BYTE_ORDER __DARWIN_BYTE_ORDER
|
||||
# define __LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN
|
||||
# define __BIG_ENDIAN __DARWIN_BIG_ENDIAN
|
||||
# else
|
||||
# error "__BYTE_ORDER should be defined by someone"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* according to rtp_proxy.c RFC 3550 */
|
||||
struct rtp_hdr {
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
uint8_t csrc_count:4,
|
||||
extension:1,
|
||||
padding:1,
|
||||
version:2;
|
||||
uint8_t payload_type:7,
|
||||
marker:1;
|
||||
#elif __BYTE_ORDER == __BIG_ENDIAN
|
||||
uint8_t version:2,
|
||||
padding:1,
|
||||
extension:1,
|
||||
csrc_count:4;
|
||||
uint8_t marker:1,
|
||||
payload_type:7;
|
||||
#endif
|
||||
uint16_t sequence;
|
||||
uint32_t timestamp;
|
||||
uint32_t ssrc;
|
||||
} __attribute__((packed));
|
||||
|
||||
#define RTP_SEQ_MOD (1 << 16)
|
||||
#define RTP_MAX_DROPOUT 3000
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include <openbsc/rtp_proxy.h>
|
||||
#include <openbsc/mncc.h>
|
||||
#include <openbsc/trau_upqueue.h>
|
||||
#include <openbsc/rtp.h>
|
||||
|
||||
/* attempt to determine byte order */
|
||||
#include <sys/param.h>
|
||||
|
@ -76,28 +77,6 @@ struct rtcp_hdr {
|
|||
|
||||
#define RTCP_IE_CNAME 1
|
||||
|
||||
/* according to RFC 3550 */
|
||||
struct rtp_hdr {
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
uint8_t csrc_count:4,
|
||||
extension:1,
|
||||
padding:1,
|
||||
version:2;
|
||||
uint8_t payload_type:7,
|
||||
marker:1;
|
||||
#elif __BYTE_ORDER == __BIG_ENDIAN
|
||||
uint8_t version:2,
|
||||
padding:1,
|
||||
extension:1,
|
||||
csrc_count:4;
|
||||
uint8_t marker:1,
|
||||
payload_type:7;
|
||||
#endif
|
||||
uint16_t sequence;
|
||||
uint32_t timestamp;
|
||||
uint32_t ssrc;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rtp_x_hdr {
|
||||
uint16_t by_profile;
|
||||
uint16_t length;
|
||||
|
|
Loading…
Reference in New Issue