1 # record_session.tcl --
2 #
3 # FIXME: This file needs a description here.
4 #
5 # Copyright (c) 1996-2002 The Regents of the University of California.
6 # All rights reserved.
7 #
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions are met:
10 #
11 # A. Redistributions of source code must retain the above copyright notice,
12 # this list of conditions and the following disclaimer.
13 # B. Redistributions in binary form must reproduce the above copyright notice,
14 # this list of conditions and the following disclaimer in the documentation
15 # and/or other materials provided with the distribution.
16 # C. Neither the names of the copyright holders nor the names of its
17 # contributors may be used to endorse or promote products derived from this
18 # software without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
21 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
24 # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31
32 # Some ad-hoc code I wrote so that recording could be started from sdr.
33 # Can go away soon.
34
35 set sdp ""
36 while { [gets stdin line] > 0 } {
37 if { $sdp=="" && [string index $line 0]!="v" } {
38 # bug in sdr; the first line isn't always v=
39 # ignore all lines until we get a v=
40 continue
41 }
42 append sdp "$line\n"
43 }
44
45 exec recorder -sdp $sdp &
46 exit
47
48
49
50 # none of the following code will be executed
51
52
53 set output [open "|recorder -sdp &" w]
54
55 while { [gets stdin line] > 0 } {
56 puts $output $line
57 }
58
59 close $output
60 exit
61
62 # Ad hoc glue to allow recording to be started from SDR
63
64
65 set data ""
66 set x 0
67
68 set filename [lindex $argv 0].hdr
69 set fileid [open $filename "w"]
70
71
72 puts $fileid "START_SDP"
73 puts $fileid "\n"
74
75 while {[gets stdin data]>0} {
76 puts $fileid $data
77 set i [string index $data 0]
78 if {[string compare $i "m"]==0} {
79 incr x
80 }
81 set input($i,$x) $data
82 }
83
84 puts $fileid "END_SDP"
85 puts $fileid "\n"
86 close $fileid
87
88 set aaddr 0
89 set vaddr 0
90
91
92 for {set j 1} {$j < [expr $x + 1]} {incr j} {
93 set media [string range $input(m,$j) 2 [expr [string wordend $input(m,$j) 4] -1]]
94 if {[string compare $media "audio"] == 0 } {
95 set port [string range $input(m,$j) 8 [string wordend $input(m,$j) 8]]
96 set add [string range $input(c,$j) 9 [string length $input(c,$j)]]
97 set add1 [string range $add 0 [expr [string first "/" $add] -1]]
98 set aaddr $add1/$port
99
100 }
101 if {[string compare $media "video"] == 0 } {
102 set port [string range $input(m,$j) 8 [string wordend $input(m,$j) 8]]
103 set add [string range $input(c,$j) 9 [string length $input(c,$j)]]
104 set add1 [string range $add 0 [expr [string first "/" $add] -1]]
105 set vaddr $add1/$port
106
107 }
108
109 }
110
111
112 exec recorder $aaddr $vaddr $filename &
113
114 exit
115
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.