212ac2f0d5
* Refactor of cameradar library * Old unit tests updated & improved. New unit tests inc * Update documentation & issue template * Update dependencies * Update TravisCI build script to reflect argument change * Remove outdated contributing guide * Update README with more examples and remove part on library * Add second camera to Travis build script & improve error detection * Fix typo in travis script & add missing image to readme * Remember that travis uses bash syntax not fish * Use relative paths for images in the README
28 lines
737 B
Go
28 lines
737 B
Go
package cameradar
|
|
|
|
import "fmt"
|
|
|
|
func replace(streams []Stream, new Stream) []Stream {
|
|
var updatedSlice []Stream
|
|
|
|
for _, old := range streams {
|
|
if old.Address == new.Address && old.Port == new.Port {
|
|
updatedSlice = append(updatedSlice, new)
|
|
} else {
|
|
updatedSlice = append(updatedSlice, old)
|
|
}
|
|
}
|
|
|
|
return updatedSlice
|
|
}
|
|
|
|
// GetCameraRTSPURL generates a stream's RTSP URL.
|
|
func GetCameraRTSPURL(stream Stream) string {
|
|
return "rtsp://" + stream.Username + ":" + stream.Password + "@" + stream.Address + ":" + fmt.Sprint(stream.Port) + "/" + stream.Route
|
|
}
|
|
|
|
// GetCameraAdminPanelURL returns the URL to the camera's admin panel.
|
|
func GetCameraAdminPanelURL(stream Stream) string {
|
|
return "http://" + stream.Address + "/"
|
|
}
|