Fix wrong media values in SDP for some cameras #1278
This commit is contained in:
+8
-2
@@ -38,8 +38,14 @@ func UnmarshalSDP(rawSDP []byte) ([]*core.Media, error) {
|
||||
|
||||
// Fix invalid media type (errSDPInvalidValue) caused by
|
||||
// some TP-LINK IP camera, e.g. TL-IPC44GW
|
||||
m := regexp.MustCompile("m=application/[^ ]+")
|
||||
rawSDP = m.ReplaceAll(rawSDP, []byte("m=application"))
|
||||
m := regexp.MustCompile("m=[^ ]+ ")
|
||||
for _, i := range m.FindAll(rawSDP, -1) {
|
||||
switch string(i[2 : len(i)-1]) {
|
||||
case "audio", "video", "application":
|
||||
default:
|
||||
rawSDP = bytes.Replace(rawSDP, i, []byte("m=application "), 1)
|
||||
}
|
||||
}
|
||||
|
||||
if err == io.EOF {
|
||||
rawSDP = append(rawSDP, '\n')
|
||||
|
||||
Reference in New Issue
Block a user