Changeset 556
- Timestamp:
- 04/01/01 23:18:50 (12 years ago)
- Location:
- common/trunk
- Files:
-
- 15 modified
-
doc/html/book1.html (modified) (1 diff)
-
doc/html/uclmmbase-rtp.html (modified) (83 diffs)
-
doc/html/uclmmbase.html (modified) (1 diff)
-
doc/tmpl/debug.sgml (modified) (2 diffs)
-
doc/tmpl/memory.sgml (modified) (4 diffs)
-
doc/tmpl/rtp.sgml (modified) (2 diffs)
-
doc/tmpl/uclconf.sgml (modified) (1 diff)
-
doc/tmpl/uclmmbase-unused.sgml (modified) (2 diffs)
-
doc/uclmmbase-driver.sgml (modified) (3 diffs)
-
doc/uclmmbase-sections.txt (modified) (3 diffs)
-
src/debug.c (modified) (2 diffs)
-
src/memory.c (modified) (7 diffs)
-
src/memory.h (modified) (2 diffs)
-
src/rtp.c (modified) (4 diffs)
-
src/rtp.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
common/trunk/doc/html/book1.html
r546 r556 78 78 >RTP</A 79 79 > — Real-Time Transport Protocol (RTP) Implementation.</DT 80 ><DT 81 ><A 82 HREF="uclmmbase-debug.html" 83 >Debug</A 84 > — Functions for outputing diagnostics.</DT 85 ><DT 86 ><A 87 HREF="uclmmbase-memory.html" 88 >Memory</A 89 > — Memory allocation and debugging functions.</DT 80 90 ></DL 81 91 ></DD -
common/trunk/doc/html/uclmmbase-rtp.html
r555 r556 14 14 REL="PREVIOUS" 15 15 TITLE="NETUDP" 16 HREF="uclmmbase-net-udp.html"></HEAD 16 HREF="uclmmbase-net-udp.html"><LINK 17 REL="NEXT" 18 TITLE="Debug" 19 HREF="uclmmbase-debug.html"></HEAD 17 20 ><BODY 18 21 CLASS="REFENTRY" … … 99 102 BGCOLOR="#C00000" 100 103 ALIGN="right" 101 > </TD 104 ><A 105 HREF="uclmmbase-debug.html" 106 ><FONT 107 COLOR="#FFFFFF" 108 SIZE="3" 109 ><B 110 >Next Page >>></B 111 ></FONT 112 ></A 113 ></TD 102 114 ></TR 103 115 ></TABLE … … 233 245 >rtp_callback</A 234 246 > callback, 235 void *userdata); 247 <GTKDOCLINK 248 HREF="UINT8-T" 249 >uint8_t</GTKDOCLINK 250 > *userdata); 236 251 <GTKDOCLINK 237 252 HREF="RTP-T" … … 259 274 >rtp_callback</A 260 275 > callback, 261 void *userdata); 276 <GTKDOCLINK 277 HREF="UINT8-T" 278 >uint8_t</GTKDOCLINK 279 > *userdata); 262 280 void <A 263 281 HREF="uclmmbase-rtp.html#RTP-SEND-BYE" … … 513 531 >rtp</GTKDOCLINK 514 532 > *session); 515 void* <A 533 <GTKDOCLINK 534 HREF="UINT8-T" 535 >uint8_t</GTKDOCLINK 536 >* <A 516 537 HREF="uclmmbase-rtp.html#RTP-GET-USERDATA" 517 538 >rtp_get_userdata</A … … 527 548 CLASS="REFSECT1" 528 549 ><A 529 NAME="AEN59 5"550 NAME="AEN598" 530 551 ></A 531 552 ><H2 … … 538 559 CLASS="REFSECT1" 539 560 ><A 540 NAME="AEN 598"561 NAME="AEN601" 541 562 ></A 542 563 ><H2 … … 545 566 CLASS="REFSECT2" 546 567 ><A 547 NAME="AEN60 0"568 NAME="AEN603" 548 569 ></A 549 570 ><H3 … … 571 592 CLASS="REFSECT2" 572 593 ><A 573 NAME="AEN60 5"594 NAME="AEN608" 574 595 ></A 575 596 ><H3 … … 597 618 CLASS="REFSECT2" 598 619 ><A 599 NAME="AEN61 0"620 NAME="AEN613" 600 621 ></A 601 622 ><H3 … … 666 687 CLASS="REFSECT2" 667 688 ><A 668 NAME="AEN61 5"689 NAME="AEN618" 669 690 ></A 670 691 ><H3 … … 697 718 CLASS="REFSECT2" 698 719 ><A 699 NAME="AEN62 1"720 NAME="AEN624" 700 721 ></A 701 722 ><H3 … … 730 751 CLASS="REFSECT2" 731 752 ><A 732 NAME="AEN62 6"753 NAME="AEN629" 733 754 ></A 734 755 ><H3 … … 769 790 CLASS="REFSECT2" 770 791 ><A 771 NAME="AEN63 1"792 NAME="AEN634" 772 793 ></A 773 794 ><H3 … … 817 838 CLASS="INFORMALTABLE" 818 839 ><A 819 NAME="AEN6 39"840 NAME="AEN642" 820 841 ></A 821 842 ><P … … 983 1004 CLASS="REFSECT2" 984 1005 ><A 985 NAME="AEN68 3"1006 NAME="AEN686" 986 1007 ></A 987 1008 ><H3 … … 1013 1034 CLASS="REFSECT2" 1014 1035 ><A 1015 NAME="AEN6 88"1036 NAME="AEN691" 1016 1037 ></A 1017 1038 ><H3 … … 1054 1075 CLASS="REFSECT2" 1055 1076 ><A 1056 NAME="AEN69 3"1077 NAME="AEN696" 1057 1078 ></A 1058 1079 ><H3 … … 1091 1112 CLASS="INFORMALTABLE" 1092 1113 ><A 1093 NAME="AEN70 1"1114 NAME="AEN704" 1094 1115 ></A 1095 1116 ><P … … 1186 1207 CLASS="REFSECT2" 1187 1208 ><A 1188 NAME="AEN72 4"1209 NAME="AEN727" 1189 1210 ></A 1190 1211 ><H3 … … 1228 1249 CLASS="INFORMALTABLE" 1229 1250 ><A 1230 NAME="AEN73 0"1251 NAME="AEN733" 1231 1252 ></A 1232 1253 ><P … … 1259 1280 >rtp_packet</A 1260 1281 > containing the RTP data packet. 1261 The callback must free the rtp_packet when it's done with it.</TD 1282 The callback must free the rtp_packet when it's done with it using the <A 1283 HREF="uclmmbase-memory.html#XFREE" 1284 >xfree</A 1285 >() function.</TD 1262 1286 ></TR 1263 1287 ><TR … … 1467 1491 CLASS="REFSECT2" 1468 1492 ><A 1469 NAME="AEN7 89"1493 NAME="AEN793" 1470 1494 ></A 1471 1495 ><H3 … … 1510 1534 CLASS="REFSECT2" 1511 1535 ><A 1512 NAME="AEN 796"1536 NAME="AEN800" 1513 1537 ></A 1514 1538 ><H3 … … 1550 1574 CLASS="INFORMALTABLE" 1551 1575 ><A 1552 NAME="AEN80 5"1576 NAME="AEN809" 1553 1577 ></A 1554 1578 ><P … … 1609 1633 CLASS="REFSECT2" 1610 1634 ><A 1611 NAME="AEN8 19"1635 NAME="AEN823" 1612 1636 ></A 1613 1637 ><H3 … … 1639 1663 CLASS="INFORMALTABLE" 1640 1664 ><A 1641 NAME="AEN82 4"1665 NAME="AEN828" 1642 1666 ></A 1643 1667 ><P … … 1713 1737 CLASS="REFSECT2" 1714 1738 ><A 1715 NAME="AEN84 1"1739 NAME="AEN845" 1716 1740 ></A 1717 1741 ><H3 … … 1750 1774 >rtp_callback</A 1751 1775 > callback, 1752 void *userdata);</PRE 1776 <GTKDOCLINK 1777 HREF="UINT8-T" 1778 >uint8_t</GTKDOCLINK 1779 > *userdata);</PRE 1753 1780 ></TD 1754 1781 ></TR … … 1761 1788 CLASS="INFORMALTABLE" 1762 1789 ><A 1763 NAME="AEN85 2"1790 NAME="AEN857" 1764 1791 ></A 1765 1792 ><P … … 1927 1954 CLASS="REFSECT2" 1928 1955 ><A 1929 NAME="AEN89 1"1956 NAME="AEN896" 1930 1957 ></A 1931 1958 ><H3 … … 1965 1992 >rtp_callback</A 1966 1993 > callback, 1967 void *userdata);</PRE 1994 <GTKDOCLINK 1995 HREF="UINT8-T" 1996 >uint8_t</GTKDOCLINK 1997 > *userdata);</PRE 1968 1998 ></TD 1969 1999 ></TR … … 1976 2006 CLASS="INFORMALTABLE" 1977 2007 ><A 1978 NAME="AEN90 2"2008 NAME="AEN908" 1979 2009 ></A 1980 2010 ><P … … 2162 2192 CLASS="REFSECT2" 2163 2193 ><A 2164 NAME="AEN9 45"2194 NAME="AEN951" 2165 2195 ></A 2166 2196 ><H3 … … 2195 2225 CLASS="INFORMALTABLE" 2196 2226 ><A 2197 NAME="AEN95 2"2227 NAME="AEN958" 2198 2228 ></A 2199 2229 ><P … … 2233 2263 CLASS="REFSECT2" 2234 2264 ><A 2235 NAME="AEN96 1"2265 NAME="AEN967" 2236 2266 ></A 2237 2267 ><H3 … … 2268 2298 CLASS="INFORMALTABLE" 2269 2299 ><A 2270 NAME="AEN9 69"2300 NAME="AEN975" 2271 2301 ></A 2272 2302 ><P … … 2306 2336 CLASS="REFSECT2" 2307 2337 ><A 2308 NAME="AEN9 78"2338 NAME="AEN984" 2309 2339 ></A 2310 2340 ><H3 … … 2345 2375 CLASS="INFORMALTABLE" 2346 2376 ><A 2347 NAME="AEN9 87"2377 NAME="AEN993" 2348 2378 ></A 2349 2379 ><P … … 2435 2465 CLASS="REFSECT2" 2436 2466 ><A 2437 NAME="AEN10 09"2467 NAME="AEN1015" 2438 2468 ></A 2439 2469 ><H3 … … 2474 2504 CLASS="INFORMALTABLE" 2475 2505 ><A 2476 NAME="AEN10 18"2506 NAME="AEN1024" 2477 2507 ></A 2478 2508 ><P … … 2564 2594 CLASS="REFSECT2" 2565 2595 ><A 2566 NAME="AEN104 0"2596 NAME="AEN1046" 2567 2597 ></A 2568 2598 ><H3 … … 2602 2632 CLASS="INFORMALTABLE" 2603 2633 ><A 2604 NAME="AEN10 49"2634 NAME="AEN1055" 2605 2635 ></A 2606 2636 ><P … … 2696 2726 CLASS="REFSECT2" 2697 2727 ><A 2698 NAME="AEN107 2"2728 NAME="AEN1078" 2699 2729 ></A 2700 2730 ><H3 … … 2813 2843 CLASS="INFORMALTABLE" 2814 2844 ><A 2815 NAME="AEN1 096"2845 NAME="AEN1102" 2816 2846 ></A 2817 2847 ><P … … 3049 3079 CLASS="REFSECT2" 3050 3080 ><A 3051 NAME="AEN115 2"3081 NAME="AEN1158" 3052 3082 ></A 3053 3083 ><H3 … … 3092 3122 CLASS="INFORMALTABLE" 3093 3123 ><A 3094 NAME="AEN116 1"3124 NAME="AEN1167" 3095 3125 ></A 3096 3126 ><P … … 3167 3197 CLASS="REFSECT2" 3168 3198 ><A 3169 NAME="AEN11 79"3199 NAME="AEN1185" 3170 3200 ></A 3171 3201 ><H3 … … 3201 3231 CLASS="INFORMALTABLE" 3202 3232 ><A 3203 NAME="AEN11 86"3233 NAME="AEN1192" 3204 3234 ></A 3205 3235 ><P … … 3242 3272 CLASS="REFSECT2" 3243 3273 ><A 3244 NAME="AEN1 196"3274 NAME="AEN1202" 3245 3275 ></A 3246 3276 ><H3 … … 3275 3305 CLASS="INFORMALTABLE" 3276 3306 ><A 3277 NAME="AEN12 04"3307 NAME="AEN1210" 3278 3308 ></A 3279 3309 ><P … … 3331 3361 CLASS="REFSECT2" 3332 3362 ><A 3333 NAME="AEN12 17"3363 NAME="AEN1223" 3334 3364 ></A 3335 3365 ><H3 … … 3371 3401 CLASS="INFORMALTABLE" 3372 3402 ><A 3373 NAME="AEN12 26"3403 NAME="AEN1232" 3374 3404 ></A 3375 3405 ><P … … 3444 3474 CLASS="REFSECT2" 3445 3475 ><A 3446 NAME="AEN12 44"3476 NAME="AEN1250" 3447 3477 ></A 3448 3478 ><H3 … … 3484 3514 CLASS="INFORMALTABLE" 3485 3515 ><A 3486 NAME="AEN125 3"3516 NAME="AEN1259" 3487 3517 ></A 3488 3518 ><P … … 3562 3592 CLASS="REFSECT2" 3563 3593 ><A 3564 NAME="AEN127 2"3594 NAME="AEN1278" 3565 3595 ></A 3566 3596 ><H3 … … 3617 3647 CLASS="INFORMALTABLE" 3618 3648 ><A 3619 NAME="AEN128 3"3649 NAME="AEN1289" 3620 3650 ></A 3621 3651 ><P … … 3746 3776 CLASS="REFSECT2" 3747 3777 ><A 3748 NAME="AEN13 14"3778 NAME="AEN1320" 3749 3779 ></A 3750 3780 ><H3 … … 3796 3826 CLASS="INFORMALTABLE" 3797 3827 ><A 3798 NAME="AEN13 25"3828 NAME="AEN1331" 3799 3829 ></A 3800 3830 ><P … … 3887 3917 CLASS="REFSECT2" 3888 3918 ><A 3889 NAME="AEN13 47"3919 NAME="AEN1353" 3890 3920 ></A 3891 3921 ><H3 … … 3929 3959 CLASS="INFORMALTABLE" 3930 3960 ><A 3931 NAME="AEN13 57"3961 NAME="AEN1363" 3932 3962 ></A 3933 3963 ><P … … 4003 4033 CLASS="REFSECT2" 4004 4034 ><A 4005 NAME="AEN13 75"4035 NAME="AEN1381" 4006 4036 ></A 4007 4037 ><H3 … … 4055 4085 CLASS="INFORMALTABLE" 4056 4086 ><A 4057 NAME="AEN13 87"4087 NAME="AEN1393" 4058 4088 ></A 4059 4089 ><P … … 4146 4176 CLASS="REFSECT2" 4147 4177 ><A 4148 NAME="AEN14 09"4178 NAME="AEN1415" 4149 4179 ></A 4150 4180 ><H3 … … 4192 4222 CLASS="INFORMALTABLE" 4193 4223 ><A 4194 NAME="AEN142 1"4224 NAME="AEN1427" 4195 4225 ></A 4196 4226 ><P … … 4262 4292 CLASS="REFSECT2" 4263 4293 ><A 4264 NAME="AEN14 38"4294 NAME="AEN1444" 4265 4295 ></A 4266 4296 ><H3 … … 4300 4330 CLASS="INFORMALTABLE" 4301 4331 ><A 4302 NAME="AEN14 46"4332 NAME="AEN1452" 4303 4333 ></A 4304 4334 ><P … … 4370 4400 CLASS="REFSECT2" 4371 4401 ><A 4372 NAME="AEN146 3"4402 NAME="AEN1469" 4373 4403 ></A 4374 4404 ><H3 … … 4400 4430 CLASS="INFORMALTABLE" 4401 4431 ><A 4402 NAME="AEN147 0"4432 NAME="AEN1476" 4403 4433 ></A 4404 4434 ><P … … 4460 4490 CLASS="REFSECT2" 4461 4491 ><A 4462 NAME="AEN14 85"4492 NAME="AEN1491" 4463 4493 ></A 4464 4494 ><H3 … … 4493 4523 CLASS="INFORMALTABLE" 4494 4524 ><A 4495 NAME="AEN149 3"4525 NAME="AEN1499" 4496 4526 ></A 4497 4527 ><P … … 4553 4583 CLASS="REFSECT2" 4554 4584 ><A 4555 NAME="AEN15 08"4585 NAME="AEN1514" 4556 4586 ></A 4557 4587 ><H3 … … 4586 4616 CLASS="INFORMALTABLE" 4587 4617 ><A 4588 NAME="AEN15 16"4618 NAME="AEN1522" 4589 4619 ></A 4590 4620 ><P … … 4646 4676 CLASS="REFSECT2" 4647 4677 ><A 4648 NAME="AEN153 1"4678 NAME="AEN1537" 4649 4679 ></A 4650 4680 ><H3 … … 4676 4706 CLASS="INFORMALTABLE" 4677 4707 ><A 4678 NAME="AEN15 38"4708 NAME="AEN1544" 4679 4709 ></A 4680 4710 ><P … … 4736 4766 CLASS="REFSECT2" 4737 4767 ><A 4738 NAME="AEN155 3"4768 NAME="AEN1559" 4739 4769 ></A 4740 4770 ><H3 … … 4752 4782 ><PRE 4753 4783 CLASS="PROGRAMLISTING" 4754 >void* rtp_get_userdata (struct <GTKDOCLINK 4784 ><GTKDOCLINK 4785 HREF="UINT8-T" 4786 >uint8_t</GTKDOCLINK 4787 >* rtp_get_userdata (struct <GTKDOCLINK 4755 4788 HREF="RTP" 4756 4789 >rtp</GTKDOCLINK … … 4767 4800 HREF="uclmmbase-rtp.html#RTP-INIT-IF" 4768 4801 >rtp_init_if</A 4769 >() function when creating this session. 4770 XXX (Note that gtkdoc thinks that it returns void, not void*, so 4771 ignores the "Returns:" block here)</P 4802 >() function when creating this session.</P 4772 4803 ><P 4773 4804 ></P … … 4775 4806 CLASS="INFORMALTABLE" 4776 4807 ><A 4777 NAME="AEN156 2"4808 NAME="AEN1569" 4778 4809 ></A 4779 4810 ><P … … 4804 4835 > The RTP session.</TD 4805 4836 ></TR 4837 ><TR 4838 ><TD 4839 WIDTH="20%" 4840 ALIGN="RIGHT" 4841 VALIGN="TOP" 4842 ><I 4843 CLASS="EMPHASIS" 4844 >Returns</I 4845 > :</TD 4846 ><TD 4847 WIDTH="80%" 4848 ALIGN="LEFT" 4849 VALIGN="TOP" 4850 > pointer to userdata.</TD 4851 ></TR 4806 4852 ></TBODY 4807 4853 ></TABLE … … 4814 4860 CLASS="REFSECT1" 4815 4861 ><A 4816 NAME="AEN15 71"4862 NAME="AEN1582" 4817 4863 ></A 4818 4864 ><H2 … … 4915 4961 BGCOLOR="#C00000" 4916 4962 ALIGN="right" 4917 > </TD 4963 ><A 4964 HREF="uclmmbase-debug.html" 4965 ><FONT 4966 COLOR="#FFFFFF" 4967 SIZE="3" 4968 ><B 4969 >Next Page >>></B 4970 ></FONT 4971 ></A 4972 ></TD 4918 4973 ></TR 4919 4974 ><TR … … 4931 4986 COLSPAN="2" 4932 4987 ALIGN="right" 4933 > </TD 4988 ><FONT 4989 COLOR="#FFFFFF" 4990 SIZE="3" 4991 ><B 4992 >Debug</B 4993 ></FONT 4994 ></TD 4934 4995 ></TR 4935 4996 ></TABLE -
common/trunk/doc/html/uclmmbase.html
r546 r556 137 137 >RTP</A 138 138 > — Real-Time Transport Protocol (RTP) Implementation.</DT 139 ><DT 140 ><A 141 HREF="uclmmbase-debug.html" 142 >Debug</A 143 > — Functions for outputing diagnostics.</DT 144 ><DT 145 ><A 146 HREF="uclmmbase-memory.html" 147 >Memory</A 148 > — Memory allocation and debugging functions.</DT 139 149 ></DL 140 150 ></DIV 141 151 ><P 142 152 > The UCL Common Multimedia Library provides a number of useful 143 features for multimedia applications. The most notable feature of the144 library is the RTP implementation.</P153 features for multimedia applications. It includes several protocols 154 and functions related to IETF multimedia applications.</P 145 155 ></DIV 146 156 ><DIV -
common/trunk/doc/tmpl/debug.sgml
r543 r556 1 1 <!-- ##### SECTION Title ##### --> 2 debug2 Debug 3 3 4 4 <!-- ##### SECTION Short_Description ##### --> 5 5 6 Functions for outputing diagnostics. 6 7 7 8 <!-- ##### SECTION Long_Description ##### --> 8 9 <para> 10 11 These functions relate to outputing diagnostic messages and 12 information. 13 14 </para> 15 16 <para> 17 18 Use of these functions requires DEBUG to be defined at compilation 19 time. On Unix systems, the <filename>configure</filename> script has 20 a command-line option <option>--enable-debug</option>. On Win32 a 21 debug configuration exists. 9 22 10 23 </para> … … 18 31 <para> 19 32 33 Available for use to prevent compiler warnings when a function 34 argument is not used. Sometimes this is unavoidable because function 35 has to conform to an interface. 36 20 37 </para> 21 38 22 @x: 39 @x: unused function argument that generates compiler warning. 23 40 24 41 25 42 <!-- ##### MACRO debug_msg ##### --> 26 43 <para> 44 45 When DEBUG is defined this will write a formatted message to the 46 platform defined error stream. The format of the message has the same 47 semantics as standard C library call <function>printf()</function>. The error 48 message displayed is prepended by the process id, the file and the 49 line number, where debug_msg() was called. 50 51 On Unix the message is rendered on the standard error stream. On 52 Win32 a debug message is created using the Win32 API function 53 <function>OutputDebugString()</function>. 27 54 28 55 </para> -
common/trunk/doc/tmpl/memory.sgml
r543 r556 1 1 <!-- ##### SECTION Title ##### --> 2 memory2 Memory 3 3 4 4 <!-- ##### SECTION Short_Description ##### --> 5 5 6 Memory allocation and debugging functions. 6 7 7 8 <!-- ##### SECTION Long_Description ##### --> 8 9 <para> 10 11 This set of functions is semantically similar functions to standard C 12 library memory allocation routines. When memory debugging is enabled 13 these functions include support to detect buffer overruns. When 14 memory debugging is not enabled the allocation and free calls are 15 wrappers around the standard C allocation routines, and checking 16 routines are null ops. 17 18 </para> 19 20 <para> 21 Memory debugging is enabled when DEBUG_MEM is defined at compilation 22 time. On Unix systems, the <filename>configure</filename> script has 23 a command-line option <option>--enable-debug-mem</option>. On Win32, 24 a memory debugging is enabled in the debug configuration. 9 25 10 26 </para> … … 15 31 </para> 16 32 33 <!-- ##### MACRO xmalloc ##### --> 34 <para> 35 Allocates a block of memory. Semantically equivalent to malloc(). 36 </para> 37 38 @x: size of allocation. 39 40 17 41 <!-- ##### MACRO xrealloc ##### --> 18 42 <para> 19 43 Re-sizes a block of memory. Semantically equivalent to realloc(). 20 44 </para> 21 45 22 @p: 23 @x: 24 25 26 <!-- ##### MACRO xmalloc ##### --> 27 <para> 28 29 </para> 30 31 @x: 46 @p: Pointer to block to be re-dimensioned. 47 @x: New size. 32 48 33 49 34 50 <!-- ##### MACRO xstrdup ##### --> 35 51 <para> 36 52 xmalloc()'s sufficient memory to store @str, copies @str into it, and 53 returns pointer to new string. Semantically equivalent to strdup(). 37 54 </para> 38 55 39 @x: 56 @str: 57 <!-- # Unused Parameters # --> 58 @x: String to duplicate. 40 59 41 60 … … 66 85 </para> 67 86 68 @ p:87 @addr: 69 88 @filen: 70 89 @line: 90 <!-- # Unused Parameters # --> 91 @p: 71 92 72 93 … … 84 105 </para> 85 106 107 @p: 108 <!-- # Unused Parameters # --> 86 109 @x: 87 110 -
common/trunk/doc/tmpl/rtp.sgml
r551 r556 131 131 The ssrc field contains the RTP data packet's SSRC. 132 132 The data field points to a #rtp_packet containing the RTP data packet. 133 The callback must free the rtp_packet when it's done with it .133 The callback must free the rtp_packet when it's done with it using the xfree() function. 134 134 @RX_SR: An RTCP SR packet was received. 135 135 The ssrc field contains the SR packet's SSRC. … … 456 456 457 457 @session: 458 459 458 @Returns: 459 460 -
common/trunk/doc/tmpl/uclconf.sgml
r543 r556 92 92 93 93 94 <!-- ##### MACRO DEBUG ##### --> 95 <para> 96 97 </para> 98 99 100 101 <!-- ##### MACRO DEBUG_MEM ##### --> 102 <para> 103 104 </para> 105 106 107 -
common/trunk/doc/tmpl/uclmmbase-unused.sgml
r551 r556 30 30 31 31 <!-- ##### SECTION ./tmpl/test_mbus_addr.sgml:Long_Description ##### --> 32 <para>33 34 </para>35 36 37 <!-- ##### MACRO DEBUG ##### -->38 32 <para> 39 33 … … 63 57 <!-- ##### SECTION ./tmpl/test_net_udp.sgml:Short_Description ##### --> 64 58 65 66 67 <!-- ##### MACRO DEBUG_MEM ##### -->68 <para>69 70 </para>71 59 72 60 -
common/trunk/doc/uclmmbase-driver.sgml
r546 r556 4 4 <!entity netudp SYSTEM "sgml/net_udp.sgml"> 5 5 <!entity rtp SYSTEM "sgml/rtp.sgml"> 6 <!entity debug SYSTEM "sgml/debug.sgml"> 7 <!entity memory SYSTEM "sgml/memory.sgml"> 6 8 ]> 7 9 … … 15 17 16 18 <para> The UCL Common Multimedia Library provides a number of useful 17 features for multimedia applications. The most notable feature of the18 library is the RTP implementation.</para>19 features for multimedia applications. It includes several protocols 20 and functions related to IETF multimedia applications.</para> 19 21 20 22 &hmac; … … 23 25 &rtp; 24 26 27 &debug; 28 &memory; 29 25 30 </chapter> 26 31 -
common/trunk/doc/uclmmbase-sections.txt
r551 r556 171 171 <SECTION> 172 172 <FILE>debug</FILE> 173 <INCLUDE>debug.h</INCLUDE> 173 174 UNUSED 174 175 debug_msg … … 274 275 <SECTION> 275 276 <FILE>memory</FILE> 277 <INCLUDE>memory.h</INCLUDE> 278 xmalloc 276 279 xrealloc 277 xmalloc278 280 xstrdup 279 281 xdoneinit … … 418 420 HAVE_SYS_FILIO_H 419 421 WORDS_SMALLENDIAN 420 </SECTION> 421 422 DEBUG 423 DEBUG_MEM 424 </SECTION> 425 -
common/trunk/src/debug.c
r435 r556 69 69 } 70 70 71 /** 72 * debug_dump: 73 * @lp: pointer to memory region. 74 * @len: length of memory region in bytes. 75 * 76 * Writes a dump of a memory region to stdout. The dump contains a 77 * hexadecimal and an ascii representation of the memory region. 78 * 79 **/ 71 80 void debug_dump(void*lp, long len) 72 81 { … … 138 147 } 139 148 149 /** 150 * debug_set_core_dir: 151 * @argv0: the application path (usually argv[0] in main()). 152 * 153 * Creates a directory with the application name and makes it the 154 * current working directory. 155 * 156 * This function exists because some unix variants use the name 'core' 157 * for core dump files. When an application uses multiple processes, 158 * this can be problematic if the failure of one process leads to the 159 * failure of another because the dependent process 'core' file will 160 * overwrite the core of the failing process. 161 **/ 140 162 void debug_set_core_dir(const char *argv0) 141 163 { -
common/trunk/src/memory.c
r545 r556 77 77 static int naddr = 0; /* number of allocations */ 78 78 static int tick = 1; /* xmemchk assumes this is one, do not change without checking why */ 79 79 80 static int init = 0; 81 82 /** 83 * xdoneinit: 84 * @void: 85 * 86 * Marks end of an applications initialization period. For media 87 * applications with real-time data transfer it's sometimes helpful to 88 * distinguish between memory allocated during application 89 * initialization and when application is running. 90 **/ 80 91 81 92 void xdoneinit(void) … … 130 141 } 131 142 143 /** 144 * xmemchk: 145 * @void: 146 * 147 * Check for bounds overruns in all memory allocated with xmalloc(), 148 * xrealloc(), and xstrdup(). Information on corrupted blocks is 149 * rendered on the standard error stream. This includes where the 150 * block was allocated, the size of the block, and the number of 151 * allocations made since the block was created. 152 **/ 132 153 void xmemchk(void) 133 154 { … … 228 249 } 229 250 251 /** 252 * xmemdmp: 253 * @void: 254 * 255 * Dumps the address, size, age, and point of allocation in code. 256 * 257 **/ 230 258 void 231 259 xmemdmp(void) … … 260 288 /* Because block_alloc recycles blocks we need to know which code 261 289 * fragment takes over responsibility for the memory. */ 290 291 /** 292 * xclaim: 293 * @addr: address 294 * @filen: new filename 295 * @line: new allocation line 296 * 297 * Coerces information in allocation table about allocation file and 298 * line to be @filen and @line. This is used by the evil 299 * block_alloc() and should probably not be used anywhere else ever. 300 **/ 262 301 void 263 302 xclaim(void *addr, const char *filen, int line) … … 286 325 } 287 326 327 /** 328 * xmemdist: 329 * @fp: file pointer 330 * 331 * Dumps information on existing memory allocations to file. 332 **/ 288 333 void 289 334 xmemdist(FILE *fp) … … 317 362 } 318 363 364 /** 365 * xfree: 366 * @p: pointer to block to freed. 367 * 368 * Free block of memory. Semantically equivalent to free(), but 369 * checks for bounds overruns in @p and tidies up state associated 370 * additional functionality. 371 * 372 * Must be used to free memory allocated with xmalloc(), xrealloc(), 373 * and xstrdup(). 374 **/ 319 375 void 320 376 xfree(void *p) … … 492 548 void xmemdist (FILE *f) { UNUSED(f); } 493 549 494 /**495 * xfree:496 * @x: pointer to memory block to be freed.497 *498 * This function is conceptually the same as the standard C library499 * free() function call, but contains some extra debugging500 * functionality when DEBUG_MEM is defined.501 *502 */503 504 550 void xfree (void *x) { free(x); } 505 551 -
common/trunk/src/memory.h
r360 r556 41 41 #define _RAT_MEMORY_H 42 42 43 #define xmalloc(x) _xmalloc(x,__FILE__,__LINE__) 43 44 #define xrealloc(p,x) _xrealloc(p, x,__FILE__,__LINE__) 44 #define xmalloc(x) _xmalloc(x,__FILE__,__LINE__) 45 #define xstrdup(x) _xstrdup(x,__FILE__,__LINE__) 45 #define xstrdup(str) _xstrdup(str,__FILE__,__LINE__) 46 46 47 47 #if defined(__cplusplus) … … 53 53 void xmemchk(void); 54 54 void xmemdmp(void); 55 void xclaim(void * p, const char *filen, int line);55 void xclaim(void *addr, const char *filen, int line); 56 56 void xmemdist(FILE *fp); 57 57 58 58 /* Replacements for regular memory fn's */ 59 void xfree(void * x);59 void xfree(void *p); 60 60 void *_xmalloc(unsigned size,const char *filen,int line); 61 61 void *_xrealloc(void *p,unsigned size,const char *filen,int line); -
common/trunk/src/rtp.c
r554 r556 203 203 rtcp_rr_wrapper rr[RTP_DB_SIZE][RTP_DB_SIZE]; /* Indexed by [hash(reporter)][hash(reportee)] */ 204 204 options *opt; 205 void*userdata;205 uint8_t *userdata; 206 206 int invalid_rtp_count; 207 207 int invalid_rtcp_count; … … 919 919 int ttl, double rtcp_bw, 920 920 rtp_callback callback, 921 void*userdata)921 uint8_t *userdata) 922 922 { 923 923 return rtp_init_if(addr, NULL, rx_port, tx_port, ttl, rtcp_bw, callback, userdata); … … 951 951 int ttl, double rtcp_bw, 952 952 rtp_callback callback, 953 void*userdata)953 uint8_t *userdata) 954 954 { 955 955 struct rtp *session; … … 1142 1142 * This function returns the userdata pointer that was passed to the 1143 1143 * rtp_init() or rtp_init_if() function when creating this session. 1144 * XXX (Note that gtkdoc thinks that it returns void, not void*, so 1145 * ignores the "Returns:" block here) 1146 * Returns: The userdata pointer that was passed to the rtp_init() or 1147 * rtp_init_if() function when creating this session. 1144 * 1145 * Returns: pointer to userdata. 1148 1146 */ 1149 void*rtp_get_userdata(struct rtp *session)1147 uint8_t *rtp_get_userdata(struct rtp *session) 1150 1148 { 1151 1149 check_database(session); -
common/trunk/src/rtp.h
r551 r556 187 187 188 188 rtp_t rtp_init(const char *addr, 189 uint16_t rx_port, uint16_t tx_port,190 int ttl, double rtcp_bw,191 rtp_callback callback,192 void*userdata);189 uint16_t rx_port, uint16_t tx_port, 190 int ttl, double rtcp_bw, 191 rtp_callback callback, 192 uint8_t *userdata); 193 193 rtp_t rtp_init_if(const char *addr, char *iface, 194 uint16_t rx_port, uint16_t tx_port,195 int ttl, double rtcp_bw,196 rtp_callback callback,197 void*userdata);194 uint16_t rx_port, uint16_t tx_port, 195 int ttl, double rtcp_bw, 196 rtp_callback callback, 197 uint8_t *userdata); 198 198 199 199 void rtp_send_bye(struct rtp *session); … … 232 232 uint16_t rtp_get_tx_port(struct rtp *session); 233 233 int rtp_get_ttl(struct rtp *session); 234 void*rtp_get_userdata(struct rtp *session);234 uint8_t *rtp_get_userdata(struct rtp *session); 235 235 236 236 #endif /* __RTP_H__ */
