Changeset 8497 for branches/jingle

Show
Ignore:
Timestamp:
08/15/07 11:43:43 (16 months ago)
Author:
liori
Message:

Jingle: farsight: last badly needed call wrapped, bugfix to another one

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/jingle/src/common/farsight/farsight.override

    r8493 r8497  
    5151        insert_long_into_dict(dict, "id", fc->id); 
    5252        insert_str_into_dict(dict, "encoding_name", fc->encoding_name); 
     53        insert_long_into_dict(dict, "media_type", fc->media_type); 
    5354 
    5455        /* next are optional */ 
    55         if (fc->media_type)     insert_long_into_dict(dict, "media_type", fc->media_type); 
    5656        if (fc->clock_rate)     insert_long_into_dict(dict, "clock_rate", fc->clock_rate); 
    5757        if (fc->channels)       insert_long_into_dict(dict, "channels", fc->channels); 
     
    124124        fc->id                  = get_long_from_dict(dict, "id"); 
    125125        fc->encoding_name       = get_str_from_dict(dict, "encoding_name"); 
     126        fc->media_type          = 0; 
     127        fc->clock_rate          = 0; 
     128        fc->channels            = 0; 
     129        fc->optional_params     = NULL; 
    126130 
    127131        if (PyErr_Occurred()) return; 
     
    395399        } 
    396400} 
     401%% 
     402override farsight_stream_add_remote_candidate kwargs 
     403static PyObject* _wrap_farsight_stream_add_remote_candidate(PyGObject *self, 
     404                                                            PyObject *args, 
     405                                                            PyObject *kwargs) 
     406{ 
     407        static char* kwlist[] = {"remote_candidate", NULL}; 
     408        PyObject* list; 
     409        GArray* candidate_array; 
     410        GList* candidate_list=NULL; 
     411        int i, listsize; 
     412 
     413        if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O", kwlist, &list)) 
     414                return NULL; 
     415 
     416        candidate_array=g_array_sized_new(FALSE, TRUE, 
     417                sizeof(FarsightTransportInfo), PySequence_Size(list)); 
     418 
     419        listsize=PySequence_Size(list); 
     420        for(i=0;i<listsize;i++) { 
     421                FarsightTransportInfo fti; 
     422 
     423                dict_to_farsight_transport_info(PySequence_GetItem(list, listsize-i-1), &fti); 
     424 
     425                g_array_append_val(candidate_array, fti); 
     426 
     427                candidate_list = g_list_prepend(candidate_list, 
     428                        &g_array_index(candidate_array, FarsightTransportInfo, i)); 
     429        } 
     430 
     431        GList* t; 
     432        for(t=candidate_list;t;t=g_list_next(t)) { 
     433                FarsightTransportInfo* info=t->data; 
     434                printf ("Remote transport candidate: %s %d %s %s %s %d pref %f", 
     435                        info->candidate_id, info->component, 
     436                        (info->proto == FARSIGHT_NETWORK_PROTOCOL_TCP) ? "TCP" : "UDP", 
     437                        info->proto_subtype, info->ip, info->port, (double) info->preference); 
     438        } 
     439 
     440        if(!PyErr_Occurred()) { 
     441                farsight_stream_add_remote_candidate(FARSIGHT_STREAM(self->obj), candidate_list); 
     442        } 
     443 
     444        g_array_free(candidate_array, FALSE); 
     445        g_list_free(candidate_list); 
     446 
     447        if(!PyErr_Occurred()) { 
     448                Py_INCREF(Py_None); 
     449                return Py_None; 
     450        } else { 
     451                return NULL; 
     452        } 
     453}