Changeset 2081:09d05ec16ba3 in roaraudio for plugins/gstreamer0.10
- Timestamp:
- 07/19/09 07:02:55 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/gstreamer0.10/roarmixer.c
r2080 r2081 364 364 GstMixerTrack *track; 365 365 struct roar_stream s; 366 struct roar_client c; 367 struct roar_meta m; 366 368 gint flags = 0; 367 369 gchar buf[1024]; 370 int num; 371 int id[ROAR_CLIENTS_MAX]; 372 char * clientname = NULL; 373 char * metaname = NULL; 374 char streamname[1024] = {0}; 375 gint i, h; 368 376 369 377 ROAR_WARN("gst_roarmixer_track_new(mixer=%p, stream_id=%i) = ?", mixer, stream_id); … … 372 380 return NULL; 373 381 } 382 383 // TODO: find something more efficent: 384 385 if ( (num = roar_list_clients(&(mixer->con), id, ROAR_CLIENTS_MAX)) != -1 ) { 386 for (i = 0; i < num; i++) { 387 ROAR_WARN("gst_roarmixer_track_new(*): stream %i -->> client %i?", stream_id, id[i]); 388 if ( roar_get_client(&(mixer->con), &c, id[i]) != -1 ) { 389 for (h = 0; h < ROAR_CLIENTS_MAX_STREAMS_PER_CLIENT; h++) { 390 ROAR_WARN("gst_roarmixer_track_new(*): stream %i <-> %i -->> client %i?", stream_id, c.streams[h], id[i]); 391 if ( c.streams[h] == stream_id ) { 392 clientname = c.name; 393 h = ROAR_CLIENTS_MAX_STREAMS_PER_CLIENT; 394 i = num; 395 } 396 } 397 } 398 } 399 } 400 401 m.type = ROAR_META_TYPE_TITLE; 402 if ( roar_stream_meta_get(&(mixer->con), &s, &m) != -1 ) { 403 metaname = m.value; 404 } 405 406 if ( roar_stream_get_name(&(mixer->con), &s, streamname, 1024) == 0 ) 407 *streamname = 0; 374 408 375 409 switch (s.dir) { … … 384 418 } 385 419 386 sprintf(buf, "Stream %i", stream_id); 420 if ( !*streamname && metaname == NULL ) 421 sprintf(streamname, "[Stream %i]", stream_id); 422 423 sprintf(buf, "%s\n%s", clientname ? clientname : "[Unknown]", 424 *streamname ? streamname : metaname 425 ); 387 426 388 427 roartrack = g_object_new(GST_TYPE_ROARMIXER_TRACK, NULL);
Note: See TracChangeset
for help on using the changeset viewer.