webui: the /play redirector - add more user-agent direct streaming, fixes #2412
- 'VLC/' - 'MPlayer ' - 'Lavf/' (ffmpeg, libav) - shoutcastsource (some media players?)
This commit is contained in:
parent
472d1e9691
commit
59206653fb
1 changed files with 18 additions and 4 deletions
|
@ -1027,10 +1027,24 @@ page_play_path_modify(http_connection_t *hc, const char *path, int *cut)
|
|||
* For curl, wget and TVHeadend do not send the playlist, stream directly
|
||||
*/
|
||||
const char *agent = http_arg_get(&hc->hc_args, "User-Agent");
|
||||
if (strncasecmp(agent, "curl/", 5) == 0 ||
|
||||
strncasecmp(agent, "wget/", 5) == 0)
|
||||
return strdup(path + 5); /* note: skip the /play */
|
||||
if (strncasecmp(agent, "TVHeadend/", 10) == 0)
|
||||
int direct = 0;
|
||||
|
||||
if (strncasecmp(agent, "VLC/", 4) == 0)
|
||||
direct = 1;
|
||||
else if (strncasecmp(agent, "MPlayer ", 8) == 0)
|
||||
direct = 1;
|
||||
else if (strncasecmp(agent, "curl/", 5) == 0)
|
||||
direct = 1;
|
||||
else if (strncasecmp(agent, "wget/", 5) == 0)
|
||||
direct = 1;
|
||||
else if (strncasecmp(agent, "TVHeadend/", 10) == 0)
|
||||
direct = 1;
|
||||
else if (strncasecmp(agent, "Lavf/", 5) == 0) /* ffmpeg, libav */
|
||||
direct = 1;
|
||||
else if (strstr(agent, "shoutcastsource")) /* some media players */
|
||||
direct = 1;
|
||||
|
||||
if (direct)
|
||||
return strdup(path + 5); /* note: skip the /play */
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue