Skip to content

Commit f1ba5e9

Browse files
committed
Fix parsing RTSP Transport header #1235
1 parent d8c0f9d commit f1ba5e9

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

pkg/rtsp/server.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,21 +149,21 @@ func (c *Conn) Accept() error {
149149
}
150150

151151
const transport = "RTP/AVP/TCP;unicast;interleaved="
152-
if strings.HasPrefix(tr, transport) {
152+
if tr = core.Between(tr, "interleaved=", ";"); tr != "" {
153153
c.session = core.RandString(8, 10)
154154
c.state = StateSetup
155155

156156
if c.mode == core.ModePassiveConsumer {
157157
if i := reqTrackID(req); i >= 0 && i < len(c.Senders) {
158158
// mark sender as SETUP
159159
c.Senders[i].Media.ID = MethodSetup
160-
tr = fmt.Sprintf("RTP/AVP/TCP;unicast;interleaved=%d-%d", i*2, i*2+1)
161-
res.Header.Set("Transport", tr)
160+
tr = fmt.Sprintf("%d-%d", i*2, i*2+1)
161+
res.Header.Set("Transport", transport+tr)
162162
} else {
163163
res.Status = "400 Bad Request"
164164
}
165165
} else {
166-
res.Header.Set("Transport", tr[:len(transport)+3])
166+
res.Header.Set("Transport", transport+tr)
167167
}
168168
} else {
169169
res.Status = "461 Unsupported transport"

0 commit comments

Comments
 (0)