func getMasterManifest()

in clips/hls/hls.go [36:56]


func getMasterManifest(playbackURL string) (*m3u8.MasterPlaylist, error) {
	resp, err := http.Get(playbackURL)
	if err != nil {
		return nil, err
	}

	defer resp.Body.Close()

	p, listType, err := m3u8.DecodeFrom(resp.Body, true)
	if err != nil {
		return nil, err
	}

	switch listType {
	case m3u8.MASTER:
		masterPlaylist := p.(*m3u8.MasterPlaylist)
		return masterPlaylist, nil
	}

	return nil, fmt.Errorf("Could not decode master manifest.")
}