diff options
author | phintuka <phintuka> | 2006-09-01 12:36:08 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2006-09-01 12:36:08 +0000 |
commit | 677f1a98ec8bcbbaad6142c4a4939d324517a05a (patch) | |
tree | f5beae1736d133534da4996520d33dcb24d40e03 | |
parent | 23fd0c28da6e05691fadf649cd7db72a83131221 (diff) | |
download | xineliboutput-677f1a98ec8bcbbaad6142c4a4939d324517a05a.tar.gz xineliboutput-677f1a98ec8bcbbaad6142c4a4939d324517a05a.tar.bz2 |
Command-line options updated
-rw-r--r-- | HISTORY | 21 | ||||
-rw-r--r-- | config.c | 69 | ||||
-rw-r--r-- | xineliboutput.c | 28 |
3 files changed, 72 insertions, 46 deletions
@@ -1,6 +1,23 @@ VDR Plugin 'xineliboutput' Revision History ------------------------------------------- +- NOTE: updated command-line options ! + +- Fixed starting replay of new file while old file is still playing +- Fixed segfault in OSD downscaling +- Added SPU track selection for DVDs without menu +- Forcing order and location of video filter post plugins + autocrop and tvtime in post plugin chain +- Fixed replaying some older VDR recordings (video PID != 0xE0) + (Reported by Petri Helin) +- Fixed deadlock when closing xine input plugin and threads + in TCP mode (reported by Tobias Grimm) +- Fixed wrong XKeySym remote learning trigger when using fbfe + (reported by Voitto Tuomainen) +- Minor updates to playlists and file replay OSD handling +- Added trick speed modes (forward only) to DVD player +- Improved X11 fullscreen <-> window mode switching + 2006-08-25: Version 1.0.0pre3 - Fixed segfault when grabbing with remote-only frontends @@ -9,8 +26,8 @@ VDR Plugin 'xineliboutput' Revision History - Separate menu item for playing music - Configuration options for letterbox cropping - Added audio visualization support for media files - (originally was supported only with DVB radio) -- Finished image grabbing for remote frontends + (originally supported only with DVB radio) +- Implemented image grabbing for remote frontends - Fixed restoring primary device when using tcp transport - Executing primary device switching in main thread context - Added configurable overscan option (%) to crop frame borders @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: config.c,v 1.8 2006-08-25 03:55:05 phintuka Exp $ + * $Id: config.c,v 1.9 2006-09-01 12:36:08 phintuka Exp $ * */ @@ -242,53 +242,62 @@ bool config_t::ProcessArg(const char *Name, const char *Value) return false; } -char *m_ProcessedArgs; - bool config_t::ProcessArgs(int argc, char *argv[]) { static struct option long_options[] = { - { "display", required_argument, NULL, 'd' }, - { "fullscreen", no_argument, NULL, 'f' }, - { "xkeyboard", no_argument, NULL, 'k' }, - //{ "noxkeyboard",no_argument, NULL, 'K' }, - { "local", required_argument, NULL, 'l' }, - { "nolocal", no_argument, NULL, 'L' }, - { "modeline", required_argument, NULL, 'm' }, - { "remote", required_argument, NULL, 'r' }, - { "noremote", no_argument, NULL, 'R' }, - { "window", no_argument, NULL, 'w' }, - { "video", required_argument, NULL, 'V' }, - { "audio", required_argument, NULL, 'A' }, - { "post", required_argument, NULL, 'P' }, - { "primary", no_argument, NULL, 'p' }, + { "fullscreen", no_argument, NULL, 'f' }, + { "width", required_argument, NULL, 'w' }, + { "height", required_argument, NULL, 'h' }, + //{ "xkeyboard", no_argument, NULL, 'k' }, + //{ "noxkeyboard", no_argument, NULL, 'K' }, + { "local", required_argument, NULL, 'l' }, + //{ "nolocal", no_argument, NULL, 'L' }, + //{ "modeline", required_argument, NULL, 'm' }, + { "remote", required_argument, NULL, 'r' }, + //{ "noremote", no_argument, NULL, 'R' }, + //{ "window", no_argument, NULL, 'w' }, + { "audio", required_argument, NULL, 'A' }, + { "video", required_argument, NULL, 'V' }, + { "display", required_argument, NULL, 'd' }, + { "post", required_argument, NULL, 'P' }, + { "primary", no_argument, NULL, 'p' }, { "exit-on-close",no_argument, NULL, 'c' }, { NULL } }; int c; - while ((c = getopt_long(argc, argv, "d:fkKl:Lm:r:RW", long_options, NULL)) != -1) { + while ((c = getopt_long(argc, argv, "fw:h:l:r:A:V:d:P:pc", long_options, NULL)) != -1) { switch (c) { case 'd': ProcessArg("Video.Port", optarg); break; case 'f': ProcessArg("Fullscreen", "1"); break; - case 'k': ProcessArg("X11.UseKeyboard", "1"); + case 'w': ProcessArg("Fullscreen", "0"); + ProcessArg("X11.WindowWidth", optarg); + break; + case 'h': ProcessArg("Fullscreen", "0"); + ProcessArg("X11.WindowHeight", optarg); break; + //case 'k': ProcessArg("X11.UseKeyboard", "1"); + // break; //case 'K': ProcessArg("X11.UseKeyboard", "0"); - //break; + // break; case 'l': ProcessArg("Frontend", optarg); break; - case 'L': ProcessArg("Frontend", "none"); - break; - case 'm': ProcessArg("Modeline", optarg); - break; - case 'r': ProcessArg("Remote.ListenPort", optarg); - ProcessArg("RemoteMode", "1"); - break; - case 'R': ProcessArg("RemoteMode", "0"); - break; - case 'w': ProcessArg("Fullscreen", "0"); + //case 'L': ProcessArg("Frontend", "none"); + // break; + //case 'm': ProcessArg("Modeline", optarg); + // break; + case 'r': if(strcmp(optarg, "none")) { + ProcessArg("Remote.ListenPort", optarg); + ProcessArg("RemoteMode", listen_port>0 ? "1" : "0"); + } else + ProcessArg("RemoteMode", "0"); break; + //case 'R': ProcessArg("RemoteMode", "0"); + // break; + //case 'w': ProcessArg("Fullscreen", "0"); + // break; case 'V': ProcessArg("Video.Driver", optarg); break; case 'A': ProcessArg("Audio.Driver", optarg); diff --git a/xineliboutput.c b/xineliboutput.c index 7ee2e7af..e4ffd9b5 100644 --- a/xineliboutput.c +++ b/xineliboutput.c @@ -21,7 +21,7 @@ * * xineliboutput.c: VDR Plugin interface * - * $Id: xineliboutput.c,v 1.8 2006-08-25 04:16:38 phintuka Exp $ + * $Id: xineliboutput.c,v 1.9 2006-09-01 12:36:08 phintuka Exp $ * */ @@ -92,32 +92,32 @@ const char cmdLineHelp[] = " sxfe (X11)\n" " fbfe (framebuffer)\n" " none (only remote frontends)\n" -" -V NAME --video=NAME Use video driver NAME\n" +" -r PORT --remote=PORT Listen PORT for remote clients\n" +" (default "LISTEN_PORT_S")\n" +" none or 0 disables remote mode\n" +" -A NAME --audio=NAME Use audio driver NAME for local frontend\n" +" Supported values:\n" +" auto, alsa, oss, arts, esound, none\n" +" -V NAME --video=NAME Use video driver NAME for local frontend\n" " Supported values:\n" " for sxfe: auto, x11, xshm, xv, xvmc, xxmc, none\n" " for fbfe: auto, fb, DirectFB, none\n" -" -A NAME --audio=NAME Use audio driver NAME\n" -" Supported values:\n" -" auto, alsa, oss, arts, esound, none\n" -" -L --nolocal No local frontend, only remote frontends\n" #if 0 +" -L --nolocal No local frontend, only remote frontends\n" " -m M --modeline=M Use modeline M for local frontend\n" " (example: )\n" -#endif " -k --xkeyboard X11 keyboard in use\n" -" -r PORT --remote=PORT Listen PORT for remote clients\n" -" (default "LISTEN_PORT_S")\n" " -R --noremote No remote clients\n" +#endif " -f --fullscreen Fullscreen mode (X11)\n" -" -w --window Window mode (X11)\n" +" -w --width=x Window width\n" +" -h --height=x Window width\n" " -d DISP --display=DISP Use X11 display DISP\n" -" (or framebuffer device name)" -" -P POST --post=POST Use xine post plugin POST\n" +" (or framebuffer device name)" +" -P NAME --post=NAME Use xine post plugin NAME\n" " format: pluginname[:arg=val[,arg=val]][,...]\n" " example: \n" " --post=upmix;tvtime:enabled=1,cheap_mode=1\n" -//" If multiple post plugins are given, all\n" -//" will be initialized." " -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" |