Currently the behavior of the HLS packetizer is that it will append any query parameters passed on the playlist.m3u8 to the returned chunklist.m3u8 URLs as well as passing any query string parameters on the chunklist.m3u8 to the returned media.ts URLs. For example, given a URL like “http://example.com/myapp/ngrp:mystream_all/playlist.m3u8?foo=bar” the playlist returned will have chunklists like “chunklist_b264000.m3u8?foo=bar”. Requesting this chunklist will then return chunks like “media_b264000_1.ts?foo=bar” etc.
We are using CDN caching for our HLS delivery (which ignores query parameters for caching purposes), and because of this behavior incidental query params that get passed by clients end up polluting the cached chunklists, which is causing problems with other clients that don’t expect the chunk URLs to have parameters that keep changing.
I briefly attempted to call IHTTPStreamerSession.setQueryStr("") in onHTTPSessionCreate(), but this didn’t seem to have any affect on the generated chunk URLs. Is there any way to have query parameters not propagated into returned .m3u8 contents?