summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAntti Ajanki <antti.ajanki@iki.fi>2011-07-08 11:46:46 +0300
committerAntti Ajanki <antti.ajanki@iki.fi>2011-07-08 11:46:46 +0300
commit250c54fb26373558e4006072152d5d266cc1dade (patch)
tree30d0dfabbadc36c9812d12fa652fbee771922db3 /src
parent52bf1c57acabffd5cf9e1f101c6d52cd6fffdc2c (diff)
downloadvdr-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.c12
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;
}