mirror of https://github.com/q191201771/lal.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
2.8 KiB
Go
125 lines
2.8 KiB
Go
4 years ago
|
// Copyright 2020, Chef. All rights reserved.
|
||
|
// https://github.com/q191201771/lal
|
||
|
//
|
||
|
// Use of this source code is governed by a MIT-style license
|
||
|
// that can be found in the License file.
|
||
|
//
|
||
|
// Author: Chef (191201771@qq.com)
|
||
|
|
||
|
package base
|
||
|
|
||
3 years ago
|
// 文档见: https://pengrl.com/lal/#/HTTPNotify
|
||
3 years ago
|
|
||
4 years ago
|
type SessionEventCommonInfo struct {
|
||
3 years ago
|
ServerId string `json:"server_id"`
|
||
3 years ago
|
|
||
3 years ago
|
SessionId string `json:"session_id"`
|
||
|
Protocol string `json:"protocol"`
|
||
3 years ago
|
BaseType string `json:"base_type"`
|
||
|
RemoteAddr string `json:"remote_addr"`
|
||
|
|
||
|
Url string `json:"url"`
|
||
3 years ago
|
AppName string `json:"app_name"`
|
||
|
StreamName string `json:"stream_name"`
|
||
|
UrlParam string `json:"url_param"`
|
||
3 years ago
|
|
||
3 years ago
|
HasInSession bool `json:"has_in_session"`
|
||
|
HasOutSession bool `json:"has_out_session"`
|
||
4 years ago
|
}
|
||
|
|
||
|
type UpdateInfo struct {
|
||
3 years ago
|
ServerId string `json:"server_id"`
|
||
|
|
||
|
Groups []StatGroup `json:"groups"`
|
||
4 years ago
|
}
|
||
|
|
||
|
type PubStartInfo struct {
|
||
|
SessionEventCommonInfo
|
||
|
}
|
||
|
|
||
|
type PubStopInfo struct {
|
||
|
SessionEventCommonInfo
|
||
|
}
|
||
|
|
||
|
type SubStartInfo struct {
|
||
|
SessionEventCommonInfo
|
||
|
}
|
||
|
|
||
|
type SubStopInfo struct {
|
||
|
SessionEventCommonInfo
|
||
|
}
|
||
4 years ago
|
|
||
3 years ago
|
type PullStartInfo struct {
|
||
|
SessionEventCommonInfo
|
||
|
}
|
||
|
|
||
|
type PullStopInfo struct {
|
||
|
SessionEventCommonInfo
|
||
|
}
|
||
|
|
||
4 years ago
|
type RtmpConnectInfo struct {
|
||
3 years ago
|
ServerId string `json:"server_id"`
|
||
|
|
||
4 years ago
|
SessionId string `json:"session_id"`
|
||
4 years ago
|
RemoteAddr string `json:"remote_addr"`
|
||
|
App string `json:"app"`
|
||
|
FlashVer string `json:"flashVer"`
|
||
4 years ago
|
TcUrl string `json:"tcUrl"`
|
||
4 years ago
|
}
|
||
3 years ago
|
|
||
|
// ---------------------------------------------------------------------------------------------------------------------
|
||
|
|
||
|
func Session2PubStartInfo(session ISession) PubStartInfo {
|
||
|
return PubStartInfo{
|
||
|
session2EventCommonInfo(session),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Session2PubStopInfo(session ISession) PubStopInfo {
|
||
|
return PubStopInfo{
|
||
|
session2EventCommonInfo(session),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Session2SubStartInfo(session ISession) SubStartInfo {
|
||
|
return SubStartInfo{
|
||
|
session2EventCommonInfo(session),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Session2SubStopInfo(session ISession) SubStopInfo {
|
||
|
return SubStopInfo{
|
||
|
session2EventCommonInfo(session),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Session2PullStartInfo(session ISession) PullStartInfo {
|
||
|
return PullStartInfo{
|
||
|
session2EventCommonInfo(session),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Session2PullStopInfo(session ISession) PullStopInfo {
|
||
|
return PullStopInfo{
|
||
|
session2EventCommonInfo(session),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// ---------------------------------------------------------------------------------------------------------------------
|
||
|
|
||
|
func session2EventCommonInfo(session ISession) SessionEventCommonInfo {
|
||
|
var info SessionEventCommonInfo
|
||
|
stat := session.GetStat()
|
||
|
info.SessionId = stat.SessionId
|
||
|
info.Protocol = stat.Protocol
|
||
|
info.BaseType = stat.BaseType
|
||
|
info.RemoteAddr = stat.RemoteAddr
|
||
|
|
||
|
info.Url = session.Url()
|
||
|
info.AppName = session.AppName()
|
||
|
info.StreamName = session.StreamName()
|
||
|
info.Url = session.Url()
|
||
|
info.UrlParam = session.RawQuery()
|
||
|
return info
|
||
|
}
|