mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 23:26:54 +08:00
fix transport header parsing with dahua rtsp server (#121)
This commit is contained in:
@@ -201,17 +201,8 @@ func (h *Transport) Read(v base.HeaderValue) error {
|
||||
h.ServerPorts = ports
|
||||
|
||||
case "ssrc":
|
||||
// replace initial spaces
|
||||
var b strings.Builder
|
||||
b.Grow(len(v))
|
||||
i := 0
|
||||
for ; i < len(v) && v[i] == ' '; i++ {
|
||||
b.WriteByte('0')
|
||||
}
|
||||
b.WriteString(v[i:])
|
||||
v = b.String()
|
||||
v = strings.TrimLeft(v, " ")
|
||||
|
||||
// add initial zeros
|
||||
if (len(v) % 2) != 0 {
|
||||
v = "0" + v
|
||||
}
|
||||
|
@@ -181,6 +181,23 @@ var casesTransport = []struct {
|
||||
}(),
|
||||
},
|
||||
},
|
||||
{
|
||||
"dahua rtsp server ssrc with initial spaces",
|
||||
base.HeaderValue{`RTP/AVP/TCP;unicast;interleaved=0-1;ssrc= D93FF`},
|
||||
base.HeaderValue{`RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=000D93FF`},
|
||||
Transport{
|
||||
Protocol: TransportProtocolTCP,
|
||||
Delivery: func() *TransportDelivery {
|
||||
v := TransportDeliveryUnicast
|
||||
return &v
|
||||
}(),
|
||||
InterleavedIDs: &[2]int{0, 1},
|
||||
SSRC: func() *uint32 {
|
||||
v := uint32(0xD93FF)
|
||||
return &v
|
||||
}(),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
func TestTransportRead(t *testing.T) {
|
||||
|
Reference in New Issue
Block a user