view libmpdemux/rtp.h @ 10698:7ab88b24cb81

OSD support, optinal queue, optional use of sleep(), and benchmark mode
author iive
date Mon, 25 Aug 2003 21:41:10 +0000
parents 54bcbf28698a
children befb79b0232e
line wrap: on
line source

#ifndef _RTP_H
#define _RTP_H

#include "config.h"
#ifndef HAVE_WINSOCK2
#include <sys/socket.h>
#else
#include <winsock2.h>
#endif

struct rtpbits {
  unsigned int v:2;           /* version: 2 */
  unsigned int p:1;           /* is there padding appended: 0 */
  unsigned int x:1;           /* number of extension headers: 0 */
  unsigned int cc:4;          /* number of CSRC identifiers: 0 */
  unsigned int m:1;           /* marker: 0 */
  unsigned int pt:7;          /* payload type: 33 for MPEG2 TS - RFC 1890 */
  unsigned int sequence:16;   /* sequence number: random */
};

struct rtpheader {	/* in network byte order */
  struct rtpbits b;
  int timestamp;	/* start: random */
  int ssrc;		/* random */
};


void initrtp(struct rtpheader *foo); /* fill in the MPEG-2 TS deefaults */
int sendrtp(int fd, struct sockaddr_in *sSockAddr, struct rtpheader *foo, char *data, int len);
int getrtp2(int fd, struct rtpheader *rh, char** data, int* lengthData);
int sendrtp2(int fd, struct sockaddr_in *sSockAddr, struct rtpheader *foo, char *data, int len);
int getrtp(int fd, struct rtpheader *rh, char** data, int* lengthData);
int makesocket(char *szAddr,unsigned short port,int TTL,struct sockaddr_in *sSockAddr);
int makeclientsocket(char *szAddr,unsigned short port,int TTL,struct sockaddr_in *sSockAddr);

#endif