summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2006-09-01 12:36:08 +0000
committerphintuka <phintuka>2006-09-01 12:36:08 +0000
commit677f1a98ec8bcbbaad6142c4a4939d324517a05a (patch)
treef5beae1736d133534da4996520d33dcb24d40e03
parent23fd0c28da6e05691fadf649cd7db72a83131221 (diff)
downloadxineliboutput-677f1a98ec8bcbbaad6142c4a4939d324517a05a.tar.gz
xineliboutput-677f1a98ec8bcbbaad6142c4a4939d324517a05a.tar.bz2
Command-line options updated
-rw-r--r--HISTORY21
-rw-r--r--config.c69
-rw-r--r--xineliboutput.c28
3 files changed, 72 insertions, 46 deletions
diff --git a/HISTORY b/HISTORY
index 7fb0a766..91e3dcf6 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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
diff --git a/config.c b/config.c
index 1c596189..0cc1b0f8 100644
--- a/config.c
+++ b/config.c
@@ -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"