summaryrefslogtreecommitdiff
path: root/xineliboutput.c
diff options
context:
space:
mode:
Diffstat (limited to 'xineliboutput.c')
-rw-r--r--xineliboutput.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/xineliboutput.c b/xineliboutput.c
index 3a54040a..9fc2b504 100644
--- a/xineliboutput.c
+++ b/xineliboutput.c
@@ -21,7 +21,7 @@
*
* xineliboutput.c: VDR Plugin interface
*
- * $Id: xineliboutput.c,v 1.39 2009-08-19 19:42:02 phintuka Exp $
+ * $Id: xineliboutput.c,v 1.40 2009-10-12 18:12:09 phintuka Exp $
*
*/
@@ -138,6 +138,7 @@ const char cmdLineHelp[] =
" -p --primary Force xineliboutput to be primary device when\n"
" there are active frontend(s)\n"
" -c --exit-on-close Exit vdr when local frontend window is closed\n"
+" -C --config=file Use xine-lib config file\n"
;
const char *cPluginXinelibOutput::CommandLineHelp(void)
@@ -270,6 +271,22 @@ bool cPluginXinelibOutput::Service(const char *Id, void *Data)
return true;
}
+ else if(!strcmp(Id, "StartFrontend-1.0")) {
+ if(CData && *CData) {
+ LOGMSG("Service(%s, %s)", Id, CData);
+ int local_frontend = strstra(CData, xc.s_frontends, -1);
+ if (local_frontend >= 0 && local_frontend < FRONTEND_count && strcmp(CData, xc.local_frontend)) {
+ strn0cpy(xc.local_frontend, xc.s_frontends[local_frontend], sizeof(xc.local_frontend));
+ cXinelibDevice::Instance().ConfigureWindow(
+ xc.fullscreen, xc.width, xc.height, xc.modeswitch, xc.modeline,
+ xc.display_aspect, xc.scale_video, xc.field_order);
+ }
+ return true;
+ }
+ LOGMSG("Service(%s) -> true", Id);
+ return true;
+ }
+
}
return false;
}