mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 23:26:54 +08:00
client: support FritzBox 660 Cable (https://github.com/aler9/rtsp-simple-server/issues/1119)
This commit is contained in:
@@ -181,7 +181,7 @@ func unmarshalConnectionInformation(value string) (*psdp.ConnectionInformation,
|
||||
|
||||
// Set according to currently registered with IANA
|
||||
// https://tools.ietf.org/html/rfc4566#section-8.2.6
|
||||
if i := indexOf(fields[0], []string{"IN"}); i == -1 {
|
||||
if i := indexOf(strings.ToUpper(fields[0]), []string{"IN"}); i == -1 {
|
||||
return nil, fmt.Errorf("%w `%v`", errSDPInvalidValue, fields[0])
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ func unmarshalConnectionInformation(value string) (*psdp.ConnectionInformation,
|
||||
}
|
||||
|
||||
return &psdp.ConnectionInformation{
|
||||
NetworkType: fields[0],
|
||||
NetworkType: strings.ToUpper(fields[0]),
|
||||
AddressType: fields[1],
|
||||
Address: connAddr,
|
||||
}, nil
|
||||
|
@@ -1764,6 +1764,68 @@ var cases = []struct {
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"fritz box 660 cable",
|
||||
[]byte("v=0\n" +
|
||||
"o=- 224 1 IN IP4 192.168.178.1\n" +
|
||||
"s=SatIPServer:1 0,0,4\n" +
|
||||
"t=0 0\n" +
|
||||
"m=video 0 RTP/AVP 33\n" +
|
||||
"c=In IP4 0.0.0.0\n" +
|
||||
"a=control:stream=1\n" +
|
||||
"a=fmtp:33 ver=1.2;src=1;tuner=1,240,1,7,112,,dvbc,,,,6900,34;pids=0,16,17,18,20\n" +
|
||||
"a=sendonly\n"),
|
||||
[]byte("v=0\r\n" +
|
||||
"o=- 224 1 IN IP4 192.168.178.1\r\n" +
|
||||
"s=SatIPServer:1 0,0,4\r\n" +
|
||||
"t=0 0\r\n" +
|
||||
"m=video 0 RTP/AVP 33\r\n" +
|
||||
"c=IN IP4 0.0.0.0\r\n" +
|
||||
"a=control:stream=1\r\n" +
|
||||
"a=fmtp:33 ver=1.2;src=1;tuner=1,240,1,7,112,,dvbc,,,,6900,34;pids=0,16,17,18,20\r\n" +
|
||||
"a=sendonly\r\n"),
|
||||
SessionDescription{
|
||||
Origin: psdp.Origin{
|
||||
Username: "-",
|
||||
SessionID: 224,
|
||||
SessionVersion: 1,
|
||||
NetworkType: "IN",
|
||||
AddressType: "IP4",
|
||||
UnicastAddress: "192.168.178.1",
|
||||
},
|
||||
SessionName: "SatIPServer:1 0,0,4",
|
||||
TimeDescriptions: []psdp.TimeDescription{{}},
|
||||
MediaDescriptions: []*psdp.MediaDescription{
|
||||
{
|
||||
MediaName: psdp.MediaName{
|
||||
Media: "video",
|
||||
Protos: []string{"RTP", "AVP"},
|
||||
Formats: []string{"33"},
|
||||
},
|
||||
ConnectionInformation: &psdp.ConnectionInformation{
|
||||
NetworkType: "IN",
|
||||
AddressType: "IP4",
|
||||
Address: &psdp.Address{
|
||||
Address: "0.0.0.0",
|
||||
},
|
||||
},
|
||||
Attributes: []psdp.Attribute{
|
||||
{
|
||||
Key: "control",
|
||||
Value: "stream=1",
|
||||
},
|
||||
{
|
||||
Key: "fmtp",
|
||||
Value: "33 ver=1.2;src=1;tuner=1,240,1,7,112,,dvbc,,,,6900,34;pids=0,16,17,18,20",
|
||||
},
|
||||
{
|
||||
Key: "sendonly",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
func TestUnmarshal(t *testing.T) {
|
||||
|
Reference in New Issue
Block a user