mirror of
https://github.com/AlexxIT/go2rtc.git
synced 2025-10-16 13:20:51 +08:00
Code refactoring (change interface to any)
This commit is contained in:
@@ -63,13 +63,13 @@ func mergeYAML(file1 string, yaml2 []byte) ([]byte, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Unmarshal the first YAML file into a map
|
// Unmarshal the first YAML file into a map
|
||||||
var config1 map[string]interface{}
|
var config1 map[string]any
|
||||||
if err = yaml.Unmarshal(data1, &config1); err != nil {
|
if err = yaml.Unmarshal(data1, &config1); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unmarshal the second YAML document into a map
|
// Unmarshal the second YAML document into a map
|
||||||
var config2 map[string]interface{}
|
var config2 map[string]any
|
||||||
if err = yaml.Unmarshal(yaml2, &config2); err != nil {
|
if err = yaml.Unmarshal(yaml2, &config2); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -81,15 +81,15 @@ func mergeYAML(file1 string, yaml2 []byte) ([]byte, error) {
|
|||||||
return yaml.Marshal(&config1)
|
return yaml.Marshal(&config1)
|
||||||
}
|
}
|
||||||
|
|
||||||
func merge(dst, src map[string]interface{}) map[string]interface{} {
|
func merge(dst, src map[string]any) map[string]any {
|
||||||
for k, v := range src {
|
for k, v := range src {
|
||||||
if vv, ok := dst[k]; ok {
|
if vv, ok := dst[k]; ok {
|
||||||
switch vv := vv.(type) {
|
switch vv := vv.(type) {
|
||||||
case map[string]interface{}:
|
case map[string]any:
|
||||||
v := v.(map[string]interface{})
|
v := v.(map[string]any)
|
||||||
dst[k] = merge(vv, v)
|
dst[k] = merge(vv, v)
|
||||||
case []interface{}:
|
case []any:
|
||||||
v := v.([]interface{})
|
v := v.([]any)
|
||||||
dst[k] = v
|
dst[k] = v
|
||||||
default:
|
default:
|
||||||
dst[k] = v
|
dst[k] = v
|
||||||
|
@@ -84,7 +84,7 @@ func apiWS(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tr := &Transport{Request: r}
|
tr := &Transport{Request: r}
|
||||||
tr.OnWrite(func(msg interface{}) {
|
tr.OnWrite(func(msg any) {
|
||||||
_ = ws.SetWriteDeadline(time.Now().Add(time.Second * 5))
|
_ = ws.SetWriteDeadline(time.Now().Add(time.Second * 5))
|
||||||
|
|
||||||
if data, ok := msg.([]byte); ok {
|
if data, ok := msg.([]byte); ok {
|
||||||
@@ -130,11 +130,11 @@ type Transport struct {
|
|||||||
wrmx sync.Mutex
|
wrmx sync.Mutex
|
||||||
|
|
||||||
onChange func()
|
onChange func()
|
||||||
onWrite func(msg interface{})
|
onWrite func(msg any)
|
||||||
onClose []func()
|
onClose []func()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Transport) OnWrite(f func(msg interface{})) {
|
func (t *Transport) OnWrite(f func(msg any)) {
|
||||||
t.mx.Lock()
|
t.mx.Lock()
|
||||||
if t.onChange != nil {
|
if t.onChange != nil {
|
||||||
t.onChange()
|
t.onChange()
|
||||||
@@ -143,7 +143,7 @@ func (t *Transport) OnWrite(f func(msg interface{})) {
|
|||||||
t.mx.Unlock()
|
t.mx.Unlock()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Transport) Write(msg interface{}) {
|
func (t *Transport) Write(msg any) {
|
||||||
t.wrmx.Lock()
|
t.wrmx.Lock()
|
||||||
t.onWrite(msg)
|
t.onWrite(msg)
|
||||||
t.wrmx.Unlock()
|
t.wrmx.Unlock()
|
||||||
|
@@ -18,7 +18,7 @@ var Version = "1.2.0"
|
|||||||
var UserAgent = "go2rtc/" + Version
|
var UserAgent = "go2rtc/" + Version
|
||||||
|
|
||||||
var ConfigPath string
|
var ConfigPath string
|
||||||
var Info = map[string]interface{}{
|
var Info = map[string]any{
|
||||||
"version": Version,
|
"version": Version,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ func NewLogger(format string, level string) zerolog.Logger {
|
|||||||
return zerolog.New(writer).With().Timestamp().Logger().Level(lvl)
|
return zerolog.New(writer).With().Timestamp().Logger().Level(lvl)
|
||||||
}
|
}
|
||||||
|
|
||||||
func LoadConfig(v interface{}) {
|
func LoadConfig(v any) {
|
||||||
for _, data := range configs {
|
for _, data := range configs {
|
||||||
if err := yaml.Unmarshal(data, v); err != nil {
|
if err := yaml.Unmarshal(data, v); err != nil {
|
||||||
log.Warn().Err(err).Msg("[app] read config")
|
log.Warn().Err(err).Msg("[app] read config")
|
||||||
|
@@ -8,7 +8,7 @@ import (
|
|||||||
|
|
||||||
const name = "go2rtc.json"
|
const name = "go2rtc.json"
|
||||||
|
|
||||||
var store map[string]interface{}
|
var store map[string]any
|
||||||
|
|
||||||
func load() {
|
func load() {
|
||||||
data, _ := os.ReadFile(name)
|
data, _ := os.ReadFile(name)
|
||||||
@@ -20,7 +20,7 @@ func load() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if store == nil {
|
if store == nil {
|
||||||
store = make(map[string]interface{})
|
store = make(map[string]any)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ func save() error {
|
|||||||
return os.WriteFile(name, data, 0644)
|
return os.WriteFile(name, data, 0644)
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetRaw(key string) interface{} {
|
func GetRaw(key string) any {
|
||||||
if store == nil {
|
if store == nil {
|
||||||
load()
|
load()
|
||||||
}
|
}
|
||||||
@@ -41,16 +41,16 @@ func GetRaw(key string) interface{} {
|
|||||||
return store[key]
|
return store[key]
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetDict(key string) map[string]interface{} {
|
func GetDict(key string) map[string]any {
|
||||||
raw := GetRaw(key)
|
raw := GetRaw(key)
|
||||||
if raw != nil {
|
if raw != nil {
|
||||||
return raw.(map[string]interface{})
|
return raw.(map[string]any)
|
||||||
}
|
}
|
||||||
|
|
||||||
return make(map[string]interface{})
|
return make(map[string]any)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Set(key string, v interface{}) error {
|
func Set(key string, v any) error {
|
||||||
if store == nil {
|
if store == nil {
|
||||||
load()
|
load()
|
||||||
}
|
}
|
||||||
|
@@ -83,7 +83,7 @@ func handlerStream(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
session := &Session{cons: cons}
|
session := &Session{cons: cons}
|
||||||
|
|
||||||
cons.Listen(func(msg interface{}) {
|
cons.(any).(*core.Listener).Listen(func(msg any) {
|
||||||
if data, ok := msg.([]byte); ok {
|
if data, ok := msg.([]byte); ok {
|
||||||
session.mu.Lock()
|
session.mu.Lock()
|
||||||
session.segment = append(session.segment, data...)
|
session.segment = append(session.segment, data...)
|
||||||
|
@@ -15,7 +15,7 @@ import (
|
|||||||
func apiHandler(w http.ResponseWriter, r *http.Request) {
|
func apiHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
switch r.Method {
|
switch r.Method {
|
||||||
case "GET":
|
case "GET":
|
||||||
items := make([]interface{}, 0)
|
items := make([]any, 0)
|
||||||
|
|
||||||
for name, src := range store.GetDict("streams") {
|
for name, src := range store.GetDict("streams") {
|
||||||
if src := src.(string); strings.HasPrefix(src, "homekit") {
|
if src := src.(string); strings.HasPrefix(src, "homekit") {
|
||||||
|
@@ -32,7 +32,7 @@ func handlerKeyframe(w http.ResponseWriter, r *http.Request) {
|
|||||||
RemoteAddr: r.RemoteAddr,
|
RemoteAddr: r.RemoteAddr,
|
||||||
UserAgent: r.UserAgent(),
|
UserAgent: r.UserAgent(),
|
||||||
}
|
}
|
||||||
cons.Listen(func(msg interface{}) {
|
cons.Listen(func(msg any) {
|
||||||
switch msg := msg.(type) {
|
switch msg := msg.(type) {
|
||||||
case []byte:
|
case []byte:
|
||||||
exit <- msg
|
exit <- msg
|
||||||
@@ -84,7 +84,7 @@ func outputMjpeg(w http.ResponseWriter, r *http.Request) {
|
|||||||
RemoteAddr: r.RemoteAddr,
|
RemoteAddr: r.RemoteAddr,
|
||||||
UserAgent: r.UserAgent(),
|
UserAgent: r.UserAgent(),
|
||||||
}
|
}
|
||||||
cons.Listen(func(msg interface{}) {
|
cons.Listen(func(msg any) {
|
||||||
switch msg := msg.(type) {
|
switch msg := msg.(type) {
|
||||||
case []byte:
|
case []byte:
|
||||||
data := []byte(header + strconv.Itoa(len(msg)))
|
data := []byte(header + strconv.Itoa(len(msg)))
|
||||||
@@ -149,7 +149,7 @@ func handlerWS(tr *api.Transport, _ *api.Message) error {
|
|||||||
RemoteAddr: tr.Request.RemoteAddr,
|
RemoteAddr: tr.Request.RemoteAddr,
|
||||||
UserAgent: tr.Request.UserAgent(),
|
UserAgent: tr.Request.UserAgent(),
|
||||||
}
|
}
|
||||||
cons.Listen(func(msg interface{}) {
|
cons.Listen(func(msg any) {
|
||||||
if data, ok := msg.([]byte); ok {
|
if data, ok := msg.([]byte); ok {
|
||||||
tr.Write(data)
|
tr.Write(data)
|
||||||
}
|
}
|
||||||
|
@@ -46,7 +46,7 @@ func handlerKeyframe(w http.ResponseWriter, r *http.Request) {
|
|||||||
exit := make(chan []byte)
|
exit := make(chan []byte)
|
||||||
|
|
||||||
cons := &mp4.Segment{OnlyKeyframe: true}
|
cons := &mp4.Segment{OnlyKeyframe: true}
|
||||||
cons.Listen(func(msg interface{}) {
|
cons.Listen(func(msg any) {
|
||||||
if data, ok := msg.([]byte); ok && exit != nil {
|
if data, ok := msg.([]byte); ok && exit != nil {
|
||||||
exit <- data
|
exit <- data
|
||||||
exit = nil
|
exit = nil
|
||||||
|
@@ -26,7 +26,7 @@ func handlerWSMSE(tr *api.Transport, msg *api.Message) error {
|
|||||||
cons.Medias = parseMedias(codecs, true)
|
cons.Medias = parseMedias(codecs, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
cons.Listen(func(msg interface{}) {
|
cons.Listen(func(msg any) {
|
||||||
if data, ok := msg.([]byte); ok {
|
if data, ok := msg.([]byte); ok {
|
||||||
tr.Write(data)
|
tr.Write(data)
|
||||||
}
|
}
|
||||||
@@ -74,7 +74,7 @@ func handlerWSMP4(tr *api.Transport, msg *api.Message) error {
|
|||||||
cons.Medias = parseMedias(codecs, false)
|
cons.Medias = parseMedias(codecs, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
cons.Listen(func(msg interface{}) {
|
cons.Listen(func(msg any) {
|
||||||
if data, ok := msg.([]byte); ok {
|
if data, ok := msg.([]byte); ok {
|
||||||
tr.Write(data)
|
tr.Write(data)
|
||||||
}
|
}
|
||||||
|
@@ -30,7 +30,7 @@ func Init() {
|
|||||||
log.Error().Err(err).Msg("[ngrok] start")
|
log.Error().Err(err).Msg("[ngrok] start")
|
||||||
}
|
}
|
||||||
|
|
||||||
ngr.Listen(func(msg interface{}) {
|
ngr.Listen(func(msg any) {
|
||||||
if msg := msg.(*ngrok.Message); msg != nil {
|
if msg := msg.(*ngrok.Message); msg != nil {
|
||||||
if strings.HasPrefix(msg.Line, "ERROR:") {
|
if strings.HasPrefix(msg.Line, "ERROR:") {
|
||||||
log.Warn().Msg("[ngrok] " + msg.Line)
|
log.Warn().Msg("[ngrok] " + msg.Line)
|
||||||
|
@@ -106,7 +106,7 @@ func rtspHandler(url string) (streamer.Producer, error) {
|
|||||||
conn.UserAgent = app.UserAgent
|
conn.UserAgent = app.UserAgent
|
||||||
|
|
||||||
if log.Trace().Enabled() {
|
if log.Trace().Enabled() {
|
||||||
conn.Listen(func(msg interface{}) {
|
conn.Listen(func(msg any) {
|
||||||
switch msg := msg.(type) {
|
switch msg := msg.(type) {
|
||||||
case *tcp.Request:
|
case *tcp.Request:
|
||||||
log.Trace().Msgf("[rtsp] client request:\n%s", msg)
|
log.Trace().Msgf("[rtsp] client request:\n%s", msg)
|
||||||
@@ -147,7 +147,7 @@ func tcpHandler(conn *rtsp.Conn) {
|
|||||||
|
|
||||||
trace := log.Trace().Enabled()
|
trace := log.Trace().Enabled()
|
||||||
|
|
||||||
conn.Listen(func(msg interface{}) {
|
conn.Listen(func(msg any) {
|
||||||
if trace {
|
if trace {
|
||||||
switch msg := msg.(type) {
|
switch msg := msg.(type) {
|
||||||
case *tcp.Request:
|
case *tcp.Request:
|
||||||
|
@@ -24,7 +24,7 @@ func NewStream(source interface{}) *Stream {
|
|||||||
prod := &Producer{url: source}
|
prod := &Producer{url: source}
|
||||||
s.producers = append(s.producers, prod)
|
s.producers = append(s.producers, prod)
|
||||||
return s
|
return s
|
||||||
case []interface{}:
|
case []any:
|
||||||
s := new(Stream)
|
s := new(Stream)
|
||||||
for _, source := range source {
|
for _, source := range source {
|
||||||
prod := &Producer{url: source.(string)}
|
prod := &Producer{url: source.(string)}
|
||||||
@@ -33,7 +33,7 @@ func NewStream(source interface{}) *Stream {
|
|||||||
return s
|
return s
|
||||||
case *Stream:
|
case *Stream:
|
||||||
return source
|
return source
|
||||||
case map[string]interface{}:
|
case map[string]any:
|
||||||
return NewStream(source["url"])
|
return NewStream(source["url"])
|
||||||
case nil:
|
case nil:
|
||||||
return new(Stream)
|
return new(Stream)
|
||||||
|
@@ -11,7 +11,7 @@ import (
|
|||||||
|
|
||||||
func Init() {
|
func Init() {
|
||||||
var cfg struct {
|
var cfg struct {
|
||||||
Mod map[string]interface{} `yaml:"streams"`
|
Mod map[string]any `yaml:"streams"`
|
||||||
}
|
}
|
||||||
|
|
||||||
app.LoadConfig(&cfg)
|
app.LoadConfig(&cfg)
|
||||||
@@ -33,7 +33,7 @@ func Get(name string) *Stream {
|
|||||||
return streams[name]
|
return streams[name]
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(name string, source interface{}) *Stream {
|
func New(name string, source any) *Stream {
|
||||||
stream := NewStream(source)
|
stream := NewStream(source)
|
||||||
streams[name] = stream
|
streams[name] = stream
|
||||||
return stream
|
return stream
|
||||||
|
@@ -185,7 +185,7 @@ func inputWebRTC(w http.ResponseWriter, r *http.Request) {
|
|||||||
id := strconv.FormatInt(time.Now().UnixNano(), 36)
|
id := strconv.FormatInt(time.Now().UnixNano(), 36)
|
||||||
sessions[id] = prod
|
sessions[id] = prod
|
||||||
|
|
||||||
prod.Listen(func(msg interface{}) {
|
prod.Listen(func(msg any) {
|
||||||
switch msg := msg.(type) {
|
switch msg := msg.(type) {
|
||||||
case pion.PeerConnectionState:
|
case pion.PeerConnectionState:
|
||||||
if msg == pion.PeerConnectionStateClosed {
|
if msg == pion.PeerConnectionStateClosed {
|
||||||
|
@@ -52,7 +52,7 @@ func Init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if log.Debug().Enabled() {
|
if log.Debug().Enabled() {
|
||||||
srv.Listen(func(msg interface{}) {
|
srv.Listen(func(msg any) {
|
||||||
switch msg.(type) {
|
switch msg.(type) {
|
||||||
case string, error:
|
case string, error:
|
||||||
log.Debug().Msgf("[webtorrent] %s", msg)
|
log.Debug().Msgf("[webtorrent] %s", msg)
|
||||||
|
@@ -38,7 +38,7 @@ type Client struct {
|
|||||||
audioSeq uint16
|
audioSeq uint16
|
||||||
}
|
}
|
||||||
|
|
||||||
type Response map[string]interface{}
|
type Response map[string]any
|
||||||
|
|
||||||
const Login = uint16(1000)
|
const Login = uint16(1000)
|
||||||
const OPMonitorClaim = uint16(1413)
|
const OPMonitorClaim = uint16(1413)
|
||||||
|
@@ -91,7 +91,7 @@ func (c *Character) GenerateEvent() (data []byte, err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set new value and NotifyListeners
|
// Set new value and NotifyListeners
|
||||||
func (c *Character) Set(v interface{}) (err error) {
|
func (c *Character) Set(v any) (err error) {
|
||||||
if err = c.Write(v); err != nil {
|
if err = c.Write(v); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -99,7 +99,7 @@ func (c *Character) Set(v interface{}) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Write new value with right format
|
// Write new value with right format
|
||||||
func (c *Character) Write(v interface{}) (err error) {
|
func (c *Character) Write(v any) (err error) {
|
||||||
switch c.Format {
|
switch c.Format {
|
||||||
case characteristic.FormatTLV8:
|
case characteristic.FormatTLV8:
|
||||||
var data []byte
|
var data []byte
|
||||||
@@ -120,7 +120,7 @@ func (c *Character) Write(v interface{}) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ReadTLV8 value to right struct
|
// ReadTLV8 value to right struct
|
||||||
func (c *Character) ReadTLV8(v interface{}) (err error) {
|
func (c *Character) ReadTLV8(v any) (err error) {
|
||||||
var data []byte
|
var data []byte
|
||||||
if data, err = base64.StdEncoding.DecodeString(c.Value.(string)); err != nil {
|
if data, err = base64.StdEncoding.DecodeString(c.Value.(string)); err != nil {
|
||||||
return
|
return
|
||||||
|
@@ -35,7 +35,7 @@ type Conn struct {
|
|||||||
ClientPrivate []byte
|
ClientPrivate []byte
|
||||||
|
|
||||||
OnEvent func(res *http.Response)
|
OnEvent func(res *http.Response)
|
||||||
Output func(msg interface{})
|
Output func(msg any)
|
||||||
|
|
||||||
conn net.Conn
|
conn net.Conn
|
||||||
secure *Secure
|
secure *Secure
|
||||||
|
@@ -38,7 +38,7 @@ type PairVerifyPayload struct {
|
|||||||
Signature []byte `tlv8:"10,optional"`
|
Signature []byte `tlv8:"10,optional"`
|
||||||
}
|
}
|
||||||
|
|
||||||
//func (c *Character) Unmarshal(value interface{}) error {
|
//func (c *Character) Unmarshal(value any) error {
|
||||||
// switch c.Format {
|
// switch c.Format {
|
||||||
// case characteristic.FormatTLV8:
|
// case characteristic.FormatTLV8:
|
||||||
// data, err := base64.StdEncoding.DecodeString(c.Value.(string))
|
// data, err := base64.StdEncoding.DecodeString(c.Value.(string))
|
||||||
@@ -50,7 +50,7 @@ type PairVerifyPayload struct {
|
|||||||
// return nil
|
// return nil
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//func (c *Character) Marshal(value interface{}) error {
|
//func (c *Character) Marshal(value any) error {
|
||||||
// switch c.Format {
|
// switch c.Format {
|
||||||
// case characteristic.FormatTLV8:
|
// case characteristic.FormatTLV8:
|
||||||
// data, err := tlv8.Marshal(value)
|
// data, err := tlv8.Marshal(value)
|
||||||
|
@@ -27,7 +27,7 @@ func NewReader(b []byte) *AMF0 {
|
|||||||
return &AMF0{buf: b}
|
return &AMF0{buf: b}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *AMF0) ReadMetaData() map[string]interface{} {
|
func (a *AMF0) ReadMetaData() map[string]any {
|
||||||
if b, _ := a.ReadByte(); b != TypeString {
|
if b, _ := a.ReadByte(); b != TypeString {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -48,8 +48,8 @@ func (a *AMF0) ReadMetaData() map[string]interface{} {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *AMF0) ReadMap() (map[interface{}]interface{}, error) {
|
func (a *AMF0) ReadMap() (map[any]any, error) {
|
||||||
dict := make(map[interface{}]interface{})
|
dict := make(map[any]any)
|
||||||
|
|
||||||
for a.pos < len(a.buf) {
|
for a.pos < len(a.buf) {
|
||||||
k, err := a.ReadItem()
|
k, err := a.ReadItem()
|
||||||
@@ -66,7 +66,7 @@ func (a *AMF0) ReadMap() (map[interface{}]interface{}, error) {
|
|||||||
return dict, nil
|
return dict, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *AMF0) ReadItem() (interface{}, error) {
|
func (a *AMF0) ReadItem() (any, error) {
|
||||||
dataType, err := a.ReadByte()
|
dataType, err := a.ReadByte()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -131,8 +131,8 @@ func (a *AMF0) ReadString() (string, error) {
|
|||||||
return s, nil
|
return s, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *AMF0) ReadObject() (map[string]interface{}, error) {
|
func (a *AMF0) ReadObject() (map[string]any, error) {
|
||||||
obj := make(map[string]interface{})
|
obj := make(map[string]any)
|
||||||
|
|
||||||
for {
|
for {
|
||||||
k, err := a.ReadString()
|
k, err := a.ReadString()
|
||||||
@@ -155,7 +155,7 @@ func (a *AMF0) ReadObject() (map[string]interface{}, error) {
|
|||||||
return obj, nil
|
return obj, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *AMF0) ReadEcmaArray() (map[string]interface{}, error) {
|
func (a *AMF0) ReadEcmaArray() (map[string]any, error) {
|
||||||
if a.pos+4 >= len(a.buf) {
|
if a.pos+4 >= len(a.buf) {
|
||||||
return nil, Err
|
return nil, Err
|
||||||
}
|
}
|
||||||
|
@@ -176,7 +176,7 @@ func (c *Conn) Close() (err error) {
|
|||||||
return c.conn.Close()
|
return c.conn.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseAudioConfig(meta map[string]interface{}) av.CodecData {
|
func parseAudioConfig(meta map[string]any) av.CodecData {
|
||||||
if meta["audiocodecid"] != float64(10) {
|
if meta["audiocodecid"] != float64(10) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@@ -24,7 +24,7 @@ type Message struct {
|
|||||||
Line string
|
Line string
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewNgrok(command interface{}) (*Ngrok, error) {
|
func NewNgrok(command any) (*Ngrok, error) {
|
||||||
var arg []string
|
var arg []string
|
||||||
switch command.(type) {
|
switch command.(type) {
|
||||||
case string:
|
case string:
|
||||||
|
@@ -7,7 +7,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func assert(t *testing.T, one, two interface{}) {
|
func assert(t *testing.T, one, two any) {
|
||||||
if one != two {
|
if one != two {
|
||||||
t.FailNow()
|
t.FailNow()
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user