add Client.SetupAll()

This commit is contained in:
aler9
2022-12-11 14:25:35 +01:00
parent 99855bd3a2
commit fa95f5a86b
2 changed files with 21 additions and 16 deletions

View File

@@ -423,12 +423,10 @@ func (c *Client) StartPublishing(address string, tracks Tracks) error {
return err return err
} }
for _, track := range tracks { err = c.SetupAll(tracks, u)
_, err := c.Setup(track, u, 0, 0) if err != nil {
if err != nil { c.Close()
c.Close() return err
return err
}
} }
_, err = c.Record() _, err = c.Record()
@@ -1629,6 +1627,17 @@ func (c *Client) Setup(
} }
} }
// SetupAll setups all the given tracks.
func (c *Client) SetupAll(tracks Tracks, baseURL *url.URL) error {
for _, t := range tracks {
_, err := c.Setup(t, baseURL, 0, 0)
if err != nil {
return err
}
}
return nil
}
func (c *Client) doPlay(ra *headers.Range, isSwitchingProtocol bool) (*base.Response, error) { func (c *Client) doPlay(ra *headers.Range, isSwitchingProtocol bool) (*base.Response, error) {
err := c.checkState(map[clientState]struct{}{ err := c.checkState(map[clientState]struct{}{
clientStatePrePlay: {}, clientStatePrePlay: {},
@@ -1700,14 +1709,12 @@ 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 *url.URL) error { func (c *Client) SetupAndPlay(tracks Tracks, baseURL *url.URL) error {
for _, t := range tracks { err := c.SetupAll(tracks, baseURL)
_, err := c.Setup(t, baseURL, 0, 0) if err != nil {
if err != nil { return err
return err
}
} }
_, err := c.Play(nil) _, err = c.Play(nil)
return err return err
} }

View File

@@ -2436,10 +2436,8 @@ func TestClientReadSeek(t *testing.T) {
tracks, baseURL, _, err := c.Describe(u) tracks, baseURL, _, err := c.Describe(u)
require.NoError(t, err) require.NoError(t, err)
for _, track := range tracks { err = c.SetupAll(tracks, baseURL)
_, err := c.Setup(track, baseURL, 0, 0) require.NoError(t, err)
require.NoError(t, err)
}
_, err = c.Play(&headers.Range{ _, err = c.Play(&headers.Range{
Value: &headers.RangeNPT{ Value: &headers.RangeNPT{