Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
Icecast-Server
Icecast-Server
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 94
    • Issues 94
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • External Wiki
    • External Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Xiph.Org
  • Icecast-ServerIcecast-Server
  • Issues
  • #2401

Closed
Open
Opened Oct 26, 2020 by Ethan Halsall@eshaz

Allow `icy-metadata` and `icy-metaint` in default CORS configuration

I noticed that many of the public streams I've encountered have a wide-open Access-Control-Allow-Origin policy, but do not allow access to request the Icy-Metadata header nor allow access to read the Icy-MetaInt header in the response. This prevents any clients that honor CORS (i.e. browsers) from requesting or reading icy metadata.

This patch is to allow cross-origin access to the Icy-MetaData and Icy-MetaInt headers by default. Also, this patch inserts the Access-Control-Allow-Headers and Access-Control-Expose-Headers into the default XML configuration so that icy metadata works by default. Users can opt-out of it like they can with Access-Control-Allow-Origin: *.

The main use-case is to enable browsers to read icy metadata via a cross-origin request. I'm building a client side library that does that here: icecast-metadata-js. The inline metadata offers immediate metadata updates with no noticeable latency, which is really valuable in certain contexts, like for broadcasting police / fire scanner metadata, or ad insertions, etc.

0001-feat-add-icy-metadata-support-for-cors.patch

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: xiph/icecast-server#2401