mirror of
https://github.com/bluenviron/mediamtx.git
synced 2025-12-20 02:00:05 -08:00
44 lines
990 B
Go
44 lines
990 B
Go
package core
|
|
|
|
import (
|
|
"github.com/bluenviron/mediamtx/internal/defs"
|
|
"github.com/bluenviron/mediamtx/internal/externalcmd"
|
|
"github.com/bluenviron/mediamtx/internal/logger"
|
|
)
|
|
|
|
type conn struct {
|
|
rtspAddress string
|
|
runOnConnect string
|
|
runOnConnectRestart bool
|
|
runOnDisconnect string
|
|
externalCmdPool *externalcmd.Pool
|
|
logger logger.Writer
|
|
|
|
onDisconnectHook func()
|
|
}
|
|
|
|
func newConn(
|
|
rtspAddress string,
|
|
runOnConnect string,
|
|
runOnConnectRestart bool,
|
|
runOnDisconnect string,
|
|
externalCmdPool *externalcmd.Pool,
|
|
logger logger.Writer,
|
|
) *conn {
|
|
return &conn{
|
|
rtspAddress: rtspAddress,
|
|
runOnConnect: runOnConnect,
|
|
runOnConnectRestart: runOnConnectRestart,
|
|
runOnDisconnect: runOnDisconnect,
|
|
externalCmdPool: externalCmdPool,
|
|
logger: logger,
|
|
}
|
|
}
|
|
|
|
func (c *conn) open(desc defs.APIPathSourceOrReader) {
|
|
c.onDisconnectHook = onConnectHook(c, desc)
|
|
}
|
|
|
|
func (c *conn) close() {
|
|
c.onDisconnectHook()
|
|
}
|