Browse Source

Connections from Restream seem to be more sensitive about if we get the initial packets processed or not, so I moved setStreamAsConnected to be decoupled from when we set broadcaster info. Another update for #432

pull/435/head
Gabe Kangas 5 years ago
parent
commit
b405b2fcc7
  1. 3
      core/rtmp/broadcaster.go
  2. 2
      core/rtmp/rtmp.go
  3. 4
      core/rtmp/utils.go

3
core/rtmp/broadcaster.go

@ -11,8 +11,7 @@ import ( @@ -11,8 +11,7 @@ import (
func setCurrentBroadcasterInfo(t flvio.Tag, remoteAddr string) {
data, err := getInboundDetailsFromMetadata(t.DebugFields())
if err != nil {
log.Errorln(err)
return
log.Traceln("RTMP meadata:", err)
}
broadcaster := models.Broadcaster{

2
core/rtmp/rtmp.go

@ -70,7 +70,6 @@ func HandleConn(c *rtmp.Conn, nc net.Conn) { @@ -70,7 +70,6 @@ func HandleConn(c *rtmp.Conn, nc net.Conn) {
if t.Type == flvio.TAG_AMF0 {
log.Tracef("%+v\n", t.DebugFields())
setCurrentBroadcasterInfo(t, nc.RemoteAddr().String())
_setStreamAsConnected()
}
}
@ -89,6 +88,7 @@ func HandleConn(c *rtmp.Conn, nc net.Conn) { @@ -89,6 +88,7 @@ func HandleConn(c *rtmp.Conn, nc net.Conn) {
}
log.Infoln("Incoming RTMP connected.")
_setStreamAsConnected()
pipePath := utils.GetTemporaryPipePath()
if !utils.DoesFileExists(pipePath) {

4
core/rtmp/utils.go

@ -54,6 +54,10 @@ func getAudioCodec(codec interface{}) string { @@ -54,6 +54,10 @@ func getAudioCodec(codec interface{}) string {
}
func getVideoCodec(codec interface{}) string {
if codec == nil {
return "Unknown"
}
var codecID float64
if assertedCodecID, ok := codec.(float64); ok {
codecID = assertedCodecID

Loading…
Cancel
Save