It seems that rather than 404ing or some otherwise appropriate response to requesting the .m3u8 for a stream name that doesn’t exist, the HLS packetizer returns empty or invalid playlists.
For example, requesting “http://example.com/myapp/invalid/playlist.m3u8” where “invalid” is not a currently streaming stream name, it still returns a “chunklist.m3u8” with some default bandwidth specified. Requesting this chunklist will then return no .ts files.
Also, when using a name group, it returns an empty playlist for invalid stream names (e.g. “http://example.com/myapp/ngrp:invalid_all/playlist.m3u8”), containing only
#EXTM3U
#EXT-X-VERSION:3
This same thing also happens for an actual legitimate stream name for some amount of time right when streaming has begun. This is problematic because a player would get this empty playlist and then never play anything because it has no chunklists to open. If the playlist outright 404’d during this period, the player is better able to handle it.
Is there any way to make the behavior more sane? I would expect typically a 404 response when requesting the playlist for an invalid stream name.