Repository: yt-dlp
Issue: Add sound.orf.at support
Labels: site-request,triage

### DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

- [X] I understand that I will be **blocked** if I *intentionally* remove or skip any mandatory\* field

### Checklist

- [X] I'm reporting a new site support request
- [X] I've verified that I have **updated yt-dlp to nightly or master** ([update instructions](https://github.com/yt-dlp/yt-dlp#update-channels))
- [X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
- [X] I've checked that none of provided URLs [violate any copyrights](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#is-the-website-primarily-used-for-piracy) or contain any [DRM](https://en.wikipedia.org/wiki/Digital_rights_management) to the best of my knowledge
- [X] I've searched [known issues](https://github.com/yt-dlp/yt-dlp/issues/3766) and the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues **including closed ones**. DO NOT post duplicates
- [X] I've read the [guidelines for opening an issue](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)
- [ ] I've read about [sharing account credentials](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#are-you-willing-to-share-account-details-if-needed) and am willing to share it if required

### Region

Austria

### Example URLs

- Single radio show: https://sound.orf.at/radio/fm4/sendung/32418/davidecks
- JSON https://audioapi.orf.at/fm4/api/json/5.0/broadcast/32418?items=true&_o=sound.orf.at
- Stream https://loopstreamfm4.apa.at/?channel=fm4&id=2024-03-23_1859_tl_54_7DaysSat5_151315.mp3&offset=177000&offsetende=7272000&shoutcast=0&player=sound_v1&referer=sound.orf.at&userid=d0a9c9c3-8f3e-472d-a344-581f2294bb31&cb=1711873986493

- Playlist: https://sound.orf.at/collection/2417/musik-hoeren-playlists

- Podcast: https://sound.orf.at/podcast/oe1/dimensionen

### Provide a description that is worded well enough to be understood

sound.ORF.at has been launched in 2023 and provides access to all radio shows of the past 30d (instead of only 7d when using the older fm4.orf.at/player). Primarily I'm interested to download a single radio show.

Thank you for this great software project!

### Provide verbose output that clearly demonstrates the problem

- [X] Run **your** yt-dlp command with **-vU** flag added (`yt-dlp -vU <your command line>`)
- [X] If using API, add `'verbose': True` to `YoutubeDL` params instead
- [X] Copy the WHOLE output (starting with `[debug] Command-line config`) and insert it below

### Complete Verbose Output

```shell
> python3 -m yt_dlp -vU https://sound.orf.at/radio/fm4/sendung/32418/davidecks
[debug] Command-line config: ['-vU', 'https://sound.orf.at/radio/fm4/sendung/32418/davidecks']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version stable@2024.03.10 from yt-dlp/yt-dlp [615a84447] (source)
[debug] Lazy loading extractors is disabled
[debug] Git HEAD: 50c293523
[debug] Python 3.12.2 (CPython x86_64 64bit) - Linux-6.7.5-200.fc39.x86_64-x86_64-with-glibc2.38 (OpenSSL 3.1.1 30 May 2023, glibc 2.38)
[debug] exe versions: none
[debug] Optional libraries: Cryptodome-3.20.0, brotli-1.1.0, certifi-2023.05.07, mutagen-1.46.0, requests-2.28.2, secretstorage-3.3.3, sqlite3-3.42.0, urllib3-1.26.18, websockets-11.0.3
[debug] Proxy map: {}
[debug] Request Handlers: urllib
[debug] Loaded 1807 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: stable@2024.03.10 from yt-dlp/yt-dlp
yt-dlp is up to date (stable@2024.03.10 from yt-dlp/yt-dlp)
[generic] Extracting URL: https://sound.orf.at/radio/fm4/sendung/32418/davidecks
[generic] davidecks: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] davidecks: Extracting information
[debug] Looking for embeds
ERROR: Unsupported URL: https://sound.orf.at/radio/fm4/sendung/32418/davidecks
Traceback (most recent call last):
  File "/home/simon/src/yt-dlp/yt_dlp/YoutubeDL.py", line 1605, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/simon/src/yt-dlp/yt_dlp/YoutubeDL.py", line 1740, in __extract_info
    ie_result = ie.extract(url)
                ^^^^^^^^^^^^^^^
  File "/home/simon/src/yt-dlp/yt_dlp/extractor/common.py", line 734, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/simon/src/yt-dlp/yt_dlp/extractor/generic.py", line 2530, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://sound.orf.at/radio/fm4/sendung/32418/davidecks
```