summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README8
-rw-r--r--xine_frontend.c4
-rw-r--r--xine_frontend_main.c41
-rw-r--r--xine_input_vdr.c20
4 files changed, 42 insertions, 31 deletions
diff --git a/README b/README
index 73e89b28..c4dc3ecd 100644
--- a/README
+++ b/README
@@ -155,10 +155,10 @@ Using remote frontends
vdr-fbfe xvdr://192.168.1.3
Connect to 192.168.2.100, port 12550 and use TCP transport
- vdr-fbfe xvdr:tcp://192.168.2.100:12550
+ vdr-fbfe xvdr+tcp://192.168.2.100:12550
Automatically search for VDR server and use UDP transport
- vdr-fbfe xvdr:udp:
+ vdr-fbfe xvdr+udp:
or
vdr-fbfe --udp
@@ -213,8 +213,8 @@ Using with xine-ui (xine, fbxine, gxine, ...)
Examples:
xine "xvdr://127.0.0.1#nocache;demux:mpeg_block"
- xine "xvdr:tcp://127.0.0.1:37890#nocache;demux:mpeg_block"
- xine "xvdr:udp://127.0.0.1:37890#nocache;demux:mpeg_block"
+ xine "xvdr+tcp://127.0.0.1:37890#nocache;demux:mpeg_block"
+ xine "xvdr+udp://127.0.0.1:37890#nocache;demux:mpeg_block"
"#nocache;demux:mpeg_block" should always be appended to end of mrl.
diff --git a/xine_frontend.c b/xine_frontend.c
index 5912380e..ff6b7ea4 100644
--- a/xine_frontend.c
+++ b/xine_frontend.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_frontend.c,v 1.46 2008-01-03 13:04:53 phintuka Exp $
+ * $Id: xine_frontend.c,v 1.47 2008-01-03 20:06:27 phintuka Exp $
*
*/
@@ -1330,7 +1330,7 @@ static void *fe_control(void *fe_handle, const char *cmd)
this->video_port);
LOGMSG(" PIP %d: %dx%d @ (%d,%d)", pid & 0x0f, w, h, x, y);
LOGMSG("create pip stream done");
- sprintf(mrl, "xvdr:slave://0x%lx#nocache;demux:mpeg_block",
+ sprintf(mrl, "xvdr+slave://0x%lx#nocache;demux:mpeg_block",
(unsigned long int)this);
if(!xine_open(posts->pip_stream, mrl) ||
!xine_play(posts->pip_stream, 0, 0)) {
diff --git a/xine_frontend_main.c b/xine_frontend_main.c
index 86409f94..bc3c5b14 100644
--- a/xine_frontend_main.c
+++ b/xine_frontend_main.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_frontend_main.c,v 1.33 2007-06-18 06:01:28 phintuka Exp $
+ * $Id: xine_frontend_main.c,v 1.34 2008-01-03 20:06:27 phintuka Exp $
*
*/
@@ -408,7 +408,7 @@ int main(int argc, char *argv[])
while ((c = getopt_long(argc, argv, "HL:A:V:d:a:fw:h:P:vslkbtur", long_options, NULL)) != -1) {
switch (c) {
default:
- case 'H': printf("\nUsage: %s [options] [xvdr:[udp:|tcp:|rtp:][//host[:port]]] \n"
+ case 'H': printf("\nUsage: %s [options] [xvdr[+udp|+tcp|+rtp]:[//host[:port]]] \n"
"\nAvailable options:\n", exec_name);
printf("%s", help_str);
list_plugins(NULL, verbose_xine_log);
@@ -530,13 +530,22 @@ int main(int argc, char *argv[])
return -1;
}
+#if 1
+ /* backward compability */
+ if(mrl && ( !strncmp(mrl, "xvdr:tcp:", 9) ||
+ !strncmp(mrl, "xvdr:udp:", 9) ||
+ !strncmp(mrl, "xvdr:rtp:", 9) ||
+ !strncmp(mrl, "xvdr:pipe:", 10)))
+ mrl[5] = '+';
+#endif
+
/* If server address not given, try to find server automatically */
if(!mrl ||
!strcmp(mrl, "xvdr:") ||
- !strcmp(mrl, "xvdr:tcp:") ||
- !strcmp(mrl, "xvdr:udp:") ||
- !strcmp(mrl, "xvdr:rtp:") ||
- !strcmp(mrl, "xvdr:pipe:")) {
+ !strcmp(mrl, "xvdr+tcp:") ||
+ !strcmp(mrl, "xvdr+udp:") ||
+ !strcmp(mrl, "xvdr+rtp:") ||
+ !strcmp(mrl, "xvdr+pipe:")) {
char address[1024] = "";
int port = -1;
PRINTF("VDR server not given, searching ...\n");
@@ -558,27 +567,27 @@ int main(int argc, char *argv[])
}
}
+ if(mrl && strncmp(mrl, "xvdr:", 5) && strncmp(mrl, "xvdr+", 5)) {
+ char *mrl2 = mrl;
+ PRINTF("WARNING: MRL does not start with \'xvdr:\' (%s)", mrl);
+ asprintf(&mrl, "xvdr://%s", mrl);
+ free(mrl2);
+ }
+
{
char *tmp = NULL, *mrl2 = mrl;
if(frtp && !strstr(mrl, "rtp:"))
- tmp = strdup("xvdr:rtp:");
+ tmp = strdup("xvdr+rtp:");
else if(fudp && !strstr(mrl, "udp:"))
- tmp = strdup("xvdr:udp:");
+ tmp = strdup("xvdr+udp:");
else if(ftcp && !strstr(mrl, "tcp:"))
- tmp = strdup("xvdr:tcp:");
+ tmp = strdup("xvdr+tcp:");
if(tmp) {
mrl = strcatrealloc(tmp, strchr(mrl, '/'));
free(mrl2);
}
}
- if(mrl && strncmp(mrl, "xvdr:", 5)) {
- char *mrl2 = mrl;
- PRINTF("WARNING: MRL does not start with \'xvdr:\' (%s)", mrl);
- asprintf(&mrl, "xvdr://%s", mrl);
- free(mrl2);
- }
-
if(daemon_mode) {
PRINTF("Entering daemon mode\n\n");
if (daemon(1, 0) == -1) {
diff --git a/xine_input_vdr.c b/xine_input_vdr.c
index 6e57d7ad..0af61a59 100644
--- a/xine_input_vdr.c
+++ b/xine_input_vdr.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_input_vdr.c,v 1.106 2008-01-03 19:05:07 phintuka Exp $
+ * $Id: xine_input_vdr.c,v 1.107 2008-01-03 20:06:27 phintuka Exp $
*
*/
@@ -1655,7 +1655,7 @@ static const char* fifo_get_mrl (input_plugin_t *this_gen)
#else
static char* fifo_get_mrl (input_plugin_t *this_gen)
#endif
-{ return "xvdr:slave:"; }
+{ return "xvdr+slave:"; }
#if XINE_VERSION_CODE < 10190
static off_t fifo_read (input_plugin_t *this_gen, char *buf, off_t len)
@@ -5997,11 +5997,13 @@ static int vdr_plugin_open_net (input_plugin_t *this_gen)
if(strchr(this->mrl, '#'))
*strchr(this->mrl, '#') = 0;
-
- if((!strncasecmp(this->mrl, "xvdr:tcp://", 11) && (this->tcp=1)) ||
- (!strncasecmp(this->mrl, "xvdr:udp://", 11) && (this->udp=1)) ||
- (!strncasecmp(this->mrl, "xvdr:rtp://", 11) && (this->rtp=1)) ||
- (!strncasecmp(this->mrl, "xvdr://", 7))) {
+ if((!strncasecmp(this->mrl, "xvdr+tcp://", 11) && (this->tcp=1)) ||
+ (!strncasecmp(this->mrl, "xvdr+udp://", 11) && (this->udp=1)) ||
+ (!strncasecmp(this->mrl, "xvdr+rtp://", 11) && (this->rtp=1)) ||
+ (!strncasecmp(this->mrl, "xvdr:tcp://", 11) && (this->tcp=1)) ||
+ (!strncasecmp(this->mrl, "xvdr:udp://", 11) && (this->udp=1)) ||
+ (!strncasecmp(this->mrl, "xvdr:rtp://", 11) && (this->rtp=1)) ||
+ (!strncasecmp(this->mrl, "xvdr://", 7))) {
char *phost = strdup(strstr(this->mrl, "//") + 2);
char host[256];
@@ -6156,10 +6158,10 @@ static input_plugin_t *vdr_class_get_instance (input_class_t *class_gen,
LOGDBG("vdr_class_get_instance");
- if (strncasecmp (mrl, "xvdr:",5))
+ if (strncasecmp (mrl, "xvdr:",5) && strncasecmp (mrl, "xvdr+",5))
return NULL;
- if(!strncasecmp(mrl, "xvdr:slave://0x", 15)) {
+ if(!strncasecmp(mrl, "xvdr+slave://0x", 15)) {
LOGMSG("vdr_class_get_instance: slave stream requested");
return fifo_class_get_instance(class_gen, stream, data);
}