summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Skyttä <ville.skytta@iki.fi>2011-10-15 13:55:57 +0300
committerVille Skyttä <ville.skytta@iki.fi>2011-10-15 13:55:57 +0300
commitbbd6551d9d7321ff5cf3aba03c7df297ac5da1d7 (patch)
tree0abdc88dcf44a17f7eddac62ca831a4a6d515dc2
parent8654e2db202245c271d1b66be9f7a9140b0aeff6 (diff)
downloadvdradmin-am-bbd6551d9d7321ff5cf3aba03c7df297ac5da1d7.tar.gz
vdradmin-am-bbd6551d9d7321ff5cf3aba03c7df297ac5da1d7.tar.bz2
Add live TV streaming with xineliboutput plugin.
-rw-r--r--HISTORY1
-rw-r--r--po/cs.po8
-rw-r--r--po/de.po8
-rw-r--r--po/es.po8
-rw-r--r--po/fi.po8
-rw-r--r--po/fr.po8
-rw-r--r--po/it.po8
-rw-r--r--po/nl.po8
-rw-r--r--po/ru.po8
-rw-r--r--po/vdradmin.pot8
-rw-r--r--template/default/about.html4
-rw-r--r--template/default/config.html16
-rwxr-xr-xvdradmind.pl47
13 files changed, 105 insertions, 35 deletions
diff --git a/HISTORY b/HISTORY
index c909453..95aeddc 100644
--- a/HISTORY
+++ b/HISTORY
@@ -14,6 +14,7 @@ VDR-Portal: amair
- Improved: Do not require pid dir when not running as daemon (Ville Skytt).
- Improved: Autodetect default for number of DVB cards (Ville Skytt).
- Fixed: Non-localhost streamdev URL (Bug report #653, Ville Skytt).
+- Added: Live TV streaming with Xineliboutput plugin (Ville Skytt).
2011-06-03: 3.6.8
- Updated: Dutch translation (Submitted by Roel Koelewijn).
diff --git a/po/cs.po b/po/cs.po
index 46ba683..82782da 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cs\n"
"Report-Msgid-Bugs-To: Andreas Mair <andreas@vdr-developer.org>\n"
-"POT-Creation-Date: 2011-10-15 13:01+0300\n"
+"POT-Creation-Date: 2011-10-15 13:28+0300\n"
"PO-Revision-Date: 2006-09-23 13:14+0200\n"
"Last-Translator: Karel Borkovec <her-ur@her-ur.org>\n"
"Language-Team: Czech <cs@li.org>\n"
@@ -93,6 +93,9 @@ msgstr "TV streamování"
msgid "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Streamdev Plugin</a>"
msgstr ""
+msgid "<a href=\"http://sourceforge.net/projects/xineliboutput/\" target=\"_blank\">Xineliboutput Plugin</a>"
+msgstr ""
+
msgid "Rename Recordings (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
msgstr "Přejmenování nahrávek (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
@@ -410,6 +413,9 @@ msgstr "Live Streamování:"
msgid "HTTP Port of Streamdev (also possible 3000/ts):"
msgstr "HTTP Port pro Streamdev (možno 3000/ts):"
+msgid "HTTP Port of Xineliboutput (e.g. 37890):"
+msgstr ""
+
msgid "Recordings Streaming:"
msgstr "Nahrávání streamu:"
diff --git a/po/de.po b/po/de.po
index 8deb6ab..7341f55 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDRAdmin-AM-3.6.5+cvs\n"
"Report-Msgid-Bugs-To: Andreas Mair <andreas@vdr-developer.org>\n"
-"POT-Creation-Date: 2011-10-15 13:01+0300\n"
+"POT-Creation-Date: 2011-10-15 13:28+0300\n"
"PO-Revision-Date: 2009-12-30 19:31+0200\n"
"Last-Translator: Andreas Mair <mail@andreas.vdr-developer.org>\n"
"Language-Team: German <mail@andreas.vdr-developer.org>\n"
@@ -88,6 +88,9 @@ msgstr ""
msgid "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Streamdev Plugin</a>"
msgstr ""
+msgid "<a href=\"http://sourceforge.net/projects/xineliboutput/\" target=\"_blank\">Xineliboutput Plugin</a>"
+msgstr ""
+
msgid "Rename Recordings (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
msgstr "Aufnahmen umbenennen (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
@@ -403,6 +406,9 @@ msgstr "LiveTV streamen:"
msgid "HTTP Port of Streamdev (also possible 3000/ts):"
msgstr "HTTP-Port von Streamdev (auch möglich 3000/ts):"
+msgid "HTTP Port of Xineliboutput (e.g. 37890):"
+msgstr ""
+
msgid "Recordings Streaming:"
msgstr "Aufnahmen streamen:"
diff --git a/po/es.po b/po/es.po
index f712ad3..0342602 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDRAdmin-AM-3.6.6\n"
"Report-Msgid-Bugs-To: Andreas Mair <andreas@vdr-developer.org>\n"
-"POT-Creation-Date: 2011-10-15 13:01+0300\n"
+"POT-Creation-Date: 2011-10-15 13:28+0300\n"
"PO-Revision-Date: 2010-02-11 22:46+0100\n"
"Last-Translator: Manuel Gomez <mgrojo@gmail.com>\n"
"Language-Team: Spanish <r_jung@web.de>\n"
@@ -92,6 +92,9 @@ msgstr "Flujo de LiveTV"
msgid "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Streamdev Plugin</a>"
msgstr ""
+msgid "<a href=\"http://sourceforge.net/projects/xineliboutput/\" target=\"_blank\">Xineliboutput Plugin</a>"
+msgstr ""
+
msgid "Rename Recordings (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
msgstr "Renombrar grabaciones (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
@@ -407,6 +410,9 @@ msgstr "Flujo en vivo:"
msgid "HTTP Port of Streamdev (also possible 3000/ts):"
msgstr "Puerto HTTP para el flujo (3000/ts también posible):"
+msgid "HTTP Port of Xineliboutput (e.g. 37890):"
+msgstr ""
+
msgid "Recordings Streaming:"
msgstr "Flujo de grabaciones:"
diff --git a/po/fi.po b/po/fi.po
index 605afa8..84d6379 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDRAdmin-AM-3.6.2\n"
"Report-Msgid-Bugs-To: Andreas Mair <andreas@vdr-developer.org>\n"
-"POT-Creation-Date: 2011-10-15 13:01+0300\n"
+"POT-Creation-Date: 2011-10-15 13:28+0300\n"
"PO-Revision-Date: 2011-07-30 23:22+0200\n"
"Last-Translator: Ville Skyttä <ville.skytta@iki.fi>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n"
@@ -89,6 +89,9 @@ msgstr "Live-kuvan suoratoisto"
msgid "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Streamdev Plugin</a>"
msgstr "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Streamdev-laajennos</a>"
+msgid "<a href=\"http://sourceforge.net/projects/xineliboutput/\" target=\"_blank\">Xineliboutput Plugin</a>"
+msgstr "<a href=\"http://sourceforge.net/projects/xineliboutput/\" target=\"_blank\">Xineliboutput-laajennos</a>"
+
msgid "Rename Recordings (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
msgstr "Tallenteiden uudelleennimeäminen (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio-kokoelma</a>)"
@@ -404,6 +407,9 @@ msgstr "Live-kuvan suoratoisto:"
msgid "HTTP Port of Streamdev (also possible 3000/ts):"
msgstr "Streamdev-laajennoksen HTTP-portti (esim. 3000/ts):"
+msgid "HTTP Port of Xineliboutput (e.g. 37890):"
+msgstr "Xineliboutput-laajennoksen HTTP-portti (esim. 37890):"
+
msgid "Recordings Streaming:"
msgstr "Tallenteiden suoratoisto:"
diff --git a/po/fr.po b/po/fr.po
index 3781af0..602e6a0 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDRAdmin-AM-3.6.0\n"
"Report-Msgid-Bugs-To: Andreas Mair <andreas@vdr-developer.org>\n"
-"POT-Creation-Date: 2011-10-15 13:01+0300\n"
+"POT-Creation-Date: 2011-10-15 13:28+0300\n"
"PO-Revision-Date: 2007-08-23 10:45+0100\n"
"Last-Translator: Trois Six <trois.six@free.fr>\n"
"Language-Team: French <trois.six@free.fr>\n"
@@ -90,6 +90,9 @@ msgstr "Plugin de Streaming Live"
msgid "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Streamdev Plugin</a>"
msgstr "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Streamdev</a>"
+msgid "<a href=\"http://sourceforge.net/projects/xineliboutput/\" target=\"_blank\">Xineliboutput Plugin</a>"
+msgstr ""
+
msgid "Rename Recordings (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
msgstr "Renommer les Enregistrements (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Patch Liemikuutio</a>)"
@@ -405,6 +408,9 @@ msgstr "Emission de Flux en direct :"
msgid "HTTP Port of Streamdev (also possible 3000/ts):"
msgstr "Port HTTP Streamdev (aussi possible 3000/ts) :"
+msgid "HTTP Port of Xineliboutput (e.g. 37890):"
+msgstr ""
+
msgid "Recordings Streaming:"
msgstr "Emission d'Enregistrements"
diff --git a/po/it.po b/po/it.po
index 73b1df0..87bd8a0 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDRAdmin-AM-3.6.6\n"
"Report-Msgid-Bugs-To: Andreas Mair <andreas@vdr-developer.org>\n"
-"POT-Creation-Date: 2011-10-15 13:01+0300\n"
+"POT-Creation-Date: 2011-10-15 13:28+0300\n"
"PO-Revision-Date: 2010-03-29 01:02+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr-italian@tiscali.it>\n"
@@ -91,6 +91,9 @@ msgstr "Trasmissione TV dal vivo"
msgid "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Streamdev Plugin</a>"
msgstr "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Plugin Streamdev</a>"
+msgid "<a href=\"http://sourceforge.net/projects/xineliboutput/\" target=\"_blank\">Xineliboutput Plugin</a>"
+msgstr ""
+
msgid "Rename Recordings (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
msgstr "Rinomina registrazioni (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Patch di Liemikuutio</a>)"
@@ -406,6 +409,9 @@ msgstr "Trasmissione dal vivo:"
msgid "HTTP Port of Streamdev (also possible 3000/ts):"
msgstr "Porta HTTP di Streamdev (possibile anche 3000/ts):"
+msgid "HTTP Port of Xineliboutput (e.g. 37890):"
+msgstr ""
+
msgid "Recordings Streaming:"
msgstr "Trasmissione registrazioni:"
diff --git a/po/nl.po b/po/nl.po
index ff83543..13e9004 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDRAdmin-AM-3.6.7\n"
"Report-Msgid-Bugs-To: Andreas Mair <andreas@vdr-developer.org>\n"
-"POT-Creation-Date: 2011-10-15 13:01+0300\n"
+"POT-Creation-Date: 2011-10-15 13:28+0300\n"
"PO-Revision-Date: 2010-08-13 13:36+0200\n"
"Last-Translator: Roel Koelewijn <roel.koelewijn@gmail.com>\n"
"Language-Team: Dutch <nl@li.org>\n"
@@ -92,6 +92,9 @@ msgstr ""
msgid "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Streamdev Plugin</a>"
msgstr ""
+msgid "<a href=\"http://sourceforge.net/projects/xineliboutput/\" target=\"_blank\">Xineliboutput Plugin</a>"
+msgstr ""
+
msgid "Rename Recordings (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
msgstr "Hernoem opnames (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
@@ -407,6 +410,9 @@ msgstr "Live Streaming:"
msgid "HTTP Port of Streamdev (also possible 3000/ts):"
msgstr "HTTP Poort van Streamdev (ook mogelijk 3000/ts):"
+msgid "HTTP Port of Xineliboutput (e.g. 37890):"
+msgstr ""
+
msgid "Recordings Streaming:"
msgstr "Streaming opnames:"
diff --git a/po/ru.po b/po/ru.po
index 8c076b6..ddae0a1 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ru\n"
"Report-Msgid-Bugs-To: Andreas Mair <andreas@vdr-developer.org>\n"
-"POT-Creation-Date: 2011-10-15 13:01+0300\n"
+"POT-Creation-Date: 2011-10-15 13:28+0300\n"
"PO-Revision-Date: 2006-10-27 15:42+0100\n"
"Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n"
"Language-Team: Russian <LL@li.org>\n"
@@ -90,6 +90,9 @@ msgstr ""
msgid "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Streamdev Plugin</a>"
msgstr ""
+msgid "<a href=\"http://sourceforge.net/projects/xineliboutput/\" target=\"_blank\">Xineliboutput Plugin</a>"
+msgstr ""
+
msgid "Rename Recordings (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
msgstr "Переименование записей (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
@@ -405,6 +408,9 @@ msgstr "Трансляция LiveTV:"
msgid "HTTP Port of Streamdev (also possible 3000/ts):"
msgstr "Streamdev HTTP порт (также возможно 3000/ts):"
+msgid "HTTP Port of Xineliboutput (e.g. 37890):"
+msgstr ""
+
msgid "Recordings Streaming:"
msgstr "Транслировать записи (Streaming):"
diff --git a/po/vdradmin.pot b/po/vdradmin.pot
index 6aa625e..62943b9 100644
--- a/po/vdradmin.pot
+++ b/po/vdradmin.pot
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDRAdmin-AM 3.6.8\n"
"Report-Msgid-Bugs-To: Andreas Mair <andreas@vdr-developer.org>\n"
-"POT-Creation-Date: 2011-10-15 13:01+0300\n"
+"POT-Creation-Date: 2011-10-15 13:28+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -102,6 +102,9 @@ msgstr ""
msgid "<a href=\"http://streamdev.vdr-developer.org/\" target=\"_blank\">Streamdev Plugin</a>"
msgstr ""
+msgid "<a href=\"http://sourceforge.net/projects/xineliboutput/\" target=\"_blank\">Xineliboutput Plugin</a>"
+msgstr ""
+
msgid "Rename Recordings (<a href=\"http://www.saunalahti.fi/~rahrenbe/vdr/patches/\" target=\"_blank\">Liemikuutio Patch</a>)"
msgstr ""
@@ -417,6 +420,9 @@ msgstr ""
msgid "HTTP Port of Streamdev (also possible 3000/ts):"
msgstr ""
+msgid "HTTP Port of Xineliboutput (e.g. 37890):"
+msgstr ""
+
msgid "Recordings Streaming:"
msgstr ""
diff --git a/template/default/about.html b/template/default/about.html
index 5424944..fc7676f 100644
--- a/template/default/about.html
+++ b/template/default/about.html
@@ -123,12 +123,12 @@
<img src="bilder/poempl_rot.png" alt="" align="middle" border="0"/>
<?% END %?>
&nbsp;<?% gettext('EPGSearch') %?> (<?% gettext('<a href="http://winni.vdr-developer.org/epgsearch/index_eng.html" target="_blank">EPGSearch Plugin</a>') %?><?% IF features.EPGSEARCH_VERSION_HR %?>&nbsp;v<?% features.EPGSEARCH_VERSION_HR %?><?% END %?>)<br />
- <?% IF features.STREAMDEV %?>
+ <?% IF features.LIVESTREAM %?>
<img src="bilder/poempl_gruen.png" alt="" align="middle" border="0"/>
<?% ELSE %?>
<img src="bilder/poempl_rot.png" alt="" align="middle" border="0"/>
<?% END %?>
- &nbsp;<?% gettext('LiveTV Streaming') %?> (<?% gettext('<a href="http://streamdev.vdr-developer.org/" target="_blank">Streamdev Plugin</a>') %?><?% IF features.STREAMDEV_VERSION_HR %?>&nbsp;v<?% features.STREAMDEV_VERSION_HR %?><?% END %?>)<br />
+ &nbsp;<?% gettext('LiveTV Streaming') %?> (<?% gettext('<a href="http://streamdev.vdr-developer.org/" target="_blank">Streamdev Plugin</a>') %?><?% IF features.STREAMDEV_VERSION_HR %?>&nbsp;v<?% features.STREAMDEV_VERSION_HR %?><?% END %?> / <?% gettext('<a href="http://sourceforge.net/projects/xineliboutput/" target="_blank">Xineliboutput Plugin</a>') %?><?% IF features.XINELIB_VERSION_HR %?>&nbsp;v<?% features.XINELIB_VERSION_HR %?><?% END %?>)<br />
<?% IF features.REC_RENAME %?>
<img src="bilder/poempl_gruen.png" alt="" align="middle" border="0"/>
<?% ELSE %?>
diff --git a/template/default/config.html b/template/default/config.html
index 8a2cf92..418b7ab 100644
--- a/template/default/config.html
+++ b/template/default/config.html
@@ -327,34 +327,38 @@
<td class="col_value"><input type="text" name="ST_STREAMDEV_PORT" value="<?% config.ST_STREAMDEV_PORT | html %?>" size="10" /></td>
</tr>
<tr class="row_odd">
+ <td class="col_label"><h5><?% gettext('HTTP Port of Xineliboutput (e.g. 37890):') %?></h5></td>
+ <td class="col_value"><input type="text" name="ST_XINELIB_PORT" value="<?% config.ST_XINELIB_PORT | html %?>" size="10" /></td>
+ </tr>
+ <tr class="row_even">
<td class="col_label"><h5><?% gettext('Recordings Streaming:') %?></h5></td>
<td class="col_value">
<input type="radio" name="ST_REC_ON" value="1" id="rec_yes" <?% IF config.ST_REC_ON %?>checked="checked"<?% END %?> /><label for="rec_yes"><?% gettext('Yes') %?></label>
<input type="radio" name="ST_REC_ON" value="0" id="rec_no" <?% UNLESS config.ST_REC_ON %?>checked="checked"<?% END %?> /><label for="rec_no"><?% gettext('No') %?></label>
</td>
</tr>
- <tr class="row_even">
+ <tr class="row_odd">
<td class="col_label"><h5><?% gettext('Path to VDR Recordings on your workstation:') %?></h5></td>
<td class="col_value"><input type="text" name="ST_VIDEODIR" value="<?% config.ST_VIDEODIR | html %?>" size="20" maxlength="256" /></td>
</tr>
- <tr class="row_odd">
+ <tr class="row_even">
<td class="col_label"><h5><?% gettext('MIME type for live streaming:') %?></h5></td>
<td class="col_value"><input type="text" name="TV_MIMETYPE" value="<?% config.TV_MIMETYPE | html %?>" size="20" maxlength="256" /></td>
</tr>
- <tr class="row_even">
+ <tr class="row_odd">
<td class="col_label"><h5><?% gettext('Suffix for live streaming:') %?></h5></td>
<td class="col_value"><input type="text" name="TV_EXT" value="<?% config.TV_EXT | html %?>" size="4" maxlength="256" /></td>
</tr>
- <tr class="row_odd">
+ <tr class="row_even">
<td class="col_label"><h5><?% gettext('MIME type for recordings streaming:') %?></h5></td>
<td class="col_value"><input type="text" name="REC_MIMETYPE" value="<?% config.REC_MIMETYPE | html %?>" size="20" maxlength="256" /></td>
</tr>
- <tr class="row_even">
+ <tr class="row_odd">
<td class="col_label"><h5><?% gettext('Suffix for recordings streaming:') %?></h5></td>
<td class="col_value"><input type="text" name="REC_EXT" value="<?% config.REC_EXT | html %?>" size="4" maxlength="256" /></td>
</tr>
<!-- not (yet?) supported
- <tr class="row_odd">
+ <tr class="row_even">
<td class="col_label"><h5><?% gettext('Bandwidth of Streams:') %?></h5></td>
<td class="col_value">
<select class="submit" name="STREAMTYPE">
diff --git a/vdradmind.pl b/vdradmind.pl
index 4145f02..eb33f57 100755
--- a/vdradmind.pl
+++ b/vdradmind.pl
@@ -198,8 +198,9 @@ $CONFIG{ST_FUNC} = 1;
$CONFIG{ST_REC_ON} = 0;
$CONFIG{ST_LIVE_ON} = 1;
$CONFIG{ST_URL} = "";
-$CONFIG{ST_STREAMDEV_HOST} = "";
+$CONFIG{ST_STREAMDEV_HOST} = ""; # streamdev/xineliboutput host
$CONFIG{ST_STREAMDEV_PORT} = 3000;
+$CONFIG{ST_XINELIB_PORT} = 37890;
$CONFIG{ST_VIDEODIR} = "";
#
@@ -251,6 +252,7 @@ $CONFIG{GUI_POPUP_HEIGHT} = 250;
#
my %FEATURES;
$FEATURES{STREAMDEV} = 0; # streamdev plugin available?
+$FEATURES{XINELIB} = 0; # xineliboutput plugin available?
$FEATURES{REC_RENAME} = 0; # RENR patch available?
$FEATURES{AUTOTIMER} = 0; # use autotimer feature?
$FEATURES{MYVERSION_HR} = "$VERSION"; # Human readable VDRAdmin-AM version, e.g. 3.6.5
@@ -4312,8 +4314,8 @@ sub prog_list {
chanloop => \@channel,
progname => $channel_name,
switchurl => "$MyURL?aktion=prog_switch&amp;channel=$vdr_id",
- streamurl => $FEATURES{STREAMDEV} ? sprintf("%s%s?aktion=live_stream&amp;channel=%s&amp;progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $vdr_id, uri_escape($channel_name)) : undef,
- stream_live_on => $FEATURES{STREAMDEV} && $CONFIG{ST_FUNC} && $CONFIG{ST_LIVE_ON},
+ streamurl => $FEATURES{LIVESTREAM} ? sprintf("%s%s?aktion=live_stream&amp;channel=%s&amp;progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $vdr_id, uri_escape($channel_name)) : undef,
+ stream_live_on => $FEATURES{LIVESTREAM} && $CONFIG{ST_FUNC} && $CONFIG{ST_LIVE_ON},
toolbarurl => "$MyURL?aktion=toolbar",
ch_groups => getChannelGroups($MyURL . "?aktion=prog_list&amp;vdr_id=$vdr_id", $CONFIG{CHANNELS_WANTED_PRG})
};
@@ -4396,7 +4398,7 @@ sub prog_list2 {
{ channel_name => $event->{channel_name},
longdate => my_strftime("%A, %x", $event->{start}),
newd => 1,
- streamurl => $FEATURES{STREAMDEV} ? sprintf("%s%s?aktion=live_stream&amp;channel=%s&amp;progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $event->{vdr_id}, uri_escape($event->{channel_name})) : undef,
+ streamurl => $FEATURES{LIVESTREAM} ? sprintf("%s%s?aktion=live_stream&amp;channel=%s&amp;progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $event->{vdr_id}, uri_escape($event->{channel_name})) : undef,
switchurl => "$MyURL?aktion=prog_switch&amp;channel=" . $event->{vdr_id},
proglink => "$MyURL?aktion=prog_list&amp;vdr_id=" . $event->{vdr_id}
}
@@ -4471,7 +4473,7 @@ sub prog_list2 {
{ channel_name => $_->{name},
longdate => '',
newd => 1,
- streamurl => $FEATURES{STREAMDEV} ? sprintf("%s%s?aktion=live_stream&amp;channel=%s&amp;progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $vdr_id, uri_escape($_->{name})) : undef,
+ streamurl => $FEATURES{LIVESTREAM} ? sprintf("%s%s?aktion=live_stream&amp;channel=%s&amp;progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $vdr_id, uri_escape($_->{name})) : undef,
switchurl => "$MyURL?aktion=prog_switch&amp;channel=" . $vdr_id,
proglink => "$MyURL?aktion=prog_list&amp;vdr_id=" . $vdr_id
}
@@ -4527,7 +4529,7 @@ sub prog_list2 {
chanloop => \@channel,
progname => GetChannelDescByNumber($vdr_id),
switchurl => "$MyURL?aktion=prog_switch&amp;channel=" . $vdr_id,
- stream_live_on => $FEATURES{STREAMDEV} && $CONFIG{ST_FUNC} && $CONFIG{ST_LIVE_ON},
+ stream_live_on => $FEATURES{LIVESTREAM} && $CONFIG{ST_FUNC} && $CONFIG{ST_LIVE_ON},
prevdayurl => $prev_day ? "$MyURL?aktion=prog_list2&amp;day=" . $prev_day . ($param_time ? "&amp;time=$param_time" : "") : undef,
nextdayurl => $next_day ? "$MyURL?aktion=prog_list2&amp;day=" . $next_day . ($param_time ? "&amp;time=$param_time" : "") : undef,
prevdaytext => $prev_day_name,
@@ -5177,16 +5179,20 @@ sub live_stream {
my $url;
if ($CONFIG{ST_STREAMDEV_HOST}) {
$url = URI->new("http://$CONFIG{ST_STREAMDEV_HOST}");
+ } elsif ($CONFIG{VDR_HOST} =~ /^localhost(\.localdomain)?|127\.0\.0\.1$/i) {
+ $url = URI->new($q->url(-base => 1));
+ $url->scheme("http");
} else {
- if ($CONFIG{VDR_HOST} =~ /^localhost(\.localdomain)?|127\.0\.0\.1$/i) {
- $url = URI->new($q->url(-base => 1));
- $url->scheme("http");
- } else {
- $url = URI->new("http://$CONFIG{VDR_HOST}");
- }
+ $url = URI->new("http://$CONFIG{VDR_HOST}");
+ }
+ if ($FEATURES{STREAMDEV}) {
+ $url->port($CONFIG{ST_STREAMDEV_PORT});
+ $url->path($channel);
+ } elsif ($FEATURES{XINELIB}) {
+ $url->port($CONFIG{ST_XINELIB_PORT});
+ # No channel support in xineliboutput URLs, need to switch here
+ SendCMD("chan $channel") if $channel;
}
- $url->port($CONFIG{ST_STREAMDEV_PORT});
- $url->path($channel);
my $data = "";
$data .= "#EXTINF:0,$progname\n" if ($progname);
@@ -5808,8 +5814,8 @@ sub prog_summary {
vdr_id => $event->{vdr_id},
proglink => sprintf("%s?aktion=prog_list&amp;vdr_id=%s", $MyURL, $event->{vdr_id}),
switchurl => $running ? sprintf("%s?aktion=prog_switch&amp;channel=%s", $MyURL, $event->{vdr_id}) : undef,
- streamurl => $FEATURES{STREAMDEV} ? sprintf("%s%s?aktion=live_stream&amp;channel=%s&amp;progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $event->{vdr_id}, uri_escape($event->{channel_name})) : undef,
- stream_live_on => $FEATURES{STREAMDEV} && $running ? $CONFIG{ST_FUNC} && $CONFIG{ST_LIVE_ON} : undef,
+ streamurl => $FEATURES{LIVESTREAM} ? sprintf("%s%s?aktion=live_stream&amp;channel=%s&amp;progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $event->{vdr_id}, uri_escape($event->{channel_name})) : undef,
+ stream_live_on => $FEATURES{LIVESTREAM} && $running ? $CONFIG{ST_FUNC} && $CONFIG{ST_LIVE_ON} : undef,
infurl => $event->{summary} ? sprintf("%s?aktion=prog_detail&amp;epg_id=%s&amp;vdr_id=%s&amp;referer=%s", $MyURL, $event->{event_id}, $event->{vdr_id}, $myself) : undef,
editurl => sprintf("%s?aktion=prog_detail_form&amp;epg_id=%s&amp;vdr_id=%s&amp;referer=%s", $MyURL, $event->{event_id}, $event->{vdr_id}, $myself),
recurl => sprintf("%s?aktion=timer_new_form&amp;epg_id=%s&amp;vdr_id=%s&amp;referer=%s", $MyURL, $event->{event_id}, $event->{vdr_id}, $myself),
@@ -5835,8 +5841,8 @@ sub prog_summary {
vdr_id => $channel->{vdr_id},
proglink => sprintf("%s?aktion=prog_list&amp;vdr_id=%s", $MyURL, $channel->{vdr_id}),
switchurl => sprintf("%s?aktion=prog_switch&amp;channel=%s", $MyURL, $channel->{vdr_id}),
- streamurl => $FEATURES{STREAMDEV} ? sprintf("%s%s?aktion=live_stream&amp;channel=%s&amp;progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $channel->{vdr_id}, uri_escape($channel->{name})) : undef,
- stream_live_on => $FEATURES{STREAMDEV} ? $CONFIG{ST_FUNC} && $CONFIG{ST_LIVE_ON} : undef,
+ streamurl => $FEATURES{LIVESTREAM} ? sprintf("%s%s?aktion=live_stream&amp;channel=%s&amp;progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $channel->{vdr_id}, uri_escape($channel->{name})) : undef,
+ stream_live_on => $FEATURES{LIVESTREAM} ? $CONFIG{ST_FUNC} && $CONFIG{ST_LIVE_ON} : undef,
anchor => "id" . $channel->{vdr_id}
}
);
@@ -7000,8 +7006,13 @@ sub getSupportedFeatures {
$FEATURES{STREAMDEV} = 1;
$FEATURES{STREAMDEV_VERSION_HR} = $1;
}
+ elsif (/^xineliboutput(?:\s+v(\S+))?/) {
+ $FEATURES{XINELIB} = 1;
+ $FEATURES{XINELIB_VERSION_HR} = $1;
+ }
}
}
+ $FEATURES{LIVESTREAM} = $FEATURES{STREAMDEV} || $FEATURES{XINELIB};
command($this, "help");
while ($_ = readoneline($this)) {
if ($_ =~ /\sRENR\s/) {