Browse Source

fix order in responses

git.mgm/mediaproxy-ng/2.0
Richard Fuchs 15 years ago
parent
commit
79465a83cc
1 changed files with 11 additions and 7 deletions
  1. +11
    -7
      daemon/call.c

+ 11
- 7
daemon/call.c View File

@ -844,7 +844,7 @@ static void call_destroy(struct call *c) {
static char *streams_print(GQueue *s, unsigned int num, unsigned int off, const char *prefix) {
static char *streams_print(GQueue *s, unsigned int num, unsigned int off, const char *prefix, int swap) {
GString *o;
int i;
GList *l;
@ -859,14 +859,18 @@ static char *streams_print(GQueue *s, unsigned int num, unsigned int off, const
goto out;
t = s->head->data;
g_string_append_printf(o, IPF, IPP(t->call->callmaster->ip));
if (!swap)
g_string_append_printf(o, IPF, IPP(t->call->callmaster->ip));
for (i = 0, l = s->head; i < num && l; i++, l = l->next) {
t = l->data;
x = &t->peers[off].rtps[0];
g_string_append_printf(o, " %u", x->localport);
g_string_append_printf(o, swap ? "%u " : " %u", x->localport);
}
if (swap)
g_string_append_printf(o, IPF, IPP(t->call->callmaster->ip));
out:
g_string_append(o, "\n");
@ -915,7 +919,7 @@ char *call_update_udp(const char **o, struct callmaster *m) {
g_queue_clear(&q);
return streams_print(c->callstreams, 1, 0, o[1]);
return streams_print(c->callstreams, 1, 0, o[1], 1);
fail:
mylog(LOG_WARNING, "Failed to parse a media stream: %s:%s", o[5], o[6]);
@ -948,7 +952,7 @@ char *call_lookup_udp(const char **o, struct callmaster *m) {
g_queue_clear(&q);
return streams_print(c->callstreams, 1, 1, o[1]);
return streams_print(c->callstreams, 1, 1, o[1], 1);
fail:
mylog(LOG_WARNING, "Failed to parse a media stream: %s:%s", o[5], o[6]);
@ -968,7 +972,7 @@ char *call_request(const char **o, struct callmaster *m) {
num = call_streams(c, s, g_hash_table_lookup(c->infohash, "fromtag"), 0);
streams_free(s);
return streams_print(c->callstreams, num, 0, NULL);
return streams_print(c->callstreams, num, 0, NULL, 0);
}
char *call_lookup(const char **o, struct callmaster *m) {
@ -988,7 +992,7 @@ char *call_lookup(const char **o, struct callmaster *m) {
num = call_streams(c, s, g_hash_table_lookup(c->infohash, "totag"), 1);
streams_free(s);
return streams_print(c->callstreams, num, 1, NULL);
return streams_print(c->callstreams, num, 1, NULL, 0);
}
char *call_delete_udp(const char **o, struct callmaster *m) {


Loading…
Cancel
Save