From 12ba526b1639343c079b7e38f879051ee6f8c13e Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Wed, 26 Mar 2008 16:18:17 +0000 Subject: Updated pjmedia_test with the latest jitter buffer API git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1895 74dad513-b988-da41-8d7b-12977e46ad98 --- pjmedia/build/pjmedia.dsw | 40 +++++++++++++-- pjmedia/build/pjmedia_test.dsp | 4 +- pjmedia/src/test/jbuf_test.c | 109 ++++++++++++++++------------------------- pjmedia/src/test/test.c | 10 ++-- 4 files changed, 84 insertions(+), 79 deletions(-) (limited to 'pjmedia') diff --git a/pjmedia/build/pjmedia.dsw b/pjmedia/build/pjmedia.dsw index d80d2ff4..b7147b6d 100644 --- a/pjmedia/build/pjmedia.dsw +++ b/pjmedia/build/pjmedia.dsw @@ -3,7 +3,31 @@ Microsoft Developer Studio Workspace File, Format Version 6.00 ############################################################################### -Project: "pjaut"=.\pjaut.dsp - Package Owner=<4> +Project: "libportaudio"="..\..\third_party\build\portaudio\libportaudio.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "libsrtp"="..\..\third_party\build\srtp\libsrtp.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pjaut"=".\pjaut.dsp" - Package Owner=<4> Package=<5> {{{ @@ -21,7 +45,7 @@ Package=<4> ############################################################################### -Project: "pjlib"=..\..\pjlib\build\pjlib.dsp - Package Owner=<4> +Project: "pjlib"="..\..\pjlib\build\pjlib.dsp" - Package Owner=<4> Package=<5> {{{ @@ -45,7 +69,7 @@ Package=<4> ############################################################################### -Project: "pjmedia"=.\pjmedia.dsp - Package Owner=<4> +Project: "pjmedia"=".\pjmedia.dsp" - Package Owner=<4> Package=<5> {{{ @@ -60,7 +84,7 @@ Package=<4> ############################################################################### -Project: "pjmedia_codec"=.\pjmedia_codec.dsp - Package Owner=<4> +Project: "pjmedia_codec"=".\pjmedia_codec.dsp" - Package Owner=<4> Package=<5> {{{ @@ -72,7 +96,7 @@ Package=<4> ############################################################################### -Project: "pjmedia_test"=.\pjmedia_test.dsp - Package Owner=<4> +Project: "pjmedia_test"=".\pjmedia_test.dsp" - Package Owner=<4> Package=<5> {{{ @@ -92,6 +116,12 @@ Package=<4> Begin Project Dependency Project_Dep_Name pjlib_util End Project Dependency + Begin Project Dependency + Project_Dep_Name libportaudio + End Project Dependency + Begin Project Dependency + Project_Dep_Name libsrtp + End Project Dependency }}} ############################################################################### diff --git a/pjmedia/build/pjmedia_test.dsp b/pjmedia/build/pjmedia_test.dsp index c5629678..48cfb977 100644 --- a/pjmedia/build/pjmedia_test.dsp +++ b/pjmedia/build/pjmedia_test.dsp @@ -42,7 +42,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../pjlib/include" /I "../include" /D "NDEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../pjlib/include" /I "../include" /I "../../pjnath/include" /I "../../pjlib-util/include" /D "NDEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe @@ -66,7 +66,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../pjlib/include" /I "../include" /D "_DEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../pjlib/include" /I "../include" /I "../../pjnath/include" /I "../../pjlib-util/include" /D "_DEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe diff --git a/pjmedia/src/test/jbuf_test.c b/pjmedia/src/test/jbuf_test.c index f2c33a06..94eef097 100644 --- a/pjmedia/src/test/jbuf_test.c +++ b/pjmedia/src/test/jbuf_test.c @@ -18,32 +18,34 @@ */ #include #include -#include #include +#include "test.h" -#define JB_MIN 1 -#define JB_MAX 8 -#define JB_BUF_SIZE 10 +#define JB_INIT_PREFETCH 0 +#define JB_MIN_PREFETCH 0 +#define JB_MAX_PREFETCH 10 +#define JB_PTIME 20 +#define JB_BUF_SIZE 20 #define REPORT //#define PRINT_COMMENT -int jbuf_main(pj_pool_factory *pf) +int jbuf_main(void) { - pj_jitter_buffer jb; + pjmedia_jbuf *jb; FILE *input = fopen("JBTEST.DAT", "rt"); - unsigned lastseq; - void *data = "Hello world"; - char line[1024], *p; - int lastget = 0, lastput = 0; + unsigned seq; + char line[1024 * 10], *p; pj_pool_t *pool; + pjmedia_jb_state state; + pj_str_t jb_name = {"JBTEST", 6}; pj_init(); - pool = pj_pool_create(pf, "JBPOOL", 256*16, 256*16, NULL); + pool = pj_pool_create(mem, "JBPOOL", 256*16, 256*16, NULL); - pj_jb_init(&jb, pool, JB_MIN, JB_MAX, JB_BUF_SIZE); - - lastseq = 1; + pjmedia_jbuf_create(pool, &jb_name, 1, JB_PTIME, JB_BUF_SIZE, &jb); + pjmedia_jbuf_set_adaptive(jb, JB_INIT_PREFETCH, JB_MIN_PREFETCH, + JB_MAX_PREFETCH); while ((p=fgets(line, sizeof(line), input)) != NULL) { @@ -55,78 +57,54 @@ int jbuf_main(pj_pool_factory *pf) if (*p == '#') { #ifdef PRINT_COMMENT - printf("\n%s", p); + printf("%s", p); #endif continue; } - pj_jb_reset(&jb); + pjmedia_jbuf_reset(jb); + seq = 1; + #ifdef REPORT - printf( "Initial\t%c size=%d prefetch=%d level=%d\n", - ' ', jb.lst.count, jb.prefetch, jb.level); + pjmedia_jbuf_get_state(jb, &state); + printf("Initial\tsize=%d\tprefetch=%d\tmin.pftch=%d\tmax.pftch=%d\n", + state.size, state.prefetch, state.min_prefetch, state.max_prefetch); #endif while (*p) { int c; - unsigned seq = 0; - void *thedata; - int status = 1234; + char frame[1]; + char f_type; c = *p++; if (isspace(c)) continue; if (c == '/') { - char *end; - - printf("/*"); + putchar('\n'); - do { - putchar(*++p); - } while (*p != '/'); + while (*++p && *p != '/') + putchar(*p); putchar('\n'); - c = *++p; - end = p; + if (*++p == 0) + break; - } - - if (isspace(c)) continue; - - if (isdigit(c)) { - seq = c - '0'; - while (*p) { - c = *p++; - - if (isspace(c)) - continue; - - if (!isdigit(c)) - break; - - seq = seq * 10 + c - '0'; - } } - if (!*p) - break; - switch (toupper(c)) { case 'G': - seq = -1; - status = pj_jb_get(&jb, &seq, &thedata); - lastget = seq; + pjmedia_jbuf_get_frame(jb, frame, &f_type); break; case 'P': - if (seq == 0) - seq = lastseq++; - else - lastseq = seq; - status = pj_jb_put(&jb, seq, data); - if (status == 0) - lastput = seq; + pjmedia_jbuf_put_frame(jb, (void*)frame, 1, seq); + seq++; + break; + case 'L': + seq++; + printf("Lost\n"); break; default: printf("Unknown character '%c'\n", c); @@ -134,17 +112,16 @@ int jbuf_main(pj_pool_factory *pf) } #ifdef REPORT - printf("seq=%d\t%c rc=%d\tsize=%d\tpfch=%d\tlvl=%d\tmxl=%d\tdelay=%d\n", - seq, toupper(c), status, jb.lst.count, jb.prefetch, jb.level, jb.max_level, - (lastget>0 && lastput>0) ? lastput-lastget : -1); + if (toupper(c) != 'L') { + pjmedia_jbuf_get_state(jb, &state); + printf("seq=%d\t%c\tsize=%d\tprefetch=%d\n", + seq, toupper(c), state.size, state.prefetch); + } #endif } } -#ifdef REPORT - printf("0\t%c size=%d prefetch=%d level=%d\n", - ' ', jb.lst.count, jb.prefetch, jb.level); -#endif + pjmedia_jbuf_destroy(jb); if (input != stdin) fclose(input); diff --git a/pjmedia/src/test/test.c b/pjmedia/src/test/test.c index 9a5870c5..9a1e208e 100644 --- a/pjmedia/src/test/test.c +++ b/pjmedia/src/test/test.c @@ -35,7 +35,7 @@ pj_pool_factory *mem; void app_perror(pj_status_t status, const char *msg) { - char errbuf[PJMEDIA_ERR_MSG_SIZE]; + char errbuf[PJ_ERR_MSG_SIZE]; pjmedia_strerror(status, errbuf, sizeof(errbuf)); @@ -44,7 +44,7 @@ void app_perror(pj_status_t status, const char *msg) int test_main(void) { - int rc; + int rc = 0; pj_caching_pool caching_pool; pj_init(); @@ -54,16 +54,14 @@ int test_main(void) mem = &caching_pool.factory; - DO_TEST(sdp_neg_test()); + //DO_TEST(sdp_neg_test()); //sdp_test (&caching_pool.factory); //rtp_test(&caching_pool.factory); //session_test (&caching_pool.factory); - //jbuf_main(&caching_pool.factory); + jbuf_main(); PJ_LOG(3,(THIS_FILE," ")); -on_return: - if (rc != 0) { PJ_LOG(3,(THIS_FILE,"Test completed with error(s)!")); } else { -- cgit v1.2.3