contrib/rtp: Enhance RTP replay tool

This patch adds optional parameters to pass the state file, the
destination address (default 127.0.0.1), the destination port
(default 4000), the source port (default 0). So it is called as
follows:

    gst rtp_replay.st -a [FILE [HOST [SOURCEPORT [DESTPORT]]]]

In addition, nonexistant FILEs are no longer created but opened
read-only instead.

Sponsored-by: On-Waves ehf
changes/45/3445/1
Jacob Erlbeck 9 years ago committed by Holger Hans Peter Freyther
parent e828b661a7
commit 8b66649883
  1. 10
      openbsc/contrib/rtp/rtp_replay.st
  2. 14
      openbsc/contrib/rtp/rtp_replay_shared.st

@ -7,11 +7,15 @@ FileStream fileIn: 'rtp_replay_shared.st'.
Eval [
| replay |
| replay file host dport |
file := Smalltalk arguments at: 1 ifAbsent: [ 'rtpstream.state' ].
host := Smalltalk arguments at: 2 ifAbsent: [ '127.0.0.1' ].
dport := (Smalltalk arguments at: 3 ifAbsent: [ '4000' ]) asInteger.
sport := (Smalltalk arguments at: 4 ifAbsent: [ '0' ]) asInteger.
replay := RTPReplay on: Smalltalk arguments first.
replay := RTPReplay on: file fromPort: sport.
Transcript nextPutAll: 'Going to stream now'; nl.
replay streamAudio: '127.0.0.1' port: 4000.
replay streamAudio: host port: dport.
]

@ -42,8 +42,18 @@ Object subclass: RTPReplay [
file: aFile; yourself
]
RTPReplay class >> on: aFile fromPort: aPort [
^ self new
initialize: aPort;
file: aFile; yourself
]
initialize [
socket := Sockets.DatagramSocket new.
self initialize: 0.
]
initialize: aPort [
socket := Sockets.DatagramSocket local: '0.0.0.0' port: aPort.
]
file: aFile [
@ -59,7 +69,7 @@ Object subclass: RTPReplay [
last_time := nil.
last_image := nil.
file := FileStream open: filename.
file := FileStream open: filename mode: #read.
"Send the payload"
dest := Sockets.SocketAddress byName: aHost.

Loading…
Cancel
Save