Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface NTPClient mbed-rtos mbed
rtpbuf.cpp
00001 #include <stdlib.h> 00002 00003 #include "debug.h" 00004 #include "rtpbuf.h" 00005 00006 static void xmemcpy32(uint32_t * dest, uint32_t * src, uint16_t size) { 00007 size >>= 2; 00008 while (size--) *dest++ = *src++; 00009 } 00010 00011 static void xmemcpy(uint8_t * dest, uint8_t * src, uint16_t size) { 00012 while (size--) *dest++ = *src++; 00013 } 00014 00015 /* 00016 rtpbuf_t * rtpbuf_init(void) { 00017 } 00018 void rtpbuf_destroy(rtpbuf_t ** self) { 00019 free(*self) 00020 *self = NULL; 00021 } 00022 */ 00023 00024 void rtpbuf_clear (rtpbuf_t * self) { 00025 self->size = 0; 00026 } 00027 00028 void rtpbuf_put (rtpbuf_t * self, int size, uint8_t * data){ 00029 if ((size + self->size) <= RTPBUF_BUFSIZE){ 00030 xmemcpy((uint8_t*)self->b+self->size,data,size); 00031 self->size += size; 00032 //debug_msg("put %d -> %d",size,self->size); 00033 } else { 00034 //debug_msg("put-failed %d -> %d",size,self->size); 00035 } 00036 } 00037 00038 uint8_t * rtpbuf_get (rtpbuf_t * self) { 00039 if (self->size < RTPBUF_PKGSIZE) { 00040 //debug_msg("get-failed %d", self->size); 00041 return NULL; 00042 } 00043 //debug_msg("get %d", self->size); 00044 return (uint8_t*) self->b; 00045 } 00046 00047 void rtpbuf_next (rtpbuf_t * self) { 00048 if (self->size < RTPBUF_PKGSIZE) { 00049 //debug_msg("next-failed %d", self->size); 00050 } else { 00051 //int i; 00052 //i = self->size; 00053 self->size -= RTPBUF_PKGSIZE; 00054 if (self->size > 0) { 00055 xmemcpy32(self->b, (self->b)+(RTPBUF_PKGSIZE>>2), self->size); 00056 //debug_msg("nextA %d -> %d", i, self->size); 00057 } else { 00058 //debug_msg("nextB %d -> %d", i, self->size); 00059 } 00060 } 00061 }
Generated on Fri Jul 22 2022 09:19:18 by
1.7.2