mirror of
https://github.com/bluenviron/mediamtx
synced 2025-01-24 16:02:59 +00:00
64d9060560
new variables: MTX_CONN_TYPE, MTX_CONN_ID, MTX_SOURCE_TYPE, MTX_SOURCE_ID, MTX_READER_TYPE, MTX_READ_ID
160 lines
5.0 KiB
Go
160 lines
5.0 KiB
Go
package core
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
|
|
"github.com/bluenviron/mediamtx/internal/conf"
|
|
)
|
|
|
|
type apiPathSourceOrReader struct {
|
|
Type string `json:"type"`
|
|
ID string `json:"id"`
|
|
}
|
|
|
|
type apiPath struct {
|
|
Name string `json:"name"`
|
|
ConfName string `json:"confName"`
|
|
Conf *conf.PathConf `json:"conf"`
|
|
Source *apiPathSourceOrReader `json:"source"`
|
|
SourceReady bool `json:"sourceReady"` // Deprecated: renamed to Ready
|
|
Ready bool `json:"ready"`
|
|
ReadyTime *time.Time `json:"readyTime"`
|
|
Tracks []string `json:"tracks"`
|
|
BytesReceived uint64 `json:"bytesReceived"`
|
|
Readers []apiPathSourceOrReader `json:"readers"`
|
|
}
|
|
|
|
type apiPathsList struct {
|
|
ItemCount int `json:"itemCount"`
|
|
PageCount int `json:"pageCount"`
|
|
Items []*apiPath `json:"items"`
|
|
}
|
|
|
|
type apiHLSMuxer struct {
|
|
Path string `json:"path"`
|
|
Created time.Time `json:"created"`
|
|
LastRequest time.Time `json:"lastRequest"`
|
|
BytesSent uint64 `json:"bytesSent"`
|
|
}
|
|
|
|
type apiHLSMuxersList struct {
|
|
ItemCount int `json:"itemCount"`
|
|
PageCount int `json:"pageCount"`
|
|
Items []*apiHLSMuxer `json:"items"`
|
|
}
|
|
|
|
type apiRTSPConn struct {
|
|
ID uuid.UUID `json:"id"`
|
|
Created time.Time `json:"created"`
|
|
RemoteAddr string `json:"remoteAddr"`
|
|
BytesReceived uint64 `json:"bytesReceived"`
|
|
BytesSent uint64 `json:"bytesSent"`
|
|
}
|
|
|
|
type apiRTSPConnsList struct {
|
|
ItemCount int `json:"itemCount"`
|
|
PageCount int `json:"pageCount"`
|
|
Items []*apiRTSPConn `json:"items"`
|
|
}
|
|
|
|
type apiRTMPConnState string
|
|
|
|
const (
|
|
apiRTMPConnStateIdle apiRTMPConnState = "idle"
|
|
apiRTMPConnStateRead apiRTMPConnState = "read"
|
|
apiRTMPConnStatePublish apiRTMPConnState = "publish"
|
|
)
|
|
|
|
type apiRTMPConn struct {
|
|
ID uuid.UUID `json:"id"`
|
|
Created time.Time `json:"created"`
|
|
RemoteAddr string `json:"remoteAddr"`
|
|
State apiRTMPConnState `json:"state"`
|
|
Path string `json:"path"`
|
|
BytesReceived uint64 `json:"bytesReceived"`
|
|
BytesSent uint64 `json:"bytesSent"`
|
|
}
|
|
|
|
type apiRTMPConnsList struct {
|
|
ItemCount int `json:"itemCount"`
|
|
PageCount int `json:"pageCount"`
|
|
Items []*apiRTMPConn `json:"items"`
|
|
}
|
|
|
|
type apiRTSPSessionState string
|
|
|
|
const (
|
|
apiRTSPSessionStateIdle apiRTSPSessionState = "idle"
|
|
apiRTSPSessionStateRead apiRTSPSessionState = "read"
|
|
apiRTSPSessionStatePublish apiRTSPSessionState = "publish"
|
|
)
|
|
|
|
type apiRTSPSession struct {
|
|
ID uuid.UUID `json:"id"`
|
|
Created time.Time `json:"created"`
|
|
RemoteAddr string `json:"remoteAddr"`
|
|
State apiRTSPSessionState `json:"state"`
|
|
Path string `json:"path"`
|
|
Transport *string `json:"transport"`
|
|
BytesReceived uint64 `json:"bytesReceived"`
|
|
BytesSent uint64 `json:"bytesSent"`
|
|
}
|
|
|
|
type apiRTSPSessionsList struct {
|
|
ItemCount int `json:"itemCount"`
|
|
PageCount int `json:"pageCount"`
|
|
Items []*apiRTSPSession `json:"items"`
|
|
}
|
|
|
|
type apiSRTConnState string
|
|
|
|
const (
|
|
apiSRTConnStateIdle apiSRTConnState = "idle"
|
|
apiSRTConnStateRead apiSRTConnState = "read"
|
|
apiSRTConnStatePublish apiSRTConnState = "publish"
|
|
)
|
|
|
|
type apiSRTConn struct {
|
|
ID uuid.UUID `json:"id"`
|
|
Created time.Time `json:"created"`
|
|
RemoteAddr string `json:"remoteAddr"`
|
|
State apiSRTConnState `json:"state"`
|
|
Path string `json:"path"`
|
|
BytesReceived uint64 `json:"bytesReceived"`
|
|
BytesSent uint64 `json:"bytesSent"`
|
|
}
|
|
|
|
type apiSRTConnsList struct {
|
|
ItemCount int `json:"itemCount"`
|
|
PageCount int `json:"pageCount"`
|
|
Items []*apiSRTConn `json:"items"`
|
|
}
|
|
|
|
type apiWebRTCSessionState string
|
|
|
|
const (
|
|
apiWebRTCSessionStateRead apiWebRTCSessionState = "read"
|
|
apiWebRTCSessionStatePublish apiWebRTCSessionState = "publish"
|
|
)
|
|
|
|
type apiWebRTCSession struct {
|
|
ID uuid.UUID `json:"id"`
|
|
Created time.Time `json:"created"`
|
|
RemoteAddr string `json:"remoteAddr"`
|
|
PeerConnectionEstablished bool `json:"peerConnectionEstablished"`
|
|
LocalCandidate string `json:"localCandidate"`
|
|
RemoteCandidate string `json:"remoteCandidate"`
|
|
State apiWebRTCSessionState `json:"state"`
|
|
Path string `json:"path"`
|
|
BytesReceived uint64 `json:"bytesReceived"`
|
|
BytesSent uint64 `json:"bytesSent"`
|
|
}
|
|
|
|
type apiWebRTCSessionsList struct {
|
|
ItemCount int `json:"itemCount"`
|
|
PageCount int `json:"pageCount"`
|
|
Items []*apiWebRTCSession `json:"items"`
|
|
}
|