mirror of
https://github.com/aler9/gortsplib
synced 2025-10-07 16:10:59 +08:00
client: add convenience function SetupAndPlay()
This commit is contained in:
13
client.go
13
client.go
@@ -1602,6 +1602,19 @@ func (c *Client) Play(ra *headers.Range) (*base.Response, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetupAndPlay setups and play the given tracks.
|
||||||
|
func (c *Client) SetupAndPlay(tracks Tracks, baseURL *base.URL) error {
|
||||||
|
for _, t := range tracks {
|
||||||
|
_, err := c.Setup(true, baseURL, t, 0, 0)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err := c.Play(nil)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Client) doRecord() (*base.Response, error) {
|
func (c *Client) doRecord() (*base.Response, error) {
|
||||||
err := c.checkState(map[clientState]struct{}{
|
err := c.checkState(map[clientState]struct{}{
|
||||||
clientStatePreRecord: {},
|
clientStatePreRecord: {},
|
||||||
|
@@ -88,16 +88,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// setup all tracks
|
|
||||||
for _, t := range tracks {
|
|
||||||
_, err := c.Setup(true, baseURL, t, 0, 0)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// start reading tracks
|
// start reading tracks
|
||||||
_, err = c.Play(nil)
|
err = c.SetupAndPlay(tracks, baseURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@@ -93,16 +93,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// setup all tracks
|
|
||||||
for _, t := range tracks {
|
|
||||||
_, err := c.Setup(true, baseURL, t, 0, 0)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// start reading tracks
|
// start reading tracks
|
||||||
_, err = c.Play(nil)
|
err = c.SetupAndPlay(tracks, baseURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@@ -82,16 +82,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// setup all tracks
|
|
||||||
for _, t := range tracks {
|
|
||||||
_, err := c.Setup(true, baseURL, t, 0, 0)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// start reading tracks
|
// start reading tracks
|
||||||
_, err = c.Play(nil)
|
err = c.SetupAndPlay(tracks, baseURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user