summaryrefslogtreecommitdiffstats
path: root/branches/1.0/tinyRTP
diff options
context:
space:
mode:
Diffstat (limited to 'branches/1.0/tinyRTP')
-rw-r--r--branches/1.0/tinyRTP/droid-makefile37
-rw-r--r--branches/1.0/tinyRTP/include/tinyrtp.h43
-rw-r--r--branches/1.0/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_session.h38
-rw-r--r--branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_header.h80
-rw-r--r--branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_packet.h70
-rw-r--r--branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_session.h38
-rw-r--r--branches/1.0/tinyRTP/include/tinyrtp/trtp.h38
-rw-r--r--branches/1.0/tinyRTP/include/tinyrtp/trtp_manager.h106
-rw-r--r--branches/1.0/tinyRTP/include/tinyrtp_config.h84
-rw-r--r--branches/1.0/tinyRTP/src/rtcp/trtp_rtcp_session.c29
-rw-r--r--branches/1.0/tinyRTP/src/rtp/trtp_rtp_header.c224
-rw-r--r--branches/1.0/tinyRTP/src/rtp/trtp_rtp_packet.c194
-rw-r--r--branches/1.0/tinyRTP/src/rtp/trtp_rtp_session.c29
-rw-r--r--branches/1.0/tinyRTP/src/trtp.c30
-rw-r--r--branches/1.0/tinyRTP/src/trtp_manager.c518
-rw-r--r--branches/1.0/tinyRTP/test/test.c65
-rw-r--r--branches/1.0/tinyRTP/test/test.vcproj200
-rw-r--r--branches/1.0/tinyRTP/test/test_manager.h69
-rw-r--r--branches/1.0/tinyRTP/test/test_parser.h331
-rw-r--r--branches/1.0/tinyRTP/tinyRTP.sln92
-rw-r--r--branches/1.0/tinyRTP/tinyRTP.vcproj272
21 files changed, 0 insertions, 2587 deletions
diff --git a/branches/1.0/tinyRTP/droid-makefile b/branches/1.0/tinyRTP/droid-makefile
deleted file mode 100644
index 9c7a4b0..0000000
--- a/branches/1.0/tinyRTP/droid-makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-APP := lib$(PROJECT)_$(MARCH).$(EXT)
-
-CFLAGS := $(CFLAGS_LIB) -I../tinySAK/src -I../tinyNET/src -I./include
-LDFLAGS := $(LDFLAGS_LIB) -ltinySAK_$(MARCH) -ltinyNET_$(MARCH)
-
-all: $(APP)
-
-OBJS = \
- src/trtp.o \
- src/trtp_manager.o \
-
-## RTCP
-OBJS += src/rtcp/trtp_rtcp_session.o
-
-## RTP
-OBJS += src/rtp/trtp_rtp_header.o \
- src/rtp/trtp_rtp_packet.o \
- src/rtp/trtp_rtp_session.o
-
-
-$(APP): $(OBJS)
-ifeq ($(EXT), a)
- $(AR) rcs $@ $^
-else
- $(CC) $(LDFLAGS) -o $@ $^
-endif
-
-%.o: %.c
- $(CC) -c $(INCLUDE) $(CFLAGS) $< -o $@
-
-install: $(APP)
- $(ANDROID_SDK_ROOT)/tools/adb remount
- $(ANDROID_SDK_ROOT)/tools/adb push $(APP) $(LIB_DIR)/$(APP)
- $(ANDROID_SDK_ROOT)/tools/adb shell chmod 777 $(LIB_DIR)/$(APP)
-
-clean:
- @rm -f $(OBJS) $(APP) \ No newline at end of file
diff --git a/branches/1.0/tinyRTP/include/tinyrtp.h b/branches/1.0/tinyRTP/include/tinyrtp.h
deleted file mode 100644
index 4a64340..0000000
--- a/branches/1.0/tinyRTP/include/tinyrtp.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-
-/**@file tinyrtp.h
- * @brief tinyRTP (Real-time Transport Protocol) API.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#ifndef TINYRTP_TINYRTP_H
-#define TINYRTP_TINYRTP_H
-
-/* === tinyNET (tinyNET/src) === */
-#include "tnet.h"
-
-/* === tinySAK (tinySAK/src)=== */
-#include "tsk.h"
-
-#include "tinyrtp/rtp/trtp_rtp_header.h"
-#include "tinyrtp/rtp/trtp_rtp_packet.h"
-#include "tinyrtp/trtp_manager.h"
-
-#endif /* TINYRTP_TINYRTP_H */
diff --git a/branches/1.0/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_session.h b/branches/1.0/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_session.h
deleted file mode 100644
index 82919a0..0000000
--- a/branches/1.0/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_session.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp_rtcp_session.h
- * @brief RTCP session.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#ifndef TINYMEDIA_RTCP_SESSION_H
-#define TINYMEDIA_RTCP_SESSION_H
-
-#include "tinyrtp_config.h"
-
-TRTP_BEGIN_DECLS
-
-TRTP_END_DECLS
-
-#endif /* TINYMEDIA_RTCP_SESSION_H */
diff --git a/branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_header.h b/branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_header.h
deleted file mode 100644
index 5b6a995..0000000
--- a/branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_header.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp_rtp_header.h
- * @brief RTP header.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#ifndef TINYMEDIA_RTP_HEADER_H
-#define TINYMEDIA_RTP_HEADER_H
-
-#include "tinyrtp_config.h"
-
-#include "tsk_buffer.h"
-
-TRTP_BEGIN_DECLS
-
-#define TRTP_RTP_HEADER_MIN_SIZE 12
-
-typedef struct trtp_rtp_header_s
-{
- TSK_DECLARE_OBJECT;
- /* RFC 3550 section 5.1 - RTP Fixed Header Fields
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |V=2|P|X| CC |M| PT | sequence number |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | timestamp |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | synchronization source (SSRC) identifier |
- +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
- | contributing source (CSRC) identifiers |
- | .... |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
- unsigned version:2;
- unsigned padding:1;
- unsigned extension:1;
- unsigned csrc_count:4;
- unsigned marker:1;
- unsigned payload_type:7;
- uint16_t seq_num;
- uint32_t timestamp;
- uint32_t ssrc;
- uint32_t csrc[15];
-}
-trtp_rtp_header_t;
-
-TINYRTP_API trtp_rtp_header_t* trtp_rtp_header_create_null();
-TINYRTP_API trtp_rtp_header_t* trtp_rtp_header_create(uint32_t ssrc, uint16_t seq_num, uint32_t timestamp, uint8_t payload_type, tsk_bool_t marker);
-TINYRTP_API tsk_buffer_t* trtp_rtp_header_serialize(const trtp_rtp_header_t *self);
-TINYRTP_API trtp_rtp_header_t* trtp_rtp_header_deserialize(const void *data, tsk_size_t size);
-
-
-TINYRTP_GEXTERN const tsk_object_def_t *trtp_rtp_header_def_t;
-
-TRTP_END_DECLS
-
-#endif /* TINYMEDIA_RTP_HEADER_H */
diff --git a/branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_packet.h b/branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_packet.h
deleted file mode 100644
index 20b7b85..0000000
--- a/branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_packet.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp_rtp_packet.h
- * @brief RTP packet.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- */
-#ifndef TINYRTP_RTP_PACKET_H
-#define TINYRTP_RTP_PACKET_H
-
-#include "tinyrtp_config.h"
-
-#include "tinyrtp/rtp/trtp_rtp_header.h"
-
-#include "tsk_object.h"
-
-TRTP_BEGIN_DECLS
-
-
-typedef struct trtp_rtp_packet_s
-{
- TSK_DECLARE_OBJECT;
-
- trtp_rtp_header_t* header;
-
- struct{
- void* data;
- const void* data_const;
- tsk_size_t size;
- } payload;
-
- /* extension header as per RFC 3550 section 5.3.1 */
- struct{
- void* data;
- tsk_size_t size; /* contains the first two 16-bit fields */
- } extension;
-}
-trtp_rtp_packet_t;
-
-TINYRTP_API trtp_rtp_packet_t* trtp_rtp_packet_create_null();
-TINYRTP_API trtp_rtp_packet_t* trtp_rtp_packet_create(uint32_t ssrc, uint16_t seq_num, uint32_t timestamp, uint8_t payload_type, tsk_bool_t marker);
-TINYRTP_API tsk_buffer_t* trtp_rtp_packet_serialize(const trtp_rtp_packet_t *self);
-TINYRTP_API trtp_rtp_packet_t* trtp_rtp_packet_deserialize(const void *data, tsk_size_t size);
-
-
-TINYRTP_GEXTERN const tsk_object_def_t *trtp_rtp_packet_def_t;
-
-TRTP_END_DECLS
-
-#endif /* TINYRTP_RTP_PACKET_H */
diff --git a/branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_session.h b/branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_session.h
deleted file mode 100644
index 4a266ea..0000000
--- a/branches/1.0/tinyRTP/include/tinyrtp/rtp/trtp_rtp_session.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp_rtp_session.h
- * @brief RTP session.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#ifndef TINYMEDIA_RTP_SESSION_H
-#define TINYMEDIA_RTP_SESSION_H
-
-#include "tinyrtp_config.h"
-
-TRTP_BEGIN_DECLS
-
-TRTP_END_DECLS
-
-#endif /* TINYMEDIA_RTP_SESSION_H */
diff --git a/branches/1.0/tinyRTP/include/tinyrtp/trtp.h b/branches/1.0/tinyRTP/include/tinyrtp/trtp.h
deleted file mode 100644
index e9156f3..0000000
--- a/branches/1.0/tinyRTP/include/tinyrtp/trtp.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp.h
- * @brief tinyRTP (Real-time Transport Protocol) as per RFC 3550.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#ifndef TINYMEDIA_TRTP_H
-#define TINYMEDIA_TRTP_H
-
-#include "tinyrtp_config.h"
-
-TRTP_BEGIN_DECLS
-
-TRTP_END_DECLS
-
-#endif /* TINYMEDIA_TRTP_H */
diff --git a/branches/1.0/tinyRTP/include/tinyrtp/trtp_manager.h b/branches/1.0/tinyRTP/include/tinyrtp/trtp_manager.h
deleted file mode 100644
index 6e37659..0000000
--- a/branches/1.0/tinyRTP/include/tinyrtp/trtp_manager.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp_manager.h
- * @brief RTP/RTCP manager.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#ifndef TINYMEDIA_MANAGER_H
-#define TINYMEDIA_MANAGER_H
-
-#include "tinyrtp_config.h"
-
-#include "tinynet.h"
-
-TRTP_BEGIN_DECLS
-
-/* Forward declarations */
-struct trtp_rtp_packet_s;
-struct trtp_rtcp_packet_s;
-
-typedef int (*trtp_manager_rtp_cb_f)(const void* callback_data, const struct trtp_rtp_packet_s* packet);
-typedef int (*trtp_manager_rtcp_cb_f)(const void* callback_data, const struct trtp_rtcp_packet_s* packet);
-
-/** RTP/RTCP manager */
-typedef struct trtp_manager_s
-{
- TSK_DECLARE_OBJECT;
-
- struct{
- uint16_t seq_num;
- uint32_t timestamp;
- uint32_t ssrc;
- uint8_t payload_type;
-
- char* remote_ip;
- tnet_port_t remote_port;
- struct sockaddr_storage remote_addr;
-
- char* public_ip;
- tnet_port_t public_port;
-
- const void* callback_data;
- trtp_manager_rtp_cb_f callback;
- } rtp;
-
- struct{
- char* remote_ip;
- tnet_port_t remote_port;
- struct sockaddr_storage remote_addr;
- tnet_socket_t* local_socket;
-
- char* public_ip;
- tnet_port_t public_port;
-
- const void* callback_data;
- trtp_manager_rtcp_cb_f callback;
- } rtcp;
-
- char* local_ip;
- tsk_bool_t ipv6;
- tsk_bool_t started;
- tsk_bool_t enable_rtcp;
- tnet_transport_t* transport;
-}
-trtp_manager_t;
-
-TINYRTP_API trtp_manager_t* trtp_manager_create(tsk_bool_t enable_rtcp, const char* local_ip, tsk_bool_t ipv6);
-TINYRTP_API int trtp_manager_prepare(trtp_manager_t*self);
-TINYRTP_API tsk_bool_t trtp_manager_is_prepared(trtp_manager_t* self);
-TINYRTP_API int trtp_manager_set_natt_ctx(trtp_manager_t* self, tnet_nat_context_handle_t* natt_ctx);
-TINYRTP_API int trtp_manager_set_rtp_callback(trtp_manager_t* self, trtp_manager_rtp_cb_f callback, const void* callback_data);
-TINYRTP_API int trtp_manager_set_payload_type(trtp_manager_t* self, uint8_t payload_type);
-TINYRTP_API int trtp_manager_set_rtp_remote(trtp_manager_t* self, const char* remote_ip, tnet_port_t remote_port);
-TINYRTP_API int trtp_manager_set_rtp_remote(trtp_manager_t* self, const char* remote_ip, tnet_port_t remote_port);
-TINYRTP_API int trtp_manager_set_rtcp_remote(trtp_manager_t* self, const char* remote_ip, tnet_port_t remote_port);
-TINYRTP_API int trtp_manager_start(trtp_manager_t* self);
-TINYRTP_API int trtp_manager_send_rtp(trtp_manager_t* self, const void* data, tsk_size_t size, uint32_t duration, tsk_bool_t marker, tsk_bool_t last_packet);
-TINYRTP_API int trtp_manager_send_rtp_2(trtp_manager_t* self, const struct trtp_rtp_packet_s* packet);
-TINYRTP_API int trtp_manager_stop(trtp_manager_t* self);
-
-TINYRTP_GEXTERN const tsk_object_def_t *trtp_manager_def_t;
-
-TRTP_END_DECLS
-
-#endif /* TINYMEDIA_MANAGER_H */
diff --git a/branches/1.0/tinyRTP/include/tinyrtp_config.h b/branches/1.0/tinyRTP/include/tinyrtp_config.h
deleted file mode 100644
index 584f0fc..0000000
--- a/branches/1.0/tinyRTP/include/tinyrtp_config.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-
-#ifndef TINYRTP_CONFIG_H
-#define TINYRTP_CONFIG_H
-
-#if HAVE_CONFIG_H
- #include "config.h"
-#endif
-
-#ifdef __SYMBIAN32__
-#undef _WIN32 /* Because of WINSCW */
-#endif
-
-/* Windows (XP/Vista/7/CE and Windows Mobile) macro definition.
-*/
-#if defined(WIN32)|| defined(_WIN32) || defined(_WIN32_WCE)
-# define TRTP_UNDER_WINDOWS 1
-#endif
-
-#if (TRTP_UNDER_WINDOWS || defined(__SYMBIAN32__)) && defined(TINYRTP_EXPORTS)
-# define TINYRTP_API __declspec(dllexport)
-# define TINYRTP_GEXTERN __declspec(dllexport)
-#elif (TRTP_UNDER_WINDOWS || defined(__SYMBIAN32__)) /*&& defined(TINYRTP_IMPORTS)*/
-# define TINYRTP_API __declspec(dllimport)
-# define TINYRTP_GEXTERN __declspec(dllimport)
-#else
-# define TINYRTP_API
-# define TINYRTP_GEXTERN extern
-#endif
-
-/* Guards against C++ name mangling
-*/
-#ifdef __cplusplus
-# define TRTP_BEGIN_DECLS extern "C" {
-# define TRTP_END_DECLS }
-#else
-# define TRTP_BEGIN_DECLS
-# define TRTP_END_DECLS
-#endif
-
-/* Disable some well-known warnings
-*/
-#ifdef _MSC_VER
-# define _CRT_SECURE_NO_WARNINGS
-#endif
-
-/* Detecting C99 compilers
- */
-#if (__STDC_VERSION__ == 199901L) && !defined(__C99__)
-# define __C99__
-#endif
-
-#define TRTP_RTP_VERSION 2
-
-#include <stdint.h>
-#ifdef __SYMBIAN32__
-#include <stdlib.h>
-#endif
-
-#if HAVE_CONFIG_H
- #include "../config.h"
-#endif
-
-#endif // TINYRTP_CONFIG_H
diff --git a/branches/1.0/tinyRTP/src/rtcp/trtp_rtcp_session.c b/branches/1.0/tinyRTP/src/rtcp/trtp_rtcp_session.c
deleted file mode 100644
index 5d97083..0000000
--- a/branches/1.0/tinyRTP/src/rtcp/trtp_rtcp_session.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp_rtcp_session.c
- * @brief RTCP session.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#include "tinyrtp/rtcp/trtp_rtcp_session.h"
diff --git a/branches/1.0/tinyRTP/src/rtp/trtp_rtp_header.c b/branches/1.0/tinyRTP/src/rtp/trtp_rtp_header.c
deleted file mode 100644
index 65fffe3..0000000
--- a/branches/1.0/tinyRTP/src/rtp/trtp_rtp_header.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp_rtp_header.c
- * @brief RTP header.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#include "tinyrtp/rtp/trtp_rtp_header.h"
-
-#include "tnet_endianness.h"
-
-#include "tsk_memory.h"
-#include "tsk_debug.h"
-
- /* RFC 3550 section 5.1 - RTP Fixed Header Fields
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |V=2|P|X| CC |M| PT | sequence number |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | timestamp |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | synchronization source (SSRC) identifier |
- +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
- | contributing source (CSRC) identifiers |
- | .... |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-
-/* Create new RTP header */
-trtp_rtp_header_t* trtp_rtp_header_create_null()
-{
- return tsk_object_new(trtp_rtp_header_def_t);
-}
-
-trtp_rtp_header_t* trtp_rtp_header_create(uint32_t ssrc, uint16_t seq_num, uint32_t timestamp, uint8_t payload_type, tsk_bool_t marker)
-{
- trtp_rtp_header_t* header;
- if((header = tsk_object_new(trtp_rtp_header_def_t))){
- header->version = TRTP_RTP_VERSION;
- header->marker = marker ? 1 : 0;
- header->payload_type = payload_type;
- header->seq_num = seq_num;
- header->timestamp = timestamp;
- header->ssrc = ssrc;
- }
- return header;
-}
-
-/** Serialize rtp header object into binary buffer */
-tsk_buffer_t* trtp_rtp_header_serialize(const trtp_rtp_header_t *self)
-{
- tsk_buffer_t* buffer;
- uint8_t* data;
- tsk_size_t i;
-
- if(!self){
- TSK_DEBUG_ERROR("Invalid parameter");
- return tsk_null;
- }
-
- if(!(data = tsk_calloc(TRTP_RTP_HEADER_MIN_SIZE + (4 * self->csrc_count), 1))){
- TSK_DEBUG_ERROR("Failed to allocate buffer");
- return tsk_null;
- }
-
- /* Octet-0: version(2), Padding(1), Extension(1), CSRC Count(4) */
- data[0] = (((uint8_t)self->version)<< 6) |
- (((uint8_t)self->padding)<< 5) |
- (((uint8_t)self->extension)<< 4) |
- ((uint8_t)self->csrc_count);
- /* Octet-1: Marker(1), Payload Type(7) */
- data[1] = (((uint8_t)self->marker)<< 7) |
- ((uint8_t)self->payload_type);
- /* Octet-2-3: Sequence number (16) */
- *((uint16_t*)&data[2]) = tnet_htons(self->seq_num);
- /* Octet-4-5-6-7: timestamp (32) */
- *((uint32_t*)&data[4]) = tnet_htonl(self->timestamp);
- /* Octet-8-9-10-11: SSRC (32) */
- *((uint32_t*)&data[8]) = tnet_htonl(self->ssrc);
-
- /* Octet-12-13-14-15-****: CSRC */
- for(i=0; i<self->csrc_count; i++){
- *((uint32_t*)&data[12+i]) = tnet_htonl(self->csrc[i]);
- }
-
- if(!(buffer = tsk_buffer_create_null())){
- TSK_DEBUG_ERROR("Failed to create new buffer");
- TSK_FREE(data);
- return tsk_null;
- }
- else{
- tsk_buffer_takeownership(buffer, (void**)&data, TRTP_RTP_HEADER_MIN_SIZE + (4 * self->csrc_count));
- }
-
- return buffer;
-}
-
-/** Deserialize rtp header object from binary buffer */
-trtp_rtp_header_t* trtp_rtp_header_deserialize(const void *data, tsk_size_t size)
-{
- trtp_rtp_header_t* header = tsk_null;
- const uint8_t* pdata = (const uint8_t*)data;
- uint8_t csrc_count, i;
-
- if(!data){
- TSK_DEBUG_ERROR("Invalid parameter");
- return tsk_null;
- }
-
- if(size <TRTP_RTP_HEADER_MIN_SIZE){
- TSK_DEBUG_ERROR("Too short to contain RTP header");
- return tsk_null;
- }
-
- /* Before starting to deserialize, get the "csrc_count" and check the length validity
- * CSRC count (4 last bits)
- */
- csrc_count = (*pdata & 0x0F);
- if(size <(tsk_size_t)TRTP_RTP_HEADER_MIN_SIZE + (4 * csrc_count)){
- TSK_DEBUG_ERROR("Too short to contain RTP header");
- return tsk_null;
- }
-
- if(!(header = trtp_rtp_header_create_null())){
- TSK_DEBUG_ERROR("Failed to create new RTP header");
- return tsk_null;
- }
-
- /* version (2bits) */
- header->version = (*pdata >> 6);
- /* Padding (1bit) */
- header->padding = ((*pdata >>5) & 0x01);
- /* Extension (1bit) */
- header->extension = ((*pdata >>4) & 0x01);
- /* CSRC Count (4bits) */
- header->csrc_count = csrc_count;
- // skip octet
- ++pdata;
-
- /* Marker (1bit) */
- header->marker = (*pdata >> 7);
- /* Payload Type (7bits) */
- header->payload_type = (*pdata & 0x7F);
- // skip octet
- ++pdata;
-
- /* Sequence Number (16bits) */
- header->seq_num = tnet_ntohs(*((uint16_t*)pdata));
- // skip octets
- pdata += 2;
-
- /* timestamp (32bits) */
- header->timestamp = tnet_ntohl(*((uint32_t*)pdata));
- // skip octets
- pdata += 4;
-
- /* synchronization source (SSRC) identifier (32bits) */
- header->ssrc = tnet_ntohl(*((uint32_t*)pdata));
- // skip octets
- pdata += 4;
-
- /* contributing source (CSRC) identifiers */
- for(i=0; i<csrc_count; i++, pdata += 4){
- header->csrc[i] = tnet_ntohl(*((uint32_t*)pdata));
- }
-
- return header;
-}
-
-
-
-
-
-
-//=================================================================================================
-// RTP header object definition
-//
-static tsk_object_t* trtp_rtp_header_ctor(tsk_object_t * self, va_list * app)
-{
- trtp_rtp_header_t *header = self;
- if(header){
- }
- return self;
-}
-
-static tsk_object_t* trtp_rtp_header_dtor(tsk_object_t * self)
-{
- trtp_rtp_header_t *header = self;
- if(header){
- }
-
- return self;
-}
-
-static const tsk_object_def_t trtp_rtp_header_def_s =
-{
- sizeof(trtp_rtp_header_t),
- trtp_rtp_header_ctor,
- trtp_rtp_header_dtor,
- tsk_null,
-};
-const tsk_object_def_t *trtp_rtp_header_def_t = &trtp_rtp_header_def_s; \ No newline at end of file
diff --git a/branches/1.0/tinyRTP/src/rtp/trtp_rtp_packet.c b/branches/1.0/tinyRTP/src/rtp/trtp_rtp_packet.c
deleted file mode 100644
index 2f2fcb4..0000000
--- a/branches/1.0/tinyRTP/src/rtp/trtp_rtp_packet.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp_rtp_packet.c
- * @brief RTP packet.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#include "tinyrtp/rtp/trtp_rtp_packet.h"
-
-#include "tnet_endianness.h"
-
-#include "tsk_memory.h"
-#include "tsk_debug.h"
-
-#include <string.h> /* memcpy() */
-
-/** Create new RTP packet */
-trtp_rtp_packet_t* trtp_rtp_packet_create_null()
-{
- return tsk_object_new(trtp_rtp_packet_def_t);
-}
-
-trtp_rtp_packet_t* trtp_rtp_packet_create(uint32_t ssrc, uint16_t seq_num, uint32_t timestamp, uint8_t payload_type, tsk_bool_t marker)
-{
- trtp_rtp_packet_t* packet;
- if((packet = tsk_object_new(trtp_rtp_packet_def_t))){
- packet->header = trtp_rtp_header_create(ssrc, seq_num, timestamp, payload_type, marker);
- }
- return packet;
-}
-
-/** Serialize rtp packet object into binary buffer */
-tsk_buffer_t* trtp_rtp_packet_serialize(const trtp_rtp_packet_t *self)
-{
- tsk_buffer_t* buffer = tsk_null;
-
- if(!self || !self->header){
- TSK_DEBUG_ERROR("Invalid parameter");
- return tsk_null;
- }
-
- if(!(buffer = trtp_rtp_header_serialize(self->header))){
- TSK_DEBUG_ERROR("Failed to serialize the RTP header");
- return tsk_null;
- }
- else{
- /* extension */
- if(self->extension.data && self->extension.size && self->header->extension){
- tsk_buffer_append(buffer, self->extension.data, self->extension.size);
- }
- /* append payload */
- tsk_buffer_append(buffer, self->payload.data_const ? self->payload.data_const : self->payload.data, self->payload.size);
- }
-
- return buffer;
-}
-
-/** Deserialize rtp packet object from binary buffer */
-trtp_rtp_packet_t* trtp_rtp_packet_deserialize(const void *data, tsk_size_t size)
-{
- trtp_rtp_packet_t* packet = tsk_null;
- trtp_rtp_header_t *header;
- tsk_size_t payload_size;
- const uint8_t* pdata = data;
-
- if(!data){
- TSK_DEBUG_ERROR("Invalid parameter");
- return tsk_null;
- }
-
- if(size< TRTP_RTP_HEADER_MIN_SIZE){
- TSK_DEBUG_ERROR("Too short to contain RTP message");
- return tsk_null;
- }
-
- /* deserialize the RTP header (the packet itsel will be deserialized only if the header deserialization succeed) */
- if(!(header = trtp_rtp_header_deserialize(data, size))){
- TSK_DEBUG_ERROR("Failed to deserialize RTP header");
- return tsk_null;
- }
- else{
- /* create the packet */
- if(!(packet = trtp_rtp_packet_create_null())){
- TSK_DEBUG_ERROR("Failed to create new RTP packet");
- TSK_OBJECT_SAFE_FREE(header);
- return tsk_null;
- }
- /* set the header */
- packet->header = header,
- header = tsk_null;
-
- /* do not need to check overflow (have been done by trtp_rtp_header_deserialize()) */
- payload_size = (size - TRTP_RTP_HEADER_MIN_SIZE - (packet->header->csrc_count * 4));
- pdata = ((const uint8_t*)data) + (size - payload_size);
-
- /* RFC 3550 - 5.3.1 RTP Header Extension
- If the X bit in the RTP header is one, a variable-length header
- extension MUST be appended to the RTP header, following the CSRC list
- if present. The header extension contains a 16-bit length field that
- counts the number of 32-bit words in the extension, excluding the
- four-octet extension header (therefore zero is a valid length). Only
- a single extension can be appended to the RTP data header.
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | defined by profile | length |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | header extension |
- | .... |
- */
- if(packet->header->extension && payload_size>=4 /* extension min-size */){
- pdata += 2; /* skip "defined by profile" field */
- packet->extension.size = 4 /* first two 16-bit fields */ + (tnet_ntohs(*((uint16_t*)pdata)) * 4/*words(32-bit)*/);
- pdata += 2; /* skip "length" field */
- if((packet->extension.data = tsk_calloc(packet->extension.size, sizeof(uint8_t)))){
- memcpy(packet->extension.data, (pdata - 4), packet->extension.size);
- }
- payload_size -= packet->extension.size;
- }
-
- packet->payload.size = payload_size;
- if(payload_size && (packet->payload.data = tsk_calloc(packet->payload.size, sizeof(uint8_t)))){
- memcpy(packet->payload.data, pdata, packet->payload.size);
- }
- else{
- TSK_DEBUG_ERROR("Failed to allocate new buffer");
- packet->payload.size = 0;
- }
- }
-
- return packet;
-}
-
-
-
-
-
-
-
-
-
-//=================================================================================================
-// RTP packet object definition
-//
-static tsk_object_t* trtp_rtp_packet_ctor(tsk_object_t * self, va_list * app)
-{
- trtp_rtp_packet_t *packet = self;
- if(packet){
- }
- return self;
-}
-
-static tsk_object_t* trtp_rtp_packet_dtor(tsk_object_t * self)
-{
- trtp_rtp_packet_t *packet = self;
- if(packet){
- TSK_OBJECT_SAFE_FREE(packet->header);
- TSK_FREE(packet->payload.data);
- TSK_FREE(packet->extension.data);
- packet->payload.data_const = tsk_null;
- }
-
- return self;
-}
-
-static const tsk_object_def_t trtp_rtp_packet_def_s =
-{
- sizeof(trtp_rtp_packet_t),
- trtp_rtp_packet_ctor,
- trtp_rtp_packet_dtor,
- tsk_null,
-};
-const tsk_object_def_t *trtp_rtp_packet_def_t = &trtp_rtp_packet_def_s;
diff --git a/branches/1.0/tinyRTP/src/rtp/trtp_rtp_session.c b/branches/1.0/tinyRTP/src/rtp/trtp_rtp_session.c
deleted file mode 100644
index 73e4bab..0000000
--- a/branches/1.0/tinyRTP/src/rtp/trtp_rtp_session.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp_rtp_session.c
- * @brief RTP session.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#include "tinyrtp/rtp/trtp_rtp_session.h" \ No newline at end of file
diff --git a/branches/1.0/tinyRTP/src/trtp.c b/branches/1.0/tinyRTP/src/trtp.c
deleted file mode 100644
index cf87148..0000000
--- a/branches/1.0/tinyRTP/src/trtp.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp.h
- * @brief tinyRTP (Real-time Transport Protocol) as per RFC 3550.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#include "tinyrtp/trtp.h"
-
diff --git a/branches/1.0/tinyRTP/src/trtp_manager.c b/branches/1.0/tinyRTP/src/trtp_manager.c
deleted file mode 100644
index 9b5d6c8..0000000
--- a/branches/1.0/tinyRTP/src/trtp_manager.c
+++ /dev/null
@@ -1,518 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-/**@file trtp_manager.c
- * @brief RTP/RTCP manager.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#include "tinyrtp/trtp_manager.h"
-
-#include "tinyrtp/rtp/trtp_rtp_packet.h"
-
-#include "tsk_string.h"
-#include "tsk_memory.h"
-#include "tsk_debug.h"
-
-#define TINY_RCVBUF (256/2/*Will be doubled and min on linux is 256*/) /* tiny buffer used to disable receiving */
-#define BIG_RCVBUF 64000
-#define BIG_SNDBUF 64000
-
-// TODO: Add support for outbound DTMF (http://www.ietf.org/rfc/rfc2833.txt)
-
-/* ======================= Transport callback ========================== */
-static int trtp_transport_layer_cb(const tnet_transport_event_t* e)
-{
- int ret = -1;
- const trtp_manager_t *manager = e->callback_data;
- trtp_rtp_packet_t* packet = tsk_null;
-
- switch(e->type){
- case event_data: {
- break;
- }
- case event_closed:
- case event_connected:
- default:{
- return 0;
- }
- }
-
- //
- // RTCP
- //
- if(manager->rtcp.local_socket && manager->rtcp.local_socket->fd == e->local_fd){
- TSK_DEBUG_INFO("RTCP packet");
- }
- //
- // RTP
- //
- else if(manager->transport->master && (manager->transport->master->fd == e->local_fd)){
- if(manager->rtp.callback){
- if((packet = trtp_rtp_packet_deserialize(e->data, e->size))){
- manager->rtp.callback(manager->rtp.callback_data, packet);
- TSK_OBJECT_SAFE_FREE(packet);
- }
- else{
- TSK_DEBUG_ERROR("RTP packet === NOK");
- goto bail;
- }
- }
- }
- //
- // UNKNOWN
- //
- else{
- TSK_DEBUG_INFO("XXXX packet");
- goto bail;
- }
-
-bail:
-
- return ret;
-}
-
-
-
-/** Create RTP/RTCP manager */
-trtp_manager_t* trtp_manager_create(tsk_bool_t enable_rtcp, const char* local_ip, tsk_bool_t ipv6)
-{
- trtp_manager_t* manager;
- if((manager = tsk_object_new(trtp_manager_def_t))){
- manager->enable_rtcp = enable_rtcp;
- manager->local_ip = tsk_strdup(local_ip);
- manager->ipv6 = ipv6;
- manager->rtp.payload_type = 127;
- }
- return manager;
-}
-
-/** Prepares the RTP/RTCP manager */
-int trtp_manager_prepare(trtp_manager_t* self)
-{
- uint8_t retry_count = 7;
- tnet_socket_type_t socket_type;
-
- if(!self){
- TSK_DEBUG_ERROR("Invalid parameter");
- return -1;
- }
- if(self->transport){
- TSK_DEBUG_ERROR("RTP/RTCP manager already prepared");
- return -2;
- }
-
- socket_type = self->ipv6 ? tnet_socket_type_udp_ipv6 : tnet_socket_type_udp_ipv4;
-
- /* Creates local rtp and rtcp sockets */
- while(retry_count--){
- /* random number in the range 1024 to 65535 */
-#if 0
- tnet_port_t local_port = 6060;
-#else
- tnet_port_t local_port = ((rand() % 64510) + 1025);
-#endif
- local_port = (local_port & 0xFFFE); /* turn to even number */
-
- /* beacuse failure will cause errors in the log, print a message to alert that there is
- * nothing to worry about */
- TSK_DEBUG_INFO("RTP/RTCP manager[Begin]: Trying to bind to random ports");
-
- /* RTP */
- if((self->transport = tnet_transport_create(self->local_ip, local_port, socket_type, "RTP/RTCP Manager"))){
- /* set callback function */
- tnet_transport_set_callback(self->transport, trtp_transport_layer_cb, self);
- tsk_strupdate(&self->rtp.public_ip, self->transport->master->ip);
- self->rtp.public_port = local_port;
- /* Disable receiving until we start the transport (To avoid buffering) */
- {
- int err, optval = TINY_RCVBUF;
- if((err = setsockopt(self->transport->master->fd, SOL_SOCKET, SO_RCVBUF, (char*)&optval, sizeof(optval)))){
- TNET_PRINT_LAST_ERROR("setsockopt(SOL_SOCKET, SO_RCVBUF) has failed with error code %d", err);
- }
- }
- }
- else {
- TSK_DEBUG_ERROR("Failed to create RTP/RTCP Transport");
- return -3;
- }
-
- /* RTCP */
- if(self->enable_rtcp){
- if(!(self->rtcp.local_socket = tnet_socket_create(self->local_ip, local_port+1, socket_type))){
- TSK_DEBUG_WARN("Failed to bind to %d", local_port+1);
- TSK_OBJECT_SAFE_FREE(self->transport);
- continue;
- }
- else{
- tsk_strupdate(&self->rtcp.public_ip, self->rtcp.local_socket->ip);
- self->rtcp.public_port = local_port + 1;
- }
- }
-
- TSK_DEBUG_INFO("RTP/RTCP manager[End]: Trying to bind to random ports");
- break;
- }
-
- return 0;
-}
-
-/** Indicates whether the manager is already prepared or not */
-tsk_bool_t trtp_manager_is_prepared(trtp_manager_t* self)
-{
- if(!self){
- TSK_DEBUG_ERROR("Invalid parameter");
- return tsk_false;
- }
- return self->transport == tsk_null ? tsk_false : tsk_true;
-}
-
-/** Sets NAT Traversal context */
-int trtp_manager_set_natt_ctx(trtp_manager_t* self, tnet_nat_context_handle_t* natt_ctx)
-{
- int ret;
-
- if(!self || !self->transport){
- TSK_DEBUG_ERROR("Invalid parameter");
- return -1;
- }
- if(!(ret = tnet_transport_set_natt_ctx(self->transport, natt_ctx))){
- tnet_ip_t public_ip = {0};
- tnet_port_t public_port = 0;
- /* get RTP public IP and Port */
- if(!tnet_transport_get_public_ip_n_port(self->transport, self->transport->master->fd, &public_ip, &public_port)){
- tsk_strupdate(&self->rtp.public_ip, public_ip);
- self->rtp.public_port = public_port;
- }
- /* get RTCP public IP and Port */
- memset(public_ip, 0, sizeof(public_ip));
- public_port = 0;
- if(self->rtcp.local_socket && !tnet_transport_get_public_ip_n_port(self->transport, self->rtcp.local_socket->fd, &public_ip, &public_port)){
- tsk_strupdate(&self->rtcp.public_ip, public_ip);
- self->rtcp.public_port = public_port;
- }
- }
- return ret;
-}
-
-/** Sets RTP callback */
-int trtp_manager_set_rtp_callback(trtp_manager_t* self, trtp_manager_rtp_cb_f callback, const void* callback_data)
-{
- if(!self){
- TSK_DEBUG_ERROR("Invalid parameter");
- return -1;
- }
-
- self->rtp.callback = callback;
- self->rtp.callback_data = callback_data;
-
- return 0;
-}
-
-/** Sets the payload type */
-int trtp_manager_set_payload_type(trtp_manager_t* self, uint8_t payload_type)
-{
- if(!self){
- TSK_DEBUG_ERROR("Invalid parameter");
- return -1;
- }
- self->rtp.payload_type = payload_type;
- return 0;
-}
-
-/** Sets remote parameters for rtp session */
-int trtp_manager_set_rtp_remote(trtp_manager_t* self, const char* remote_ip, tnet_port_t remote_port)
-{
- if(!self){
- TSK_DEBUG_ERROR("Invalid parameter");
- return -1;
- }
- tsk_strupdate(&self->rtp.remote_ip, remote_ip);
- self->rtp.remote_port = remote_port;
- return 0;
-}
-
-/** Sets remote parameters for rtcp session */
-int trtp_manager_set_rtcp_remote(trtp_manager_t* self, const char* remote_ip, tnet_port_t remote_port)
-{
- if(!self){
- TSK_DEBUG_ERROR("Invalid parameter");
- return -1;
- }
- tsk_strupdate(&self->rtcp.remote_ip, remote_ip);
- self->rtcp.remote_port = remote_port;
- return 0;
-}
-
-/** Starts the RTP/RTCP manager */
-int trtp_manager_start(trtp_manager_t* self)
-{
- int ret = 0;
-
- if(!self){
- TSK_DEBUG_ERROR("Invalid parameter");
- return -1;
- }
-
- if(self->started){
- TSK_DEBUG_WARN("RTP/RTCP manager already started");
- return 0;
- }
-
- if(!self->transport || !self->transport->master){
- TSK_DEBUG_ERROR("RTP/RTCP manager not prepared");
- return -2;
- }
-
- /* Change RCV and SND buffer sizes */
- {
- char buff[1024];
- int rcv_buf = BIG_RCVBUF, snd_buf = BIG_SNDBUF;
- TSK_DEBUG_INFO("Start flushing RTP socket...");
- // Buffer should be empty ...but who know?
- // rcv() should never block() as we are always using non-blocking sockets
- while ((ret = recv(self->transport->master->fd, buff, sizeof(buff), 0)) > 0){
- TSK_DEBUG_INFO("Flushing RTP Buffer %d", ret);
- }
- TSK_DEBUG_INFO("End flushing RTP socket");
- if((ret = setsockopt(self->transport->master->fd, SOL_SOCKET, SO_RCVBUF, (char*)&rcv_buf, sizeof(rcv_buf)))){
- TNET_PRINT_LAST_ERROR("setsockopt(SOL_SOCKET, SO_RCVBUF) has failed with error code %d", ret);
- return ret;
- }
- if((ret = setsockopt(self->transport->master->fd, SOL_SOCKET, SO_SNDBUF, (char*)&snd_buf, sizeof(snd_buf)))){
- TNET_PRINT_LAST_ERROR("setsockopt(SOL_SOCKET, SO_RCVBUF) has failed with error code %d", ret);
- return ret;
- }
- }
-
- /* start the transport */
- if((ret = tnet_transport_start(self->transport))){
- TSK_DEBUG_ERROR("Failed to start the RTP/RTCP transport");
- return ret;
- }
-
- /* RTP */
- if((ret = tnet_sockaddr_init(self->rtp.remote_ip, self->rtp.remote_port, self->transport->master->type, &self->rtp.remote_addr))){
- tnet_transport_shutdown(self->transport);
- TSK_DEBUG_ERROR("Invalid RTP host:port [%s:%u]", self->rtp.remote_ip, self->rtp.remote_port);
- return ret;
- }
-
- /* RTCP */
- if(self->enable_rtcp){
- if(!self->rtcp.remote_ip){
- self->rtcp.remote_ip = tsk_strdup(self->rtp.remote_ip);
- }
- if(!self->rtcp.remote_port){
- self->rtcp.remote_port = self->rtp.remote_port;
- }
- }
- if(self->enable_rtcp && (ret = tnet_sockaddr_init(self->rtcp.remote_ip, self->rtcp.remote_port, self->rtcp.local_socket->type, &self->rtp.remote_addr))){
- TSK_DEBUG_ERROR("Invalid RTCP host:port [%s:%u]", self->rtcp.remote_ip, self->rtcp.remote_port);
- /* do not exit */
- }
-
- /* add RTCP socket to the transport */
- if(self->enable_rtcp && (ret = tnet_transport_add_socket(self->transport, self->rtcp.local_socket->fd, self->rtcp.local_socket->type, tsk_false, tsk_true/* only Meaningful for tls*/))){
- TSK_DEBUG_ERROR("Failed to add RTCP socket");
- /* do not exit */
- }
-
-
-#if 0
- {
- int flags;
- if((flags = fcntl(self->transport->master->fd, F_GETFL, 0)) < 0) {
- TNET_PRINT_LAST_ERROR("fcntl(F_GETFL) have failed.");
- }
- else{
- if(fcntl(self->transport->master->fd, F_SETFL, flags | O_DIRECT) < 0){
- TNET_PRINT_LAST_ERROR("fcntl(O_DIRECT) have failed.");
- }
- }
- }
-#endif
- self->started = tsk_true;
-
- return 0;
-}
-
-/* Encapsulate raw data into RTP packet and send it over the network
-* Very IMPORTANT: For voice packets, the marker bits indicates the beginning of a talkspurt */
-int trtp_manager_send_rtp(trtp_manager_t* self, const void* data, tsk_size_t size, uint32_t duration, tsk_bool_t marker, tsk_bool_t last_packet)
-{
- trtp_rtp_packet_t* packet;
- tsk_buffer_t* buffer;
- int ret = -1;
-
- if(!self || !data || !size){
- TSK_DEBUG_ERROR("Invalid parameter");
- return -1;
- }
-
- if(!self->started){
- //--TSK_DEBUG_ERROR("RTP/RTCP manager should be started before trying to send data");
- return -2;
- }
-
- /* create packet with header */
- if(!(packet = trtp_rtp_packet_create(self->rtp.ssrc, self->rtp.seq_num++, self->rtp.timestamp, self->rtp.payload_type, marker))){
- return -3;
- }
- if(last_packet){
- self->rtp.timestamp += duration;
- }
-
- /* set data */
-#if 0
- if((packet->payload.data = tsk_calloc(size, sizeof(uint8_t)))){
- memcpy(packet->payload.data, data, size);
- packet->payload.size = size;
- }
-#else
- packet->payload.data_const = data;
- packet->payload.size = size;
-#endif
-
- /* serialize and send over the network */
- if((buffer = trtp_rtp_packet_serialize(packet))){
- if(/* number of bytes sent */tnet_sockfd_sendto(self->transport->master->fd, (const struct sockaddr *)&self->rtp.remote_addr, buffer->data, buffer->size)){
- ret = 0;
- }
- TSK_OBJECT_SAFE_FREE(buffer);
- }
- else{
- TSK_DEBUG_ERROR("Failed to serialize RTP packet");
- ret = -5;
- goto bail;
- }
-
-bail:
- TSK_OBJECT_SAFE_FREE(packet);
- return ret;
-}
-
-int trtp_manager_send_rtp_2(trtp_manager_t* self, const struct trtp_rtp_packet_s* packet)
-{
- tsk_buffer_t* buffer;
- int ret;
-
- if(!self || !packet){
- TSK_DEBUG_ERROR("Invalid parameter");
- return -1;
- }
-
- /* serialize and send over the network */
- if((buffer = trtp_rtp_packet_serialize(packet))){
- if(/* number of bytes sent */tnet_sockfd_sendto(self->transport->master->fd, (const struct sockaddr *)&self->rtp.remote_addr, buffer->data, buffer->size)){
- ret = 0;
- }
- TSK_OBJECT_SAFE_FREE(buffer);
- }
- else{
- TSK_DEBUG_ERROR("Failed to serialize RTP packet");
- ret = -5;
- }
- return ret;
-}
-
-/** Stops the RTP/RTCP manager */
-int trtp_manager_stop(trtp_manager_t* self)
-{
- int ret;
-
- if(!self){
- TSK_DEBUG_ERROR("Invalid parameter");
- return -1;
- }
-
- if(!self->started){
- TSK_DEBUG_WARN("RTP/RTCP manager not started");
- return 0;
- }
-
- if(!self->transport){
- TSK_DEBUG_ERROR("RTP/RTCP manager not prepared");
- return -2;
- }
-
- if(!(ret = tnet_transport_shutdown(self->transport))){
- self->started = tsk_false;
- }
-
- return ret;
-}
-
-
-
-
-//=================================================================================================
-// RTP manager object definition
-//
-static tsk_object_t* trtp_manager_ctor(tsk_object_t * self, va_list * app)
-{
- trtp_manager_t *manager = self;
- if(manager){
- /* rtp */
- manager->rtp.timestamp = rand()^rand();
- manager->rtp.seq_num = rand()^rand();
- manager->rtp.ssrc = rand()^rand();
-
- /* rtcp */
- }
- return self;
-}
-
-static tsk_object_t* trtp_manager_dtor(tsk_object_t * self)
-{
- trtp_manager_t *manager = self;
- if(manager){
- /* stop */
- if(manager->started){
- trtp_manager_stop(manager);
- }
-
- /* rtp */
- TSK_FREE(manager->rtp.remote_ip);
- TSK_FREE(manager->rtp.public_ip);
-
- /* rtcp */
- TSK_FREE(manager->rtcp.remote_ip);
- TSK_FREE(manager->rtcp.public_ip);
- TSK_OBJECT_SAFE_FREE(manager->rtcp.local_socket);
-
- TSK_FREE(manager->local_ip);
- TSK_OBJECT_SAFE_FREE(manager->transport);
- }
-
- return self;
-}
-
-static const tsk_object_def_t trtp_manager_def_s =
-{
- sizeof(trtp_manager_t),
- trtp_manager_ctor,
- trtp_manager_dtor,
- tsk_null,
-};
-const tsk_object_def_t *trtp_manager_def_t = &trtp_manager_def_s;
diff --git a/branches/1.0/tinyRTP/test/test.c b/branches/1.0/tinyRTP/test/test.c
deleted file mode 100644
index f0f15f6..0000000
--- a/branches/1.0/tinyRTP/test/test.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-* Copyright (C) 2009 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-#include <string.h>
-#include <stdlib.h>
-
-#include "tinyrtp.h"
-
-#define LOOP 1
-
-#define RUN_TEST_ALL 0
-#define RUN_TEST_PARSER 0
-#define RUN_TEST_MANAGER 1
-
-#include "test_parser.h"
-#include "test_manager.h"
-
-
-
-#ifdef _WIN32_WCE
-int _tmain(int argc, _TCHAR* argv[])
-#else
-int main()
-#endif
-{
- tnet_startup();
-
- do{
- /* Print copyright information */
- printf("Doubango Project\nCopyright (C) 2009-2010 Mamadou Diop \n\n");
-
-#if RUN_TEST_PARSER || RUN_TEST_ALL
- test_parser();
-#endif
-
-#if RUN_TEST_MANAGER || RUN_TEST_ALL
- test_manager();
-#endif
-
- }
- while(LOOP);
-
- tnet_cleanup();
-
- return 0;
-}
-
diff --git a/branches/1.0/tinyRTP/test/test.vcproj b/branches/1.0/tinyRTP/test/test.vcproj
deleted file mode 100644
index b70b2ea..0000000
--- a/branches/1.0/tinyRTP/test/test.vcproj
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="test"
- ProjectGUID="{A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}"
- RootNamespace="test"
- Keyword="Win32Proj"
- TargetFrameworkVersion="196613"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\thirdparties\win32\include;..\..\tinyRTP\include;..\..\tinySAK\src;..\..\tinyNET\src"
- PreprocessorDefinitions="DEBUG_LEVEL=DEBUG_LEVEL_INFO;WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- WarnAsError="true"
- DebugInformationFormat="4"
- CompileAs="1"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)\tinySAK.lib $(OutDir)\tinyNET.lib $(OutDir)\tinyRTP.lib"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- EnableIntrinsicFunctions="true"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- CompileAs="1"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="source"
- >
- <File
- RelativePath=".\test.c"
- >
- </File>
- </Filter>
- <Filter
- Name="include"
- >
- </Filter>
- <Filter
- Name="tests"
- >
- <File
- RelativePath=".\test_manager.h"
- >
- </File>
- <File
- RelativePath=".\test_parser.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/branches/1.0/tinyRTP/test/test_manager.h b/branches/1.0/tinyRTP/test/test_manager.h
deleted file mode 100644
index e67dec5..0000000
--- a/branches/1.0/tinyRTP/test/test_manager.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* Copyright (C) 2009 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-#ifndef _TEST_MANAGER_H_
-#define _TEST_MANAGER_H_
-
-void test_manager()
-{
- tsk_size_t i;
- trtp_manager_t* manager;
-
- if(!(manager = trtp_manager_create(tsk_true, "192.168.0.12", tsk_false))){
- goto bail;
- }
-
- trtp_manager_set_payload_type(manager, 8);
-
- /* Prepare: this will allow you to generate local port and ip */
- if(trtp_manager_prepare(manager)){
- goto bail;
- }
-
- /* set remote parameters (rtcp ip:port not mandator, could be retrieved from rtp values) */
- if(trtp_manager_set_rtp_remote(manager, "192.168.0.13", 5081)){
- goto bail;
- }
- if(trtp_manager_set_rtcp_remote(manager, "192.168.0.13", 2861)){
- goto bail;
- }
-
- /* start */
- if(trtp_manager_start(manager)){
- goto bail;
- }
-
- /* send data */
- for(i=0;i<2; i++){
- if(trtp_manager_send_rtp(manager, "test", tsk_strlen("test"), 160, tsk_true)){
- goto bail;
- }
- }
-
- getchar();
-
-bail:
- /* stop and destroy */
- TSK_OBJECT_SAFE_FREE(manager);
-}
-
-#endif /* _TEST_MANAGER_H_ */
-
diff --git a/branches/1.0/tinyRTP/test/test_parser.h b/branches/1.0/tinyRTP/test/test_parser.h
deleted file mode 100644
index a86dbef..0000000
--- a/branches/1.0/tinyRTP/test/test_parser.h
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
-* Copyright (C) 2009 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-#ifndef _TEST_PARSER_H_
-#define _TEST_PARSER_H_
-
-char packet_0[] = {
-0x80, 0x88, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa0,
-0xd2, 0xbd, 0x4e, 0x3e, 0xdc, 0xde, 0xc4, 0xc5,
-0xdc, 0xd0, 0xd5, 0x51, 0x53, 0x5d, 0x5f, 0x5b,
-0x46, 0x46, 0x46, 0x5b, 0x44, 0x41, 0x42, 0x4f,
-0x42, 0x47, 0x42, 0x43, 0x59, 0x58, 0x59, 0x5f,
-0x5f, 0x52, 0x59, 0x44, 0x44, 0x5f, 0x51, 0x54,
-0x55, 0x55, 0x51, 0x56, 0x50, 0x52, 0x5e, 0x58,
-0x5d, 0x52, 0x52, 0x50, 0x57, 0x54, 0xd4, 0xd6,
-0xd5, 0x51, 0x53, 0x57, 0xd6, 0xd6, 0xd0, 0xd7,
-0x57, 0x56, 0x57, 0xd0, 0xd3, 0xd6, 0xd5, 0x55,
-0x51, 0x50, 0xd6, 0xdf, 0xd2, 0xd1, 0xd4, 0xd6,
-0xdc, 0xdb, 0xda, 0xdd, 0xd6, 0x55, 0xdc, 0xd0,
-0xd4, 0x5d, 0x44, 0x5c, 0x56, 0xd6, 0xd5, 0xd4,
-0xd5, 0xd7, 0x50, 0xd4, 0x51, 0xd0, 0x61, 0x6f,
-0x76, 0xfe, 0xef, 0xf7, 0x77, 0x66, 0x50, 0xff,
-0xe5, 0xd7, 0x74, 0x4a, 0xc9, 0xf9, 0xf7, 0x5c,
-0x76, 0x5f, 0xf5, 0xf3, 0xdd, 0x4e, 0x42, 0xd8,
-0xf7, 0xc9, 0x50, 0x44, 0x50, 0xcd, 0xc9, 0xd4,
-0x4d, 0x41, 0x57, 0xd1, 0x51, 0x58, 0x44, 0x52,
-0xd3, 0xd1, 0x50, 0x58, 0x5b, 0x55, 0xd4, 0x53,
-0x59, 0x43, 0x47, 0x5f, 0x51, 0x5d, 0x56, 0xd2,
-0xde, 0xd7, 0x52, 0xd5 };
-char packet_1[] = {
-0x80, 0x08, 0x00, 0x02, 0x00, 0x00, 0x01, 0x40,
-0xd2, 0xbd, 0x4e, 0x3e, 0xd2, 0xc7, 0xc5, 0xd3,
-0xd1, 0xd6, 0xd5, 0x55, 0xd2, 0xd2, 0xd3, 0xdf,
-0xc4, 0xd9, 0xdb, 0xc6, 0xc6, 0xc9, 0xc1, 0xf5,
-0xcf, 0xf0, 0xcb, 0xe4, 0x7d, 0x14, 0x7a, 0xfd,
-0xfd, 0x62, 0x63, 0x41, 0xee, 0xe7, 0x40, 0x6c,
-0x46, 0xf8, 0xf3, 0x74, 0x7b, 0x58, 0xf3, 0xf1,
-0xd6, 0x5d, 0xc7, 0xfd, 0xff, 0xf5, 0x55, 0xd9,
-0xcb, 0xcb, 0xde, 0xd1, 0xda, 0xca, 0xcd, 0xc5,
-0xc4, 0x41, 0x72, 0x41, 0x55, 0xda, 0x54, 0x5c,
-0x40, 0x59, 0xd1, 0x5f, 0x4b, 0x40, 0x51, 0x52,
-0x45, 0x4b, 0x77, 0x49, 0x4e, 0x4e, 0x48, 0x4a,
-0x75, 0x47, 0x75, 0x7b, 0x72, 0x42, 0x58, 0x4c,
-0x46, 0xd5, 0xc2, 0xd1, 0x5d, 0x44, 0x50, 0xd0,
-0x53, 0x43, 0x41, 0x52, 0x53, 0x5a, 0x44, 0x50,
-0xdd, 0x45, 0x65, 0x7d, 0x74, 0x4c, 0x70, 0x43,
-0x53, 0xc4, 0xc5, 0x5b, 0x5a, 0x5c, 0x51, 0x4f,
-0x70, 0x4a, 0x58, 0x5e, 0x75, 0x76, 0x40, 0x57,
-0x51, 0x46, 0x5e, 0x5c, 0xd5, 0x5c, 0x5c, 0x5e,
-0x5e, 0x4d, 0x41, 0x44, 0xd4, 0xd6, 0xd5, 0x52,
-0x54, 0xdd, 0xd7, 0xd3, 0x56, 0x51, 0x55, 0xdf,
-0x54, 0xd1, 0xd2, 0xda };
-char packet_2[] = {
-0x80, 0x08, 0x00, 0x03, 0x00, 0x00, 0x01, 0xe0,
-0xd2, 0xbd, 0x4e, 0x3e, 0xdb, 0xd1, 0xd5, 0xd0,
-0xd2, 0xd3, 0x57, 0xd5, 0xd6, 0xd6, 0xd1, 0xd5,
-0xd1, 0xdd, 0xd5, 0xd1, 0xd1, 0xd4, 0x5f, 0x56,
-0x5f, 0x5a, 0x53, 0x59, 0x5c, 0x5f, 0x5d, 0x5d,
-0xd6, 0xd0, 0xd8, 0x54, 0xc4, 0xd9, 0xc6, 0xdc,
-0x57, 0x56, 0x56, 0x57, 0x51, 0x54, 0x53, 0x57,
-0x59, 0x44, 0x44, 0x5e, 0x45, 0x45, 0x5a, 0x5e,
-0x53, 0x58, 0x4c, 0x45, 0x59, 0x45, 0x5b, 0x57,
-0x52, 0x5e, 0x5e, 0x59, 0x5c, 0x51, 0xd7, 0xd0,
-0xc5, 0xc1, 0xd8, 0xc1, 0xcd, 0xcd, 0xc2, 0xcd,
-0xc6, 0xcc, 0xc0, 0xc6, 0xc1, 0xc9, 0xcb, 0xdb,
-0xd0, 0xdd, 0xc6, 0xd8, 0xd5, 0x5f, 0x41, 0x46,
-0x4f, 0x74, 0x76, 0x70, 0x72, 0x7f, 0x72, 0x77,
-0x49, 0x4a, 0x76, 0x4a, 0x44, 0x45, 0x44, 0x59,
-0x50, 0x55, 0xd3, 0xd9, 0xcc, 0xf7, 0xf1, 0xca,
-0xc2, 0xf7, 0xf8, 0xe7, 0xe7, 0xe2, 0xee, 0xe9,
-0xed, 0xe4, 0xc2, 0xcb, 0xf7, 0xd2, 0x48, 0x76,
-0x45, 0x77, 0x64, 0x64, 0x4a, 0x51, 0x46, 0x41,
-0xdd, 0xc2, 0xd4, 0x51, 0x50, 0x4a, 0x74, 0x71,
-0x7e, 0x61, 0x67, 0x7e, 0x67, 0x60, 0x67, 0x77,
-0x45, 0x43, 0x5f, 0xc8 };
-char packet_3[] = {
-0x80, 0x08, 0x2c, 0x43, 0x11, 0x47, 0x31, 0xa2,
-0x58, 0xf3, 0x3d, 0xea, 0x53, 0x45, 0x56, 0x47,
-0x5f, 0xd4, 0xd4, 0x55, 0x56, 0x58, 0x40, 0x53,
-0x54, 0xd5, 0xc7, 0xc4, 0x57, 0xd5, 0xdd, 0xd9,
-0xde, 0xdd, 0xdc, 0xd4, 0x55, 0x54, 0xdc, 0xcf,
-0xc7, 0x5e, 0x43, 0x5a, 0x5a, 0x43, 0x5b, 0x51,
-0x54, 0x51, 0xd6, 0xd4, 0x5b, 0x53, 0xd3, 0x57,
-0xd5, 0xc0, 0xc7, 0x53, 0x5d, 0xd1, 0xc5, 0xc1,
-0xd9, 0x5d, 0x57, 0xdc, 0xd0, 0xd0, 0x54, 0x45,
-0x44, 0x42, 0x45, 0xd0, 0xd4, 0xd5, 0xd9, 0xc7,
-0x57, 0x5e, 0x5f, 0x47, 0x56, 0xc5, 0xca, 0xc5,
-0xd3, 0xdf, 0x57, 0x43, 0x4b, 0x5a, 0x5c, 0x5f,
-0x45, 0x52, 0xd0, 0xc7, 0xcb, 0xc9, 0xc5, 0x5f,
-0x47, 0x57, 0x55, 0xdc, 0xc7, 0x5d, 0x4b, 0x5a,
-0xdb, 0xcf, 0xc5, 0x52, 0x43, 0x5a, 0x56, 0xde,
-0xdf, 0xd6, 0xd5, 0x45, 0x5b, 0xdc, 0xdb, 0x55,
-0x52, 0x54, 0x51, 0xd5, 0xc4, 0xdf, 0xd1, 0x56,
-0x51, 0xd5, 0xd3, 0xde, 0x54, 0x44, 0x46, 0x52,
-0x56, 0x5b, 0x5a, 0xd3, 0xc3, 0xdf, 0x57, 0xd1,
-0xd9, 0xd6, 0x5f, 0x5f, 0xd4, 0xd6, 0xd5, 0xd1,
-0x53, 0xd4, 0xc1, 0xdb, 0xdd, 0xd8, 0xd7, 0x47,
-0x4b, 0x75, 0x4c, 0x5c };
-char packet_4[] = {
-0x80, 0x08, 0x00, 0x04, 0x00, 0x00, 0x02, 0x80,
-0xd2, 0xbd, 0x4e, 0x3e, 0xff, 0xf3, 0xff, 0xe1,
-0xe7, 0xe4, 0xe5, 0xe2, 0xec, 0xef, 0xeb, 0xe9,
-0x95, 0x97, 0xf8, 0xcc, 0xe4, 0xf9, 0x58, 0x6d,
-0x72, 0x46, 0x7c, 0x62, 0x60, 0x42, 0x40, 0x70,
-0x4e, 0xd3, 0xcb, 0xda, 0xd9, 0x54, 0x57, 0xd6,
-0x4a, 0x62, 0x6e, 0x64, 0x60, 0x15, 0x15, 0x63,
-0x67, 0x62, 0x60, 0x7f, 0x46, 0x46, 0x40, 0xd5,
-0xcf, 0xf6, 0xc9, 0xcb, 0xf0, 0xfd, 0xf8, 0xe6,
-0xec, 0xe9, 0x94, 0x91, 0x96, 0xf7, 0xd0, 0xe7,
-0xf3, 0x7d, 0x6b, 0x7d, 0x5d, 0x65, 0x68, 0x61,
-0x5d, 0x5c, 0x72, 0x43, 0xcd, 0xf6, 0xdf, 0xd2,
-0xd2, 0x51, 0xdf, 0x49, 0x62, 0x14, 0x68, 0x6e,
-0x10, 0x11, 0x69, 0x64, 0x61, 0x6d, 0x64, 0x75,
-0x44, 0x74, 0x5e, 0xcf, 0xff, 0xf1, 0xc1, 0xf7,
-0xf6, 0xe5, 0xe4, 0xe6, 0xe9, 0x91, 0x93, 0x90,
-0x95, 0xce, 0xe5, 0xe0, 0xc7, 0x66, 0x62, 0x45,
-0x75, 0x63, 0x6e, 0x79, 0x55, 0x49, 0x71, 0x53,
-0xca, 0xcb, 0xd0, 0xdb, 0xd3, 0xd5, 0x5b, 0x67,
-0x6b, 0x15, 0x61, 0x69, 0x17, 0x14, 0x6c, 0x66,
-0x6f, 0x62, 0x7f, 0x48, 0x74, 0x75, 0x59, 0xd0,
-0xdb, 0x54, 0xd7, 0xc3 };
-char packet_5[] = {
-0x80, 0x08, 0x2c, 0x44, 0x11, 0x47, 0x32, 0x42,
-0x58, 0xf3, 0x3d, 0xea, 0x54, 0xd5, 0xde, 0xc4,
-0xc0, 0xce, 0xd8, 0xd5, 0xdc, 0xde, 0xd4, 0xd9,
-0x54, 0x4d, 0x74, 0x47, 0x44, 0x58, 0xc7, 0xc3,
-0xc4, 0xd4, 0x55, 0x50, 0x43, 0x45, 0xd4, 0xc7,
-0xcf, 0xc0, 0x55, 0x42, 0x48, 0x76, 0x4f, 0xd7,
-0xc7, 0xcf, 0xc6, 0xc6, 0xf5, 0xc6, 0x53, 0x5a,
-0x42, 0x5e, 0x51, 0xd6, 0xc4, 0xde, 0x56, 0x42,
-0x42, 0x5e, 0xd7, 0xd4, 0xdb, 0xcb, 0xda, 0xd6,
-0xd7, 0x53, 0x47, 0x4d, 0xd4, 0xdf, 0xdc, 0xd5,
-0x5a, 0x59, 0x5a, 0x5a, 0xd5, 0xc4, 0xd7, 0x55,
-0xc3, 0xce, 0xde, 0xd2, 0xd6, 0x46, 0x71, 0x7c,
-0x4c, 0xd8, 0xf5, 0xf7, 0xcf, 0x54, 0x56, 0xd5,
-0xdc, 0xda, 0xd7, 0xd7, 0x57, 0x5a, 0x5c, 0x52,
-0x47, 0x5c, 0xd4, 0xd3, 0xd4, 0x47, 0x42, 0x4d,
-0x54, 0xcf, 0xf3, 0xf0, 0xc0, 0xdb, 0xd1, 0x50,
-0x47, 0x5e, 0x58, 0x49, 0x43, 0x5a, 0x54, 0xdc,
-0x56, 0x56, 0xd9, 0xc8, 0xc2, 0xd2, 0x5d, 0x5a,
-0x5a, 0x49, 0x40, 0x57, 0xda, 0xdb, 0xd6, 0x55,
-0xdd, 0xcf, 0xdb, 0x5c, 0x51, 0xd0, 0xd5, 0x5f,
-0x53, 0xd8, 0xc3, 0xc3, 0xd0, 0x5c, 0x5b, 0x44,
-0x4e, 0x74, 0x4f, 0x56 };
-char packet_6[] = {
-0x80, 0x08, 0x00, 0x05, 0x00, 0x00, 0x03, 0x20,
-0xd2, 0xbd, 0x4e, 0x3e, 0xca, 0xf0, 0xfd, 0xe2,
-0xea, 0x96, 0x91, 0x91, 0xe7, 0xd9, 0xf9, 0xf9,
-0x48, 0x6b, 0x61, 0x74, 0x66, 0x15, 0x69, 0x74,
-0x42, 0x7d, 0x75, 0xd2, 0xf7, 0xc8, 0xc3, 0xd1,
-0x5f, 0x5f, 0x7d, 0x6f, 0x15, 0x6d, 0x6e, 0x16,
-0x16, 0x68, 0x61, 0x62, 0x6c, 0x66, 0x79, 0x7d,
-0x7f, 0x77, 0x5c, 0xd9, 0xdb, 0x5e, 0x55, 0xcf,
-0xf1, 0xf0, 0xe5, 0xef, 0x95, 0x96, 0x93, 0x97,
-0xcd, 0xc3, 0xe4, 0xf7, 0x64, 0x15, 0x7a, 0x73,
-0x60, 0x68, 0x64, 0xd1, 0x53, 0x4e, 0x5d, 0xf7,
-0xf9, 0xf3, 0xf5, 0xd5, 0xd4, 0x58, 0x67, 0x6e,
-0x6c, 0x61, 0x68, 0x14, 0x68, 0x61, 0x64, 0x63,
-0x61, 0x79, 0x75, 0x4b, 0x4f, 0x44, 0xd7, 0xcb,
-0xc0, 0xd8, 0xf6, 0xe4, 0xe1, 0xe7, 0xed, 0x97,
-0x91, 0x93, 0x9d, 0x96, 0xff, 0xfd, 0xe5, 0xc7,
-0x66, 0x67, 0x4d, 0x4e, 0x64, 0x62, 0x71, 0x54,
-0xd5, 0x5f, 0xd0, 0xce, 0xce, 0xdf, 0x5d, 0x73,
-0x72, 0x73, 0x6c, 0x15, 0x6d, 0x6d, 0x15, 0x14,
-0x69, 0x63, 0x62, 0x62, 0x66, 0x78, 0x72, 0x76,
-0x43, 0x5b, 0xd5, 0xc0, 0xd9, 0xdd, 0xca, 0xf8,
-0xe4, 0xe7, 0xef, 0x96 };
-char packet_7[] = {
-0x80, 0x08, 0x2c, 0x45, 0x11, 0x47, 0x32, 0xe2,
-0x58, 0xf3, 0x3d, 0xea, 0xdd, 0xd9, 0xd2, 0xd6,
-0xd0, 0xd6, 0xdf, 0xd7, 0xd7, 0x54, 0xd5, 0x57,
-0x57, 0xd0, 0xd4, 0x55, 0xd5, 0xd8, 0xdb, 0xc0,
-0xc2, 0x53, 0x58, 0x5d, 0x57, 0x5e, 0x47, 0x41,
-0x4a, 0x5f, 0xde, 0xd9, 0x55, 0xd0, 0xc5, 0xdd,
-0xd3, 0xdd, 0xc6, 0xc1, 0xd1, 0x52, 0x5b, 0xd1,
-0xcc, 0xd9, 0x43, 0x7a, 0x78, 0x4e, 0x55, 0xd2,
-0xc5, 0xc3, 0xda, 0xc5, 0xd4, 0xd3, 0xc7, 0xd2,
-0xd9, 0xdb, 0x55, 0x45, 0x59, 0x51, 0x59, 0xd4,
-0xc2, 0xc6, 0xd0, 0xd1, 0x59, 0x48, 0x40, 0x47,
-0x5a, 0x55, 0xd2, 0xdc, 0xd9, 0xc9, 0xf6, 0xd9,
-0x42, 0x72, 0x40, 0xd1, 0x50, 0xd7, 0xc4, 0xc9,
-0xc5, 0xc1, 0xc3, 0x54, 0x5b, 0x48, 0x43, 0x57,
-0xd3, 0xd1, 0x5c, 0x47, 0x47, 0x49, 0x47, 0x59,
-0xd1, 0xf5, 0xd8, 0xd6, 0xdd, 0xd8, 0x5c, 0x53,
-0xc7, 0xc9, 0xc9, 0xc0, 0xd4, 0x4d, 0x4f, 0x47,
-0x50, 0xdf, 0xce, 0xd8, 0x5d, 0x43, 0x40, 0x5f,
-0xd1, 0x56, 0x58, 0xd0, 0xd0, 0xd0, 0xdb, 0x55,
-0x5b, 0x5b, 0xd4, 0xda, 0xc0, 0xc6, 0xd4, 0x58,
-0x5a, 0xd8, 0xc7, 0xdf, 0x54, 0x4a, 0x71, 0x43,
-0xd0, 0xc3, 0xc9, 0xde };
-char packet_8[] = {
-0x80, 0x08, 0x00, 0x06, 0x00, 0x00, 0x03, 0xc0,
-0xd2, 0xbd, 0x4e, 0x3e, 0x90, 0x93, 0x92, 0x92,
-0xe0, 0xf1, 0xff, 0xf6, 0x73, 0x60, 0x73, 0x75,
-0x7f, 0x66, 0x7e, 0x5b, 0xd7, 0x56, 0xd5, 0xd2,
-0xdf, 0xd2, 0xd0, 0x48, 0x78, 0x65, 0x66, 0x6f,
-0x6b, 0x6c, 0x6f, 0x68, 0x6b, 0x6e, 0x6c, 0x62,
-0x65, 0x78, 0x7d, 0x48, 0x4b, 0x4a, 0x42, 0xda,
-0xf4, 0xc0, 0xcf, 0xfd, 0xe6, 0xe0, 0xe3, 0xe9,
-0x91, 0x92, 0x9c, 0x9f, 0x90, 0xe2, 0xe7, 0xfa,
-0xc3, 0x46, 0x75, 0x5f, 0x47, 0x42, 0x48, 0x44,
-0xd3, 0xd0, 0xc5, 0xdf, 0xd2, 0xd8, 0xd8, 0x58,
-0x7c, 0x72, 0x73, 0x7e, 0x60, 0x61, 0x65, 0x67,
-0x60, 0x6d, 0x66, 0x7c, 0x71, 0x7d, 0x7d, 0x4a,
-0xd4, 0xd8, 0xd2, 0xc1, 0xf5, 0xce, 0xdb, 0xf0,
-0xe6, 0xe6, 0xe6, 0xed, 0xea, 0x97, 0x91, 0x92,
-0x9c, 0x97, 0xe4, 0xfb, 0xe4, 0xc1, 0x74, 0x40,
-0x54, 0x50, 0x4e, 0x75, 0x45, 0x54, 0x50, 0x44,
-0x5f, 0x5d, 0x5b, 0x46, 0x73, 0x64, 0x7a, 0x7e,
-0x67, 0x63, 0x66, 0x60, 0x6c, 0x69, 0x6c, 0x60,
-0x64, 0x7a, 0x7b, 0x7c, 0x48, 0x45, 0x5b, 0x59,
-0xd8, 0xca, 0xcc, 0xc3, 0xf0, 0xfa, 0xe5, 0xe1,
-0xed, 0xea, 0x96, 0x91 };
-char packet_9[] = {
-0x80, 0x08, 0x2c, 0x46, 0x11, 0x47, 0x33, 0x82,
-0x58, 0xf3, 0x3d, 0xea, 0x5b, 0x47, 0x55, 0xdf,
-0xd1, 0xd5, 0x54, 0xd3, 0xc4, 0x55, 0x5e, 0x56,
-0xd1, 0xd2, 0xde, 0xdd, 0x54, 0x5c, 0x45, 0x5d,
-0x55, 0x5d, 0x59, 0xd6, 0x55, 0x5a, 0xd3, 0xd9,
-0xd0, 0xdc, 0xd8, 0xd8, 0xc6, 0xca, 0xc6, 0xd1,
-0x5a, 0x7f, 0x7e, 0x4f, 0xdd, 0xd9, 0x57, 0x45,
-0x59, 0xd7, 0xdd, 0xc3, 0xc6, 0x54, 0x5c, 0xd4,
-0xdd, 0xdd, 0x5d, 0x43, 0x55, 0xdf, 0xda, 0xcc,
-0xc9, 0x54, 0x4f, 0x5c, 0x55, 0xd2, 0xd0, 0xd1,
-0x52, 0x5f, 0xdd, 0x53, 0x58, 0x53, 0xd6, 0xdd,
-0xd9, 0xdc, 0xc1, 0xd7, 0x4a, 0x4e, 0x47, 0x51,
-0xdf, 0xf5, 0xc6, 0x57, 0x5b, 0x75, 0x74, 0x55,
-0xf6, 0xdb, 0x5e, 0x50, 0xd4, 0xd3, 0x56, 0x58,
-0x5f, 0xd7, 0xdd, 0xde, 0xd2, 0xd5, 0x4d, 0x71,
-0x5f, 0xf4, 0xf2, 0xc0, 0x50, 0x41, 0x5c, 0xd0,
-0xd7, 0xdc, 0xd1, 0x45, 0x4e, 0x5c, 0x54, 0x5e,
-0x77, 0x72, 0x5a, 0xcf, 0xf2, 0xf4, 0xda, 0xd2,
-0xd6, 0x58, 0x5e, 0xdf, 0xc1, 0xc2, 0x57, 0x40,
-0x56, 0xd7, 0xd7, 0xd5, 0x56, 0x45, 0x43, 0x50,
-0xd9, 0xd2, 0x52, 0x5e, 0x5d, 0xd2, 0xd8, 0xd2,
-0x54, 0x58, 0x41, 0x43 };
-char packet_10[] = {
-0x80, 0x08, 0x2c, 0x47, 0x11, 0x47, 0x34, 0x22,
-0x58, 0xf3, 0x3d, 0xea, 0x56, 0xd4, 0xd6, 0x58,
-0x42, 0x53, 0xc4, 0xf7, 0xcb, 0xf5, 0xf4, 0xc1,
-0xd0, 0x4d, 0x45, 0xd6, 0x57, 0xd0, 0xd9, 0xdb,
-0x50, 0x44, 0x59, 0x4b, 0x4f, 0xd6, 0xd8, 0x57,
-0x5e, 0xd6, 0x57, 0xd0, 0xc5, 0xdf, 0xc6, 0xcd,
-0xc5, 0x51, 0x50, 0xd0, 0xd6, 0xd2, 0xdb, 0x5d,
-0x75, 0x75, 0x73, 0x75, 0xc0, 0xf7, 0xf0, 0xf6,
-0xc9, 0xd8, 0xd5, 0x57, 0x56, 0x48, 0x70, 0x75,
-0x42, 0x42, 0x5f, 0xd0, 0x5d, 0x5b, 0x5c, 0x55,
-0xd6, 0xc1, 0xcf, 0xd8, 0xd3, 0xd0, 0x45, 0x4f,
-0x54, 0xc6, 0xd0, 0x59, 0x55, 0xc4, 0xd1, 0x5a,
-0x73, 0x7f, 0x47, 0x54, 0xd1, 0xdf, 0xdc, 0xd7,
-0xc7, 0xc8, 0xdb, 0xc7, 0xca, 0xc9, 0xc0, 0xc7,
-0xc1, 0x51, 0x40, 0x5f, 0x52, 0xd7, 0xda, 0xdf,
-0x41, 0x4c, 0x56, 0x54, 0x5f, 0x4a, 0x4a, 0x4e,
-0x5d, 0xc4, 0xc6, 0xcd, 0xc7, 0xd6, 0x52, 0xd4,
-0xc4, 0xc4, 0xc6, 0xd5, 0x5b, 0x41, 0x4e, 0x56,
-0xc4, 0xd8, 0x54, 0x5e, 0x4d, 0x48, 0x76, 0x73,
-0x4d, 0x5b, 0x59, 0xd8, 0xf0, 0xf7, 0xde, 0x52,
-0xd0, 0xc3, 0xfd, 0xfa, 0xfd, 0xc1, 0x40, 0x4a,
-0x5a, 0x45, 0x5d, 0xd0 };
-
-#define MAKE_TEST(n) \
- /* deserialize the packet*/ \
- if((packet = trtp_rtp_packet_deserialize(packet_##n, sizeof(packet_##n)))){ \
- /* serialize the packet */ \
- if((buffer = trtp_rtp_packet_serialize(packet))){ \
- /* compare data */ \
- if(sizeof(packet_##n) != buffer->size){ \
- TSK_DEBUG_ERROR("Test-%d: Sizes are different", n); \
- } \
- else{ \
- for(i=0; i<buffer->size; i++){ \
- if(packet_##n[i] != ((char*)buffer->data)[i]){ \
- TSK_DEBUG_ERROR("Test-%d: Data is different", n); \
- break; \
- } \
- } \
- if(i==buffer->size){ \
- TSK_DEBUG_INFO("Test-%d: OK", n); \
- } \
- } \
- } \
- else{ \
- TSK_DEBUG_ERROR("Failed to serialize packet-%d", n); \
- } \
- \
- TSK_OBJECT_SAFE_FREE(buffer); \
- TSK_OBJECT_SAFE_FREE(packet); \
- } \
- else{ \
- TSK_DEBUG_ERROR("Failed to deserialize packet-%d", n); \
- }
-
-void test_parser()
-{
- trtp_rtp_packet_t* packet;
- tsk_buffer_t* buffer;
- tsk_size_t i;
-
- MAKE_TEST(0);
- MAKE_TEST(1);
- MAKE_TEST(2);
- MAKE_TEST(3);
- MAKE_TEST(4);
- MAKE_TEST(5);
- MAKE_TEST(6);
- MAKE_TEST(7);
- MAKE_TEST(8);
- MAKE_TEST(9);
- MAKE_TEST(10);
-}
-
-
-#endif /* _TEST_PARSER_H_ */
diff --git a/branches/1.0/tinyRTP/tinyRTP.sln b/branches/1.0/tinyRTP/tinyRTP.sln
deleted file mode 100644
index bd5bc1b..0000000
--- a/branches/1.0/tinyRTP/tinyRTP.sln
+++ /dev/null
@@ -1,92 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinyRTP", "tinyRTP.vcproj", "{99B7D02F-8C70-4B45-AF3C-92313C3CEE15}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinySAK", "..\tinySAK\tinySAK.vcproj", "{6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinyNET", "..\tinyNET\tinyNET.vcproj", "{7522A458-92F4-4259-B906-E84C2A65D9F1}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test\test.vcproj", "{A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- Release|Win32 = Release|Win32
- Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- Static_Debug|Win32 = Static_Debug|Win32
- Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- Static_Release|Win32 = Static_Release|Win32
- Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Debug|Win32.ActiveCfg = Debug|Win32
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Debug|Win32.Build.0 = Debug|Win32
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Release|Win32.ActiveCfg = Release|Win32
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Release|Win32.Build.0 = Release|Win32
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Static_Debug|Win32.ActiveCfg = Debug|Win32
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Static_Debug|Win32.Build.0 = Debug|Win32
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Static_Release|Win32.ActiveCfg = Release|Win32
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Static_Release|Win32.Build.0 = Release|Win32
- {99B7D02F-8C70-4B45-AF3C-92313C3CEE15}.Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Win32.ActiveCfg = Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Win32.Build.0 = Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Win32.ActiveCfg = Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Win32.Build.0 = Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Win32.ActiveCfg = Static_Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Win32.Build.0 = Static_Debug|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Win32.ActiveCfg = Static_Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Win32.Build.0 = Static_Release|Win32
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {6BC9B796-10C6-4CF7-A6E4-E2DACCDA84DA}.Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Debug|Win32.ActiveCfg = Debug|Win32
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Debug|Win32.Build.0 = Debug|Win32
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Release|Win32.ActiveCfg = Release|Win32
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Release|Win32.Build.0 = Release|Win32
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Static_Debug|Win32.ActiveCfg = Debug|Win32
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Static_Debug|Win32.Build.0 = Debug|Win32
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Static_Release|Win32.ActiveCfg = Release|Win32
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Static_Release|Win32.Build.0 = Release|Win32
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {7522A458-92F4-4259-B906-E84C2A65D9F1}.Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Debug|Win32.ActiveCfg = Debug|Win32
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Debug|Win32.Build.0 = Debug|Win32
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Release|Win32.ActiveCfg = Release|Win32
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Release|Win32.Build.0 = Release|Win32
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Static_Debug|Win32.ActiveCfg = Debug|Win32
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Static_Debug|Win32.Build.0 = Debug|Win32
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Static_Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Static_Release|Win32.ActiveCfg = Release|Win32
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Static_Release|Win32.Build.0 = Release|Win32
- {A6C1CDCE-63E1-4B60-AC4C-EF0410ED4432}.Static_Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/branches/1.0/tinyRTP/tinyRTP.vcproj b/branches/1.0/tinyRTP/tinyRTP.vcproj
deleted file mode 100644
index e41a1f0..0000000
--- a/branches/1.0/tinyRTP/tinyRTP.vcproj
+++ /dev/null
@@ -1,272 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="tinyRTP"
- ProjectGUID="{99B7D02F-8C70-4B45-AF3C-92313C3CEE15}"
- RootNamespace="tinyRTP"
- Keyword="Win32Proj"
- TargetFrameworkVersion="196613"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\thirdparties\win32\include;include;..\tinySAK\src;..\tinyNET\src"
- PreprocessorDefinitions="DEBUG_LEVEL=DEBUG_LEVEL_INFO;WIN32;_DEBUG;_WINDOWS;_USRDLL;TINYRTP_EXPORTS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- WarnAsError="true"
- DebugInformationFormat="4"
- CompileAs="1"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib $(OutDir)\tinySAK.lib $(OutDir)\tinyNET.lib"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- EnableIntrinsicFunctions="false"
- AdditionalIncludeDirectories="..\thirdparties\win32\include;include;..\tinySAK\src;..\tinyNET\src"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;TINYRTP_EXPORTS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- WarnAsError="true"
- DebugInformationFormat="0"
- CompileAs="1"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib $(OutDir)\tinySAK.lib $(OutDir)\tinyNET.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="MSVCRTD"
- GenerateDebugInformation="false"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="0"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="source(*.c)"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\src\trtp.c"
- >
- </File>
- <File
- RelativePath=".\src\trtp_manager.c"
- >
- </File>
- <Filter
- Name="rtp"
- >
- <File
- RelativePath=".\src\rtp\trtp_rtp_header.c"
- >
- </File>
- <File
- RelativePath=".\src\rtp\trtp_rtp_packet.c"
- >
- </File>
- <File
- RelativePath=".\src\rtp\trtp_rtp_session.c"
- >
- </File>
- </Filter>
- <Filter
- Name="rtcp"
- >
- <File
- RelativePath=".\src\rtcp\trtp_rtcp_session.c"
- >
- </File>
- </Filter>
- <Filter
- Name="rtsp"
- >
- </Filter>
- </Filter>
- <Filter
- Name="include(*.h)"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\include\tinyrtp.h"
- >
- </File>
- <File
- RelativePath=".\include\tinyrtp_config.h"
- >
- </File>
- <File
- RelativePath=".\include\tinyrtp\trtp.h"
- >
- </File>
- <File
- RelativePath=".\include\tinyrtp\trtp_manager.h"
- >
- </File>
- <Filter
- Name="rtp"
- >
- <File
- RelativePath=".\include\tinyrtp\rtp\trtp_rtp_header.h"
- >
- </File>
- <File
- RelativePath=".\include\tinyrtp\rtp\trtp_rtp_packet.h"
- >
- </File>
- <File
- RelativePath=".\include\tinyrtp\rtp\trtp_rtp_session.h"
- >
- </File>
- </Filter>
- <Filter
- Name="rtcp"
- >
- <File
- RelativePath=".\include\tinyrtp\rtcp\trtp_rtcp_session.h"
- >
- </File>
- </Filter>
- <Filter
- Name="rtsp"
- >
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
OpenPOWER on IntegriCloud