Rewrite stream info API
This commit is contained in:
+3
-2
@@ -12,6 +12,7 @@ import (
|
||||
"github.com/deepch/vdk/format/rtmp"
|
||||
"github.com/pion/rtp"
|
||||
"net/http"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -33,7 +34,7 @@ type Client struct {
|
||||
conn Conn
|
||||
closed bool
|
||||
|
||||
receive int
|
||||
recv uint32
|
||||
}
|
||||
|
||||
func NewClient(uri string) *Client {
|
||||
@@ -138,7 +139,7 @@ func (c *Client) Handle() (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
c.receive += len(pkt.Data)
|
||||
atomic.AddUint32(&c.recv, uint32(len(pkt.Data)))
|
||||
|
||||
track := c.tracks[int(pkt.Idx)]
|
||||
|
||||
|
||||
+8
-15
@@ -4,7 +4,7 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/AlexxIT/go2rtc/pkg/streamer"
|
||||
"strconv"
|
||||
"sync/atomic"
|
||||
)
|
||||
|
||||
func (c *Client) GetMedias() []*streamer.Media {
|
||||
@@ -29,19 +29,12 @@ func (c *Client) Stop() error {
|
||||
}
|
||||
|
||||
func (c *Client) MarshalJSON() ([]byte, error) {
|
||||
v := map[string]interface{}{
|
||||
streamer.JSONReceive: c.receive,
|
||||
streamer.JSONType: "RTMP client producer",
|
||||
//streamer.JSONRemoteAddr: c.conn.NetConn().RemoteAddr().String(),
|
||||
"url": c.URI,
|
||||
info := &streamer.Info{
|
||||
Type: "RTMP source",
|
||||
URL: c.URI,
|
||||
Medias: c.medias,
|
||||
Tracks: c.tracks,
|
||||
Recv: atomic.LoadUint32(&c.recv),
|
||||
}
|
||||
for i, media := range c.medias {
|
||||
k := "media:" + strconv.Itoa(i)
|
||||
v[k] = media.String()
|
||||
}
|
||||
for i, track := range c.tracks {
|
||||
k := "track:" + strconv.Itoa(i)
|
||||
v[k] = track.String()
|
||||
}
|
||||
return json.Marshal(v)
|
||||
return json.Marshal(info)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user