Changeset 1097


Ignore:
Timestamp:
Mar 23, 2007 12:42:47 AM (12 years ago)
Author:
bennylp
Message:

ICE (work in progress): implemented ICE media transport

Location:
pjproject/trunk
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/build/pjmedia.dsp

    r895 r1097  
    4242# PROP Target_Dir "" 
    4343# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c 
    44 # ADD CPP /nologo /MD /W4 /GX /Zi /O2 /I "../include" /I "../../pjlib/include" /I "../../pjlib-util/include" /I "../src/pjmedia/portaudio" /I "../src/pjmedia-codec" /D "NDEBUG" /D "PA_NO_ASIO" /D "WIN32" /D "_MBCS" /D "_LIB" /D PJ_WIN32=1 /D PJ_M_I386=1 /FR /FD /c 
     44# ADD CPP /nologo /MD /W4 /GX /Zi /O2 /I "../include" /I "../../pjlib/include" /I "../../pjlib-util/include" /I "../src/pjmedia/portaudio" /I "../src/pjmedia-codec" /I "../../pjnath/include" /D "NDEBUG" /D "PA_NO_ASIO" /D "WIN32" /D "_MBCS" /D "_LIB" /D PJ_WIN32=1 /D PJ_M_I386=1 /FR /FD /c 
    4545# SUBTRACT CPP /YX 
    4646# ADD BASE RSC /l 0x409 /d "NDEBUG" 
     
    6666# PROP Target_Dir "" 
    6767# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c 
    68 # ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "../include" /I "../../pjlib/include" /I "../../pjlib-util/include" /I "../src/pjmedia/portaudio" /I "../src/pjmedia-codec" /D "_DEBUG" /D "PA_NO_ASIO" /D "WIN32" /D "_MBCS" /D "_LIB" /D PJ_WIN32=1 /D PJ_M_I386=1 /FR /FD /GZ /c 
     68# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "../include" /I "../../pjlib/include" /I "../../pjlib-util/include" /I "../src/pjmedia/portaudio" /I "../src/pjmedia-codec" /I "../../pjnath/include" /D "_DEBUG" /D "PA_NO_ASIO" /D "WIN32" /D "_MBCS" /D "_LIB" /D PJ_WIN32=1 /D PJ_M_I386=1 /FR /FD /GZ /c 
    6969# SUBTRACT CPP /YX 
    7070# ADD BASE RSC /l 0x409 /d "_DEBUG" 
     
    245245# Begin Source File 
    246246 
     247SOURCE=..\src\pjmedia\transport_ice.c 
     248# End Source File 
     249# Begin Source File 
     250 
    247251SOURCE=..\src\pjmedia\transport_udp.c 
    248252# End Source File 
     
    398402 
    399403SOURCE=..\include\pjmedia\transport.h 
     404# End Source File 
     405# Begin Source File 
     406 
     407SOURCE=..\include\pjmedia\transport_ice.h 
    400408# End Source File 
    401409# Begin Source File 
  • pjproject/trunk/pjmedia/include/pjmedia/transport.h

    r974 r1097  
    2727 
    2828#include <pjmedia/types.h> 
     29#include <pjmedia/errno.h> 
    2930 
    3031/** 
     
    178179struct pjmedia_transport_op 
    179180{ 
     181    pj_status_t (*get_info)(pjmedia_transport *tp, 
     182                            pjmedia_sock_info *info); 
     183 
    180184    /** 
    181185     * This function is called by the stream when the transport is about 
     
    266270 
    267271 
     272PJ_INLINE(pj_status_t) pjmedia_transport_get_info(pjmedia_transport *tp, 
     273                                                  pjmedia_sock_info *info) 
     274{ 
     275    if (tp->op->get_info) 
     276        return (*tp->op->get_info)(tp, info); 
     277    else 
     278        return PJ_ENOTSUP; 
     279} 
     280 
    268281 
    269282/** 
  • pjproject/trunk/pjmedia/src/pjmedia/transport_udp.c

    r974 r1097  
    9494                       pj_ssize_t bytes_read); 
    9595 
     96static pj_status_t transport_get_info(pjmedia_transport *tp, 
     97                                      pjmedia_sock_info *info); 
    9698static pj_status_t transport_attach(   pjmedia_transport *tp, 
    9799                                       void *user_data, 
     
    117119static pjmedia_transport_op transport_udp_op =  
    118120{ 
     121    &transport_get_info, 
    119122    &transport_attach, 
    120123    &transport_detach, 
     
    325328                                pjmedia_transport_udp_info *inf) 
    326329{ 
    327     struct transport_udp *udp = (struct transport_udp*)tp; 
    328     PJ_ASSERT_RETURN(tp && inf, PJ_EINVAL); 
    329  
    330     inf->skinfo.rtp_sock = udp->rtp_sock; 
    331     inf->skinfo.rtp_addr_name = udp->rtp_addr_name; 
    332     inf->skinfo.rtcp_sock = udp->rtcp_sock; 
    333     inf->skinfo.rtcp_addr_name = udp->rtcp_addr_name; 
    334  
    335     return PJ_SUCCESS; 
     330    return transport_get_info(tp, &inf->skinfo); 
    336331} 
    337332 
     
    528523 
    529524 
     525/* Called to get the transport info */ 
     526static pj_status_t transport_get_info(pjmedia_transport *tp, 
     527                                      pjmedia_sock_info *info) 
     528{ 
     529    struct transport_udp *udp = (struct transport_udp*)tp; 
     530    PJ_ASSERT_RETURN(tp && info, PJ_EINVAL); 
     531 
     532    info->rtp_sock = udp->rtp_sock; 
     533    info->rtp_addr_name = udp->rtp_addr_name; 
     534    info->rtcp_sock = udp->rtcp_sock; 
     535    info->rtcp_addr_name = udp->rtcp_addr_name; 
     536 
     537    return PJ_SUCCESS; 
     538} 
     539 
     540 
    530541/* Called by application to initialize the transport */ 
    531542static pj_status_t transport_attach(   pjmedia_transport *tp, 
  • pjproject/trunk/pjnath/include/pjnath/errno.h

    r1096 r1097  
    164164 */ 
    165165#define PJ_ENOICE                   -1 
    166  
    167  /** 
     166/** 
    168167 * @hideinitializer 
    169168 * ICE check is in progress 
    170169 */ 
    171170#define PJ_EICEINPROGRESS           -1 
     171/** 
     172 * @hideinitializer 
     173 * Missing ICE SDP attribute 
     174 */ 
     175#define PJ_EICEMISSINGSDP           -1 
     176/** 
     177 * @hideinitializer 
     178 * Invalid SDP "candidate" attribute 
     179 */ 
     180#define PJ_EICEINCANDSDP            -1 
    172181 
    173182 
  • pjproject/trunk/pjnath/src/pjnath/ice.c

    r1096 r1097  
    2626#include <pj/os.h> 
    2727#include <pj/pool.h> 
     28#include <pj/rand.h> 
    2829#include <pj/string.h> 
    2930 
  • pjproject/trunk/pjproject.dsw

    r960 r1097  
    8585############################################################################### 
    8686 
     87Project: "pjnath"=.\pjnath\build\pjnath.dsp - Package Owner=<4> 
     88 
     89Package=<5> 
     90{{{ 
     91}}} 
     92 
     93Package=<4> 
     94{{{ 
     95}}} 
     96 
     97############################################################################### 
     98 
    8799Project: "pjsip_core"=.\pjsip\build\pjsip_core.dsp - Package Owner=<4> 
    88100 
     
    153165    Project_Dep_Name pjsua_lib 
    154166    End Project Dependency 
     167    Begin Project Dependency 
     168    Project_Dep_Name pjnath 
     169    End Project Dependency 
    155170}}} 
    156171 
Note: See TracChangeset for help on using the changeset viewer.