diff options
author | Antti Ajanki <antti.ajanki@iki.fi> | 2011-07-08 11:46:46 +0300 |
---|---|---|
committer | Antti Ajanki <antti.ajanki@iki.fi> | 2011-07-08 11:46:46 +0300 |
commit | 250c54fb26373558e4006072152d5d266cc1dade (patch) | |
tree | 30d0dfabbadc36c9812d12fa652fbee771922db3 /src | |
parent | 52bf1c57acabffd5cf9e1f101c6d52cd6fffdc2c (diff) | |
download | vdr-plugin-webvideo-250c54fb26373558e4006072152d5d266cc1dade.tar.gz vdr-plugin-webvideo-250c54fb26373558e4006072152d5d266cc1dade.tar.bz2 |
Playing from fifo in xineliboutput
Diffstat (limited to 'src')
-rw-r--r-- | src/vdr-plugin/player.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/vdr-plugin/player.c b/src/vdr-plugin/player.c index 42bd56e..5e76948 100644 --- a/src/vdr-plugin/player.c +++ b/src/vdr-plugin/player.c @@ -15,6 +15,15 @@ bool cXineliboutputPlayer::Launch(const char *url) { debug("launching xinelib player, url = %s", url); + char *url2; + if (strncmp(url, "file://", 7) == 0) { + url2 = (char *)malloc(strlen(url)+1); + strcpy(url2, "fifo://"); + strcat(url2, url+7); + } else { + url2 = strdup(url); + } + /* * xineliboutput plugin insists on percent encoding (certain * characters in) the URL. A properly encoded URL will get broken if @@ -26,10 +35,11 @@ bool cXineliboutputPlayer::Launch(const char *url) { * removed here. There simply isn't a way to make all URLs work * because of the way xineliboutput handles the encoding. */ - char *decoded = URLdecode(url); + char *decoded = URLdecode(url2); debug("decoded = %s", decoded); bool ret = cPluginManager::CallFirstService("MediaPlayer-1.0", (void *)decoded); free(decoded); + free(url2); return ret; } |