contrib: Make the RTPReplay a a class so it can be shared

This commit is contained in:
Holger Hans Peter Freyther 2012-08-05 09:25:25 +02:00
parent 59043d8c94
commit 4552d8061a
1 changed files with 62 additions and 41 deletions

View File

@ -4,18 +4,29 @@ Simple UDP replay from the state files
PackageLoader fileInPackage: #Sockets. PackageLoader fileInPackage: #Sockets.
Eval [ Object subclass: RTPReplay [
| last_time last_image udp_send socket dest | | filename |
RTPReplay class >> on: aFile [
^ self new
file: aFile; yourself
]
file: aFile [
filename := aFile
]
streamAudio: aHost port: aPort [
| file last_time last_image udp_send socket dest |
last_time := nil. last_time := nil.
last_image := nil. last_image := nil.
file := FileStream open: 'rtp_ssrc13529910.240.240.1_to_10.240.240.50.state'. file := FileStream open: filename.
"Send the payload" "Send the payload"
dest := Sockets.SocketAddress byName: '127.0.0.1'. dest := Sockets.SocketAddress byName: aHost.
socket := Sockets.DatagramSocket new. socket := Sockets.DatagramSocket new.
udp_send := [:payload | | datagram | udp_send := [:payload | | datagram |
datagram := Sockets.Datagram data: payload contents address: dest port: 4000. datagram := Sockets.Datagram data: payload contents address: dest port: aPort.
socket nextPut: datagram socket nextPut: datagram
]. ].
@ -52,5 +63,15 @@ Eval [
last_time := time. last_time := time.
last_image := wait_image. last_image := wait_image.
] ]
]. ]
]
]
Eval [
| replay |
replay := RTPReplay on: 'rtp_ssrc6976010.240.240.1_to_10.240.240.50.state'.
Transcript nextPutAll: 'Going to stream now'; nl.
replay streamAudio: '127.0.0.1' port: 4000.
] ]