Jingle: farsight: last badly needed call wrapped, bugfix to another one
This commit is contained in:
parent
a6a3fbbff0
commit
59ab79c39c
|
@ -50,9 +50,9 @@ static PyObject* farsight_codec_to_dict(FarsightCodec* fc) {
|
||||||
/* these two are required */
|
/* these two are required */
|
||||||
insert_long_into_dict(dict, "id", fc->id);
|
insert_long_into_dict(dict, "id", fc->id);
|
||||||
insert_str_into_dict(dict, "encoding_name", fc->encoding_name);
|
insert_str_into_dict(dict, "encoding_name", fc->encoding_name);
|
||||||
|
insert_long_into_dict(dict, "media_type", fc->media_type);
|
||||||
|
|
||||||
/* next are optional */
|
/* next are optional */
|
||||||
if (fc->media_type) insert_long_into_dict(dict, "media_type", fc->media_type);
|
|
||||||
if (fc->clock_rate) insert_long_into_dict(dict, "clock_rate", fc->clock_rate);
|
if (fc->clock_rate) insert_long_into_dict(dict, "clock_rate", fc->clock_rate);
|
||||||
if (fc->channels) insert_long_into_dict(dict, "channels", fc->channels);
|
if (fc->channels) insert_long_into_dict(dict, "channels", fc->channels);
|
||||||
|
|
||||||
|
@ -123,6 +123,10 @@ static void dict_to_farsight_codec(PyObject* dict, FarsightCodec* fc, GArray** f
|
||||||
/* required data */
|
/* required data */
|
||||||
fc->id = get_long_from_dict(dict, "id");
|
fc->id = get_long_from_dict(dict, "id");
|
||||||
fc->encoding_name = get_str_from_dict(dict, "encoding_name");
|
fc->encoding_name = get_str_from_dict(dict, "encoding_name");
|
||||||
|
fc->media_type = 0;
|
||||||
|
fc->clock_rate = 0;
|
||||||
|
fc->channels = 0;
|
||||||
|
fc->optional_params = NULL;
|
||||||
|
|
||||||
if (PyErr_Occurred()) return;
|
if (PyErr_Occurred()) return;
|
||||||
|
|
||||||
|
@ -394,3 +398,56 @@ static PyObject* _wrap_farsight_stream_set_remote_codecs(PyGObject *self,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
%%
|
||||||
|
override farsight_stream_add_remote_candidate kwargs
|
||||||
|
static PyObject* _wrap_farsight_stream_add_remote_candidate(PyGObject *self,
|
||||||
|
PyObject *args,
|
||||||
|
PyObject *kwargs)
|
||||||
|
{
|
||||||
|
static char* kwlist[] = {"remote_candidate", NULL};
|
||||||
|
PyObject* list;
|
||||||
|
GArray* candidate_array;
|
||||||
|
GList* candidate_list=NULL;
|
||||||
|
int i, listsize;
|
||||||
|
|
||||||
|
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O", kwlist, &list))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
candidate_array=g_array_sized_new(FALSE, TRUE,
|
||||||
|
sizeof(FarsightTransportInfo), PySequence_Size(list));
|
||||||
|
|
||||||
|
listsize=PySequence_Size(list);
|
||||||
|
for(i=0;i<listsize;i++) {
|
||||||
|
FarsightTransportInfo fti;
|
||||||
|
|
||||||
|
dict_to_farsight_transport_info(PySequence_GetItem(list, listsize-i-1), &fti);
|
||||||
|
|
||||||
|
g_array_append_val(candidate_array, fti);
|
||||||
|
|
||||||
|
candidate_list = g_list_prepend(candidate_list,
|
||||||
|
&g_array_index(candidate_array, FarsightTransportInfo, i));
|
||||||
|
}
|
||||||
|
|
||||||
|
GList* t;
|
||||||
|
for(t=candidate_list;t;t=g_list_next(t)) {
|
||||||
|
FarsightTransportInfo* info=t->data;
|
||||||
|
printf ("Remote transport candidate: %s %d %s %s %s %d pref %f",
|
||||||
|
info->candidate_id, info->component,
|
||||||
|
(info->proto == FARSIGHT_NETWORK_PROTOCOL_TCP) ? "TCP" : "UDP",
|
||||||
|
info->proto_subtype, info->ip, info->port, (double) info->preference);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!PyErr_Occurred()) {
|
||||||
|
farsight_stream_add_remote_candidate(FARSIGHT_STREAM(self->obj), candidate_list);
|
||||||
|
}
|
||||||
|
|
||||||
|
g_array_free(candidate_array, FALSE);
|
||||||
|
g_list_free(candidate_list);
|
||||||
|
|
||||||
|
if(!PyErr_Occurred()) {
|
||||||
|
Py_INCREF(Py_None);
|
||||||
|
return Py_None;
|
||||||
|
} else {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue