Mercurial > mplayer.hg
view libmpdemux/rtp.h @ 17566:f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
patch replaces '()' for the correct '(void)' in function
declarations/prototypes which have no parameters. The '()' syntax tell
thats there is a variable list of arguments, so that the compiler cannot
check this. The extra CFLAG '-Wstrict-declarations' shows those cases.
Comments about a similar patch applied to ffmpeg:
That in C++ these mean the same, but in ANSI C the semantics are
different; function() is an (obsolete) K&R C style forward declaration,
it basically means that the function can have any number and any types
of parameters, effectively completely preventing the compiler from doing
any sort of type checking. -- Erik Slagter
Defining functions with unspecified arguments is allowed but bad.
With arguments unspecified the compiler can't report an error/warning
if the function is called with incorrect arguments. -- M\ns Rullg\rd
author | rathann |
---|---|
date | Thu, 09 Feb 2006 14:08:03 +0000 |
parents | 8dd7a656eaf8 |
children | 0783dd397f74 |
line wrap: on
line source
/* Imported from the dvbstream project * * Modified for use with MPlayer, for details see the CVS changelog at * http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/ * $Id$ */ #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 */ }; int getrtp2(int fd, struct rtpheader *rh, char** data, int* lengthData); #endif