24 #ifdef HAVE_NETINET_IN_H 25 # include <netinet/in.h> 30 #ifdef HAVE_ARPA_INET_H 31 # include <arpa/inet.h> 33 #ifdef HAVE_SYS_STAT_H 34 # include <sys/stat.h> 43 #define RTP_PKT_CHANNEL(p) ((int)((unsigned char)((p)[1]))) 45 #define RTP_PKT_LENGTH(p) ((((int)((unsigned char)((p)[2]))) << 8) | \ 46 ((int)((unsigned char)((p)[3])))) 48 #define RTP_DATA_SIZE 12 49 static const char *
RTP_DATA =
"$_1234\n\0asdf";
55 char *
data = (
char *)ptr;
59 size_t failure = (size && nmemb) ? 0 : 1;
65 printf(
"RTP: message size %d, channel %d\n", message_size, channel);
66 if(message_size != coded_size) {
67 printf(
"RTP embedded size (%d) does not match the write size (%d).\n",
68 coded_size, message_size);
76 printf(
"RTP PAYLOAD CORRUPTED [%s]\n", data + i);
81 if(memcmp(
RTP_DATA, data + i, message_size - i) != 0) {
82 printf(
"RTP PAYLOAD END CORRUPTED (%d), [%s]\n",
83 message_size - i, data + i);
105 char *stream_uri = NULL;
107 FILE *protofile = NULL;
110 if(protofile == NULL) {
111 fprintf(stderr,
"Couldn't open the protocol dump file\n");
116 fprintf(stderr,
"curl_global_init() failed\n");
123 fprintf(stderr,
"curl_easy_init() failed\n");
130 stream_uri =
suburl(URL, request++);
135 test_setopt(curl, CURLOPT_RTSP_STREAM_URI, stream_uri);
144 test_setopt(curl, CURLOPT_RTSP_TRANSPORT,
"RTP/AVP/TCP;interleaved=0-1");
152 stream_uri =
suburl(URL, request++);
157 test_setopt(curl, CURLOPT_RTSP_STREAM_URI, stream_uri);
167 stream_uri =
suburl(URL, request++);
172 test_setopt(curl, CURLOPT_RTSP_STREAM_URI, stream_uri);
181 stream_uri =
suburl(URL, request++);
186 test_setopt(curl, CURLOPT_RTSP_STREAM_URI, stream_uri);
195 fprintf(stderr,
"PLAY COMPLETE\n");
199 fprintf(stderr,
"LOOPY LOOP!\n");
static int rtp_packet_count
#define test_setopt(A, B, C)
UNITTEST_START char * ptr
int curlx_uztosi(size_t uznum)
#define RTP_PKT_CHANNEL(p)
#define TEST_ERR_MAJOR_BAD
static const char * RTP_DATA
#define RTP_PKT_LENGTH(p)
CURL_EXTERN CURL * curl_easy_init(void)
CURL_EXTERN void curl_easy_cleanup(CURL *curl)
CURL_EXTERN CURLcode curl_global_init(long flags)
curl_global_init() globally initializes curl given a bitwise set of the different features of what to...
static char * suburl(const char *base, int i)
CURL_EXTERN void curl_global_cleanup(void)
curl_global_cleanup() globally cleanups curl, uses the value of "init_flags" to determine what needs ...
CURL_EXTERN char * curl_maprintf(const char *format,...)
static size_t rtp_write(void *ptr, size_t size, size_t nmemb, void *stream)
CURL_EXTERN CURLcode curl_easy_perform(CURL *curl)