view libmpdemux/rtp.h @ 10253:978b12dcb9ef

- open new_ds_[audio | video] only when the relative streams are really available - consequently, -nosound now works - simplified the feeding (to ds_) function - eliminated the previous buffering of ES data (so it should be a little faster) - discard junk ES data after payload_size for the current pes packet is 0 - reduced the probe buffer - better support for audio only TS (DAB seems to have many fans) - fixes the wrong spacing (now fixed at 8 chars) - makes static all the functions that are not exported - comments the unused code that I could need in the future patch by Nico <nsabbi@libero.it>
author arpi
date Sat, 07 Jun 2003 11:30:19 +0000
parents bed6226ffb46
children 54bcbf28698a
line wrap: on
line source

#ifndef _RTP_H
#define _RTP_H

#include <sys/socket.h>

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