diff options
author | Ville Skyttä <ville.skytta@iki.fi> | 2011-10-15 13:55:57 +0300 |
---|---|---|
committer | Ville Skyttä <ville.skytta@iki.fi> | 2011-10-15 13:55:57 +0300 |
commit | bbd6551d9d7321ff5cf3aba03c7df297ac5da1d7 (patch) | |
tree | 0abdc88dcf44a17f7eddac62ca831a4a6d515dc2 | |
parent | 8654e2db202245c271d1b66be9f7a9140b0aeff6 (diff) | |
download | vdradmin-am-bbd6551d9d7321ff5cf3aba03c7df297ac5da1d7.tar.gz vdradmin-am-bbd6551d9d7321ff5cf3aba03c7df297ac5da1d7.tar.bz2 |
Add live TV streaming with xineliboutput plugin.
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | po/cs.po | 8 | ||||
-rw-r--r-- | po/de.po | 8 | ||||
-rw-r--r-- | po/es.po | 8 | ||||
-rw-r--r-- | po/fi.po | 8 | ||||
-rw-r--r-- | po/fr.po | 8 | ||||
-rw-r--r-- | po/it.po | 8 | ||||
-rw-r--r-- | po/nl.po | 8 | ||||
-rw-r--r-- | po/ru.po | 8 | ||||
-rw-r--r-- | po/vdradmin.pot | 8 | ||||
-rw-r--r-- | template/default/about.html | 4 | ||||
-rw-r--r-- | template/default/config.html | 16 | ||||
-rwxr-xr-x | vdradmind.pl | 47 |
13 files changed, 105 insertions, 35 deletions
@@ -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). @@ -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:" @@ -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:" @@ -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:" @@ -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:" @@ -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" @@ -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:" @@ -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:" @@ -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 %?> <?% gettext('EPGSearch') %?> (<?% gettext('<a href="http://winni.vdr-developer.org/epgsearch/index_eng.html" target="_blank">EPGSearch Plugin</a>') %?><?% IF features.EPGSEARCH_VERSION_HR %?> 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 %?> - <?% gettext('LiveTV Streaming') %?> (<?% gettext('<a href="http://streamdev.vdr-developer.org/" target="_blank">Streamdev Plugin</a>') %?><?% IF features.STREAMDEV_VERSION_HR %?> v<?% features.STREAMDEV_VERSION_HR %?><?% END %?>)<br /> + <?% gettext('LiveTV Streaming') %?> (<?% gettext('<a href="http://streamdev.vdr-developer.org/" target="_blank">Streamdev Plugin</a>') %?><?% IF features.STREAMDEV_VERSION_HR %?> v<?% features.STREAMDEV_VERSION_HR %?><?% END %?> / <?% gettext('<a href="http://sourceforge.net/projects/xineliboutput/" target="_blank">Xineliboutput Plugin</a>') %?><?% IF features.XINELIB_VERSION_HR %?> 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&channel=$vdr_id", - streamurl => $FEATURES{STREAMDEV} ? sprintf("%s%s?aktion=live_stream&channel=%s&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&channel=%s&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&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&channel=%s&progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $event->{vdr_id}, uri_escape($event->{channel_name})) : undef, + streamurl => $FEATURES{LIVESTREAM} ? sprintf("%s%s?aktion=live_stream&channel=%s&progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $event->{vdr_id}, uri_escape($event->{channel_name})) : undef, switchurl => "$MyURL?aktion=prog_switch&channel=" . $event->{vdr_id}, proglink => "$MyURL?aktion=prog_list&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&channel=%s&progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $vdr_id, uri_escape($_->{name})) : undef, + streamurl => $FEATURES{LIVESTREAM} ? sprintf("%s%s?aktion=live_stream&channel=%s&progname=%s", $MyStreamBase, $CONFIG{TV_EXT}, $vdr_id, uri_escape($_->{name})) : undef, switchurl => "$MyURL?aktion=prog_switch&channel=" . $vdr_id, proglink => "$MyURL?aktion=prog_list&vdr_id=" . $vdr_id } @@ -4527,7 +4529,7 @@ sub prog_list2 { chanloop => \@channel, progname => GetChannelDescByNumber($vdr_id), switchurl => "$MyURL?aktion=prog_switch&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&day=" . $prev_day . ($param_time ? "&time=$param_time" : "") : undef, nextdayurl => $next_day ? "$MyURL?aktion=prog_list2&day=" . $next_day . ($param_time ? "&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&vdr_id=%s", $MyURL, $event->{vdr_id}), switchurl => $running ? sprintf("%s?aktion=prog_switch&channel=%s", $MyURL, $event->{vdr_id}) : undef, - streamurl => $FEATURES{STREAMDEV} ? sprintf("%s%s?aktion=live_stream&channel=%s&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&channel=%s&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&epg_id=%s&vdr_id=%s&referer=%s", $MyURL, $event->{event_id}, $event->{vdr_id}, $myself) : undef, editurl => sprintf("%s?aktion=prog_detail_form&epg_id=%s&vdr_id=%s&referer=%s", $MyURL, $event->{event_id}, $event->{vdr_id}, $myself), recurl => sprintf("%s?aktion=timer_new_form&epg_id=%s&vdr_id=%s&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&vdr_id=%s", $MyURL, $channel->{vdr_id}), switchurl => sprintf("%s?aktion=prog_switch&channel=%s", $MyURL, $channel->{vdr_id}), - streamurl => $FEATURES{STREAMDEV} ? sprintf("%s%s?aktion=live_stream&channel=%s&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&channel=%s&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/) { |