Fix parsing RTSP Transport header #1235
This commit is contained in:
+4
-4
@@ -149,7 +149,7 @@ func (c *Conn) Accept() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const transport = "RTP/AVP/TCP;unicast;interleaved="
|
const transport = "RTP/AVP/TCP;unicast;interleaved="
|
||||||
if strings.HasPrefix(tr, transport) {
|
if tr = core.Between(tr, "interleaved=", ";"); tr != "" {
|
||||||
c.session = core.RandString(8, 10)
|
c.session = core.RandString(8, 10)
|
||||||
c.state = StateSetup
|
c.state = StateSetup
|
||||||
|
|
||||||
@@ -157,13 +157,13 @@ func (c *Conn) Accept() error {
|
|||||||
if i := reqTrackID(req); i >= 0 && i < len(c.Senders) {
|
if i := reqTrackID(req); i >= 0 && i < len(c.Senders) {
|
||||||
// mark sender as SETUP
|
// mark sender as SETUP
|
||||||
c.Senders[i].Media.ID = MethodSetup
|
c.Senders[i].Media.ID = MethodSetup
|
||||||
tr = fmt.Sprintf("RTP/AVP/TCP;unicast;interleaved=%d-%d", i*2, i*2+1)
|
tr = fmt.Sprintf("%d-%d", i*2, i*2+1)
|
||||||
res.Header.Set("Transport", tr)
|
res.Header.Set("Transport", transport+tr)
|
||||||
} else {
|
} else {
|
||||||
res.Status = "400 Bad Request"
|
res.Status = "400 Bad Request"
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
res.Header.Set("Transport", tr[:len(transport)+3])
|
res.Header.Set("Transport", transport+tr)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
res.Status = "461 Unsupported transport"
|
res.Status = "461 Unsupported transport"
|
||||||
|
|||||||
Reference in New Issue
Block a user