diff -Naur src/avprofile.c patch/avprofile.c --- src/avprofile.c 2003-08-12 18:21:09.000000000 +0200 +++ patch/avprofile.c 2004-06-17 19:12:10.000000000 +0200 @@ -33,7 +33,7 @@ #define TYPE(val) type: (val) #define CLOCK_RATE(val) clock_rate: (val) -#define BYTES_PER_SAMPLE(val) bytes_per_sample: (val) +#define BITS_PER_SAMPLE(val) bits_per_sample: (val) #define ZERO_PATTERN(val) zero_pattern: (val) #define PATTERN_LENGTH(val) pattern_length: (val) #define NORMAL_BITRATE(val) normal_bitrate: (val) @@ -43,7 +43,7 @@ #define TYPE(val) (val) #define CLOCK_RATE(val) (val) -#define BYTES_PER_SAMPLE(val) (val) +#define BITS_PER_SAMPLE(val) (val) #define ZERO_PATTERN(val) (val) #define PATTERN_LENGTH(val) (val) #define NORMAL_BITRATE(val) (val) @@ -54,7 +54,7 @@ PayloadType pcmu8000={ TYPE( PAYLOAD_AUDIO_CONTINUOUS), CLOCK_RATE( 8000), - BYTES_PER_SAMPLE( 1.0), + BITS_PER_SAMPLE(8), ZERO_PATTERN( &offset127), PATTERN_LENGTH( 1), NORMAL_BITRATE( 64000), @@ -64,7 +64,7 @@ PayloadType pcma8000={ TYPE( PAYLOAD_AUDIO_CONTINUOUS), CLOCK_RATE(8000), - BYTES_PER_SAMPLE(1.0), + BITS_PER_SAMPLE(8), ZERO_PATTERN( &offset0xD5), PATTERN_LENGTH( 1), NORMAL_BITRATE( 64000), @@ -74,7 +74,7 @@ PayloadType pcm8000={ TYPE( PAYLOAD_AUDIO_CONTINUOUS), CLOCK_RATE(8000), - BYTES_PER_SAMPLE(2.0), + BITS_PER_SAMPLE(16), ZERO_PATTERN( &offset0), PATTERN_LENGTH(1), NORMAL_BITRATE( 128000), @@ -84,7 +84,7 @@ PayloadType lpc1016={ TYPE( PAYLOAD_AUDIO_PACKETIZED), CLOCK_RATE(8000), - BYTES_PER_SAMPLE( 0), + BITS_PER_SAMPLE( 0), ZERO_PATTERN( NULL), PATTERN_LENGTH( 0), NORMAL_BITRATE( 2400), @@ -96,7 +96,7 @@ { TYPE( PAYLOAD_AUDIO_PACKETIZED), CLOCK_RATE(8000), - BYTES_PER_SAMPLE( 0), + BITS_PER_SAMPLE( 0), ZERO_PATTERN(NULL), PATTERN_LENGTH( 0), NORMAL_BITRATE( 13500), @@ -108,7 +108,7 @@ { TYPE( PAYLOAD_VIDEO), CLOCK_RATE(90000), - BYTES_PER_SAMPLE(0), + BITS_PER_SAMPLE(0), ZERO_PATTERN(NULL), PATTERN_LENGTH(0), NORMAL_BITRATE( 0), @@ -119,7 +119,7 @@ PayloadType h261={ TYPE( PAYLOAD_VIDEO), CLOCK_RATE(90000), - BYTES_PER_SAMPLE(0), + BITS_PER_SAMPLE(0), ZERO_PATTERN(NULL), PATTERN_LENGTH(0), NORMAL_BITRATE(0), @@ -130,7 +130,7 @@ { TYPE( PAYLOAD_AUDIO_PACKETIZED), CLOCK_RATE(8000), - BYTES_PER_SAMPLE( 0), + BITS_PER_SAMPLE( 0), ZERO_PATTERN(NULL), PATTERN_LENGTH( 0), NORMAL_BITRATE(8536), @@ -158,7 +158,7 @@ PayloadType lpc1015={ TYPE( PAYLOAD_AUDIO_PACKETIZED), CLOCK_RATE(8000), - BYTES_PER_SAMPLE(0), + BITS_PER_SAMPLE(0), ZERO_PATTERN(NULL), PATTERN_LENGTH(0), NORMAL_BITRATE(2400), @@ -168,7 +168,7 @@ PayloadType speex_nb={ TYPE( PAYLOAD_AUDIO_PACKETIZED), CLOCK_RATE(8000), - BYTES_PER_SAMPLE(0), + BITS_PER_SAMPLE(0), ZERO_PATTERN(NULL), PATTERN_LENGTH(0), NORMAL_BITRATE(8000), /*not true: 8000 is the minimum*/ @@ -178,7 +178,7 @@ PayloadType speex_wb={ TYPE( PAYLOAD_AUDIO_PACKETIZED), CLOCK_RATE(16000), - BYTES_PER_SAMPLE(0), + BITS_PER_SAMPLE(0), ZERO_PATTERN(NULL), PATTERN_LENGTH(0), NORMAL_BITRATE(28000), diff -Naur src/payloadtype.h patch/payloadtype.h --- src/payloadtype.h 2004-04-06 19:47:15.000000000 +0200 +++ patch/payloadtype.h 2004-06-17 18:51:57.000000000 +0200 @@ -33,7 +33,7 @@ #define PAYLOAD_VIDEO 2 #define PAYLOAD_OTHER 3 /* ?? */ gint clock_rate; - double bytes_per_sample; /* in case of continuous audio data */ + char bits_per_sample; /* in case of continuous audio data */ char *zero_pattern; gint pattern_length; /* other usefull information */ diff -Naur src/rtpsession.c patch/rtpsession.c --- src/rtpsession.c 2004-04-07 12:58:31.000000000 +0200 +++ patch/rtpsession.c 2004-06-17 18:50:25.000000000 +0200 @@ -1370,9 +1370,7 @@ } if (payload->type == PAYLOAD_AUDIO_CONTINUOUS) { - - ts_int = (guint32) (((double) len) / - payload->bytes_per_sample); + ts_int = (len * payload->bits_per_sample) >> 3; session->rtp.rcv_last_ret_ts += ts_int; //ortp_debug("ts_int=%i",ts_int); }