[AG-TECH] Re: Use of vtc to label video feeds

Christoph Willing chris at vislab.usyd.edu.au
Fri Sep 21 20:36:48 CDT 2001


The disadvantage of the .RTPdefaults method is that the same name applies
to all instances of the application, whereas multiple cameras should
probably be labelled differently (PRESENTER, AUDIENCE etc.)

Below is a small patch to the Linux vtc.c code which allows additional
arguments to be set on the command line after the normal vtc command.

e.g the command
	vtc Talusvideo bridge-1.accessgrid.org ag
could become
	vtc Talusvideo bridge-1.accessgrid.org ag -N AUDIENCE
or
	vtc Talusvideo bridge-1.accessgrid.org ag -N "Manchester AUDIENCE"

Multiple additional arguments may be supplied but they're not checked
for validity in any way.

Regards,
chris

>
>You need to run vtc to trigger the bridge to send/accept your data.
>
>The default value for the name is stored in a file .RTPdefaults in your 
>home directory. It looks something like this:
>
>*rtpName: Bob Olson
>*rtpEmail: olson at moonbeam.mcs.anl.gov
>*rtpLoc:
>*rtpPhone:
>*rtpNote:
>
>You can edit that file to have the name you want and not have to use the -N 
>option at all.
>
>--bob
>
>At 10:08 AM 9/21/2001 +0100, Mike Daw wrote:
>>If I can rely on the port number
>>remaining constant for each meeting room, then I don't need to run vtc at
>>all (except initially, to discover the value of the port number for a
>>specific room).
>

(patch starts)

*** vtc.c.orig  Thu Feb 26 07:23:06 1998
--- vtc.c       Sat Sep 22 11:12:54 2001
***************
*** 63,68 ****
--- 63,70 ----
  char * meeting_name = NULL;
  char * password = NULL;
  
+ char *largs[100];
+ 
  main(argc,argv)
  int argc;
  char **argv;
***************
*** 107,112 ****
--- 109,127 ----
                exit(1);
        }
        meeting_name = strdup(argv[1]);
+ 
+       if( argc > 4 )
+       {
+               int i;
+ 
+               /* Save our additional local arguments */
+               for(i=0;argv[i+4];i++)
+               {
+                       largs[i] = strdup(argv[i+4]);
+               }
+               argc = 4;
+       }
+ 
        if( argc != 4) {
                /* assume they did not input password */
                password = getpass("Input your password ( or return if no passwo
rd needed for this meeting) : ");
***************
*** 357,370 ****
  
                        close(s_fid);
                        printf("%s",cmd);
!                       for(cmd+=strspn(cmd," \t\n"); *cmd!='\0';
!                               cmd+=strspn(cmd," \t\n")) {
                                myargv[count++] = cmd;
                                myargv[count] = NULL;
                                cmd += strcspn(cmd," \t\n");
                                if(*cmd)
                                        *cmd++ = '\0';
                        }
                        execvp(myargv[0],&myargv[0]);
                        perror("execv");
                        exit(next_active_index);
--- 372,393 ----
  
                        close(s_fid);
                        printf("%s",cmd);
!                       for(cmd+=strspn(cmd," \t\n"); *cmd!='\0'; cmd+=strspn(cm
d," \t\n"))
!                       {
                                myargv[count++] = cmd;
                                myargv[count] = NULL;
                                cmd += strcspn(cmd," \t\n");
                                if(*cmd)
                                        *cmd++ = '\0';
                        }
+ 
+                       /* Add our local arguments */
+                       for(i=0;largs[i];i++)
+                       {
+                               myargv[count++] = largs[i];
+                               myargv[count] = NULL;
+                       }
+ 
                        execvp(myargv[0],&myargv[0]);
                        perror("execv");
                        exit(next_active_index);
***************
*** 448,450 ****
--- 471,474 ----
        }
        fclose(fid);
  }
+ 


(patch done)



_______________________________________________________________
Chris Willing                      Telephone   (61-2) 9351 3005
VisLab, A28                        Facsimile   (61-2) 9351 1880
University of Sydney
NSW 2006 Australia                http://www.vislab.usyd.edu.au




More information about the ag-tech mailing list