4 changed files with 47 additions and 5 deletions
@ -0,0 +1,35 @@ |
|||||||
|
package admin |
||||||
|
|
||||||
|
import ( |
||||||
|
"encoding/json" |
||||||
|
"net/http" |
||||||
|
|
||||||
|
"github.com/gabek/owncast/config" |
||||||
|
"github.com/gabek/owncast/controllers" |
||||||
|
|
||||||
|
log "github.com/sirupsen/logrus" |
||||||
|
) |
||||||
|
|
||||||
|
// ChangeStreamKey will change the stream key (in memory)
|
||||||
|
func ChangeStreamKey(w http.ResponseWriter, r *http.Request) { |
||||||
|
if r.Method != "POST" { |
||||||
|
controllers.WriteSimpleResponse(w, false, r.Method+" not supported") |
||||||
|
return |
||||||
|
} |
||||||
|
|
||||||
|
decoder := json.NewDecoder(r.Body) |
||||||
|
var request changeStreamKeyRequest |
||||||
|
err := decoder.Decode(&request) |
||||||
|
if err != nil { |
||||||
|
log.Errorln(err) |
||||||
|
controllers.WriteSimpleResponse(w, false, "") |
||||||
|
return |
||||||
|
} |
||||||
|
|
||||||
|
config.Config.VideoSettings.StreamingKey = request.Key |
||||||
|
controllers.WriteSimpleResponse(w, true, "changed") |
||||||
|
} |
||||||
|
|
||||||
|
type changeStreamKeyRequest struct { |
||||||
|
Key string `json:"key"` |
||||||
|
} |
@ -1,19 +1,21 @@ |
|||||||
package controllers |
package admin |
||||||
|
|
||||||
import ( |
import ( |
||||||
"net/http" |
"net/http" |
||||||
|
|
||||||
|
"github.com/gabek/owncast/controllers" |
||||||
"github.com/gabek/owncast/core" |
"github.com/gabek/owncast/core" |
||||||
|
|
||||||
"github.com/gabek/owncast/core/rtmp" |
"github.com/gabek/owncast/core/rtmp" |
||||||
) |
) |
||||||
|
|
||||||
// DisconnectInboundConnection will force-disconnect an inbound stream
|
// DisconnectInboundConnection will force-disconnect an inbound stream
|
||||||
func DisconnectInboundConnection(w http.ResponseWriter, r *http.Request) { |
func DisconnectInboundConnection(w http.ResponseWriter, r *http.Request) { |
||||||
if !core.GetStatus().Online { |
if !core.GetStatus().Online { |
||||||
writeSimpleResponse(w, false, "no inbound stream connected") |
controllers.WriteSimpleResponse(w, false, "no inbound stream connected") |
||||||
return |
return |
||||||
} |
} |
||||||
|
|
||||||
rtmp.Disconnect() |
rtmp.Disconnect() |
||||||
writeSimpleResponse(w, true, "inbound stream disconnected") |
controllers.WriteSimpleResponse(w, true, "inbound stream disconnected") |
||||||
} |
} |
Loading…
Reference in new issue