diff --git a/.gitignore b/.gitignore index f6d5eed..23aad1c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea .vscode -node_modules \ No newline at end of file +node_modules +/.history diff --git a/main.go b/main.go index 362a92e..95af9f2 100644 --- a/main.go +++ b/main.go @@ -140,6 +140,7 @@ func (rtc *WebRTC) Play(streamPath string) bool { switch connectionState { case ICEConnectionStateDisconnected: sub.Close() + rtc.Close() case ICEConnectionStateConnected: //rtc.videoTrack = rtc.GetSenders()[0].Track() @@ -240,6 +241,15 @@ func (rtc *WebRTC) GetAnswer() ([]byte, error) { func run() { http.HandleFunc("/webrtc/play", func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Access-Control-Allow-Credentials", "true") + origin := r.Header["Origin"] + if len(origin) == 0 { + w.Header().Set("Access-Control-Allow-Origin", "*") + } else { + w.Header().Set("Access-Control-Allow-Origin", origin[0]) + } + + w.Header().Set("Content-Type", "application/json") streamPath := r.URL.Query().Get("streamPath") var offer SessionDescription var rtc WebRTC