mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 15:16:51 +08:00
client: invert arguments of Setup()
This commit is contained in:
20
client.go
20
client.go
@@ -94,8 +94,8 @@ type announceReq struct {
|
|||||||
|
|
||||||
type setupReq struct {
|
type setupReq struct {
|
||||||
forPlay bool
|
forPlay bool
|
||||||
baseURL *base.URL
|
|
||||||
track *Track
|
track *Track
|
||||||
|
baseURL *base.URL
|
||||||
rtpPort int
|
rtpPort int
|
||||||
rtcpPort int
|
rtcpPort int
|
||||||
res chan clientRes
|
res chan clientRes
|
||||||
@@ -342,7 +342,7 @@ func (c *Client) StartReading(address string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, track := range tracks {
|
for _, track := range tracks {
|
||||||
_, err := c.Setup(true, baseURL, track, 0, 0)
|
_, err := c.Setup(true, track, baseURL, 0, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Close()
|
c.Close()
|
||||||
return err
|
return err
|
||||||
@@ -394,7 +394,7 @@ func (c *Client) StartPublishing(address string, tracks Tracks) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, track := range tracks {
|
for _, track := range tracks {
|
||||||
_, err := c.Setup(false, u, track, 0, 0)
|
_, err := c.Setup(false, track, u, 0, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Close()
|
c.Close()
|
||||||
return err
|
return err
|
||||||
@@ -462,7 +462,7 @@ func (c *Client) run() {
|
|||||||
req.res <- clientRes{res: res, err: err}
|
req.res <- clientRes{res: res, err: err}
|
||||||
|
|
||||||
case req := <-c.setup:
|
case req := <-c.setup:
|
||||||
res, err := c.doSetup(req.forPlay, req.baseURL, req.track, req.rtpPort, req.rtcpPort)
|
res, err := c.doSetup(req.forPlay, req.track, req.baseURL, req.rtpPort, req.rtcpPort)
|
||||||
req.res <- clientRes{res: res, err: err}
|
req.res <- clientRes{res: res, err: err}
|
||||||
|
|
||||||
case req := <-c.play:
|
case req := <-c.play:
|
||||||
@@ -667,7 +667,7 @@ func (c *Client) trySwitchingProtocol() error {
|
|||||||
c.host = prevBaseURL.Host
|
c.host = prevBaseURL.Host
|
||||||
|
|
||||||
for _, track := range prevTracks {
|
for _, track := range prevTracks {
|
||||||
_, err := c.doSetup(true, prevBaseURL, track.track, 0, 0)
|
_, err := c.doSetup(true, track.track, prevBaseURL, 0, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -1192,8 +1192,8 @@ func (c *Client) Announce(u *base.URL, tracks Tracks) (*base.Response, error) {
|
|||||||
|
|
||||||
func (c *Client) doSetup(
|
func (c *Client) doSetup(
|
||||||
forPlay bool,
|
forPlay bool,
|
||||||
baseURL *base.URL,
|
|
||||||
track *Track,
|
track *Track,
|
||||||
|
baseURL *base.URL,
|
||||||
rtpPort int,
|
rtpPort int,
|
||||||
rtcpPort int) (*base.Response, error) {
|
rtcpPort int) (*base.Response, error) {
|
||||||
err := c.checkState(map[clientState]struct{}{
|
err := c.checkState(map[clientState]struct{}{
|
||||||
@@ -1334,7 +1334,7 @@ func (c *Client) doSetup(
|
|||||||
v := TransportTCP
|
v := TransportTCP
|
||||||
c.protocol = &v
|
c.protocol = &v
|
||||||
|
|
||||||
return c.doSetup(forPlay, baseURL, track, 0, 0)
|
return c.doSetup(forPlay, track, baseURL, 0, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
return res, liberrors.ErrClientBadStatusCode{Code: res.StatusCode, Message: res.StatusMessage}
|
return res, liberrors.ErrClientBadStatusCode{Code: res.StatusCode, Message: res.StatusMessage}
|
||||||
@@ -1494,16 +1494,16 @@ func (c *Client) doSetup(
|
|||||||
// if rtpPort and rtcpPort are zero, they are chosen automatically.
|
// if rtpPort and rtcpPort are zero, they are chosen automatically.
|
||||||
func (c *Client) Setup(
|
func (c *Client) Setup(
|
||||||
forPlay bool,
|
forPlay bool,
|
||||||
baseURL *base.URL,
|
|
||||||
track *Track,
|
track *Track,
|
||||||
|
baseURL *base.URL,
|
||||||
rtpPort int,
|
rtpPort int,
|
||||||
rtcpPort int) (*base.Response, error) {
|
rtcpPort int) (*base.Response, error) {
|
||||||
cres := make(chan clientRes)
|
cres := make(chan clientRes)
|
||||||
select {
|
select {
|
||||||
case c.setup <- setupReq{
|
case c.setup <- setupReq{
|
||||||
forPlay: forPlay,
|
forPlay: forPlay,
|
||||||
baseURL: baseURL,
|
|
||||||
track: track,
|
track: track,
|
||||||
|
baseURL: baseURL,
|
||||||
rtpPort: rtpPort,
|
rtpPort: rtpPort,
|
||||||
rtcpPort: rtcpPort,
|
rtcpPort: rtcpPort,
|
||||||
res: cres,
|
res: cres,
|
||||||
@@ -1605,7 +1605,7 @@ func (c *Client) Play(ra *headers.Range) (*base.Response, error) {
|
|||||||
// SetupAndPlay setups and play the given tracks.
|
// SetupAndPlay setups and play the given tracks.
|
||||||
func (c *Client) SetupAndPlay(tracks Tracks, baseURL *base.URL) error {
|
func (c *Client) SetupAndPlay(tracks Tracks, baseURL *base.URL) error {
|
||||||
for _, t := range tracks {
|
for _, t := range tracks {
|
||||||
_, err := c.Setup(true, baseURL, t, 0, 0)
|
_, err := c.Setup(true, t, baseURL, 0, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@@ -673,7 +673,7 @@ func TestClientReadPartial(t *testing.T) {
|
|||||||
tracks, baseURL, _, err := c.Describe(u)
|
tracks, baseURL, _, err := c.Describe(u)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, err = c.Setup(true, baseURL, tracks[1], 0, 0)
|
_, err = c.Setup(true, tracks[1], baseURL, 0, 0)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, err = c.Play(nil)
|
_, err = c.Play(nil)
|
||||||
@@ -2317,7 +2317,7 @@ func TestClientReadSeek(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
for _, track := range tracks {
|
for _, track := range tracks {
|
||||||
_, err := c.Setup(true, baseURL, track, 0, 0)
|
_, err := c.Setup(true, track, baseURL, 0, 0)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -47,7 +47,7 @@ func main() {
|
|||||||
// setup only video tracks, skipping audio or application tracks
|
// setup only video tracks, skipping audio or application tracks
|
||||||
for _, t := range tracks {
|
for _, t := range tracks {
|
||||||
if t.Media.MediaName.Media == "video" {
|
if t.Media.MediaName.Media == "video" {
|
||||||
_, err := c.Setup(true, baseURL, t, 0, 0)
|
_, err := c.Setup(true, t, baseURL, 0, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user