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

View File

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