Pvrinput-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Betrieb mit vdr-1.7)
(Aktuelle Version)
Zeile 45: Zeile 45:
 
==Aktuelle Version==
 
==Aktuelle Version==
 
# [http://projects.vdr-developer.org/attachments/download/931/vdr-pvrinput-2012-04-25.tgz 2012-04-25]
 
# [http://projects.vdr-developer.org/attachments/download/931/vdr-pvrinput-2012-04-25.tgz 2012-04-25]
 +
 +
===Patch für VDR-2.3.1===
 +
<pre>diff -Nru vdr-plugin-pvrinput-git-20120425-orig/pvrinput.c vdr-plugin-pvrinput-git-20120425/pvrinput.c
 +
--- vdr-plugin-pvrinput-git-20120425-orig/pvrinput.c 2016-09-25 18:45:19.643910816 +0200
 +
+++ vdr-plugin-pvrinput-git-20120425/pvrinput.c 2016-09-25 18:37:58.577730396 +0200
 +
@@ -86,15 +86,18 @@
 +
 +
cOsdObject *cPluginPvrInput::MainMenuAction(void)
 +
{
 +
+#if VDRVERSNUM < 20301
 +
  cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
 +
-#if VDRVERSNUM < 10713
 +
-  if (channel && channel->IsPlug())
 +
+  if (channel && ((channel->Source() >> 24) == 'V'))
 +
      return new cPvrMenuMain();
 +
#else
 +
-  // TODO: rework cPvrSourceParams for use with older vdr
 +
-  if (channel && ((channel->Source() >> 24) == 'V'))
 +
+  // 2.3.1: avoid global channel list.
 +
+  cDevice* primary = cDevice::PrimaryDevice();
 +
+  const cChannel* transponder = primary? primary->GetCurrentlyTunedTransponder():NULL;
 +
+  if (transponder && ((transponder->Source() >> 24) == 'V'))
 +
      return new cPvrMenuMain();
 +
#endif
 +
+
 +
  Skins.Message(mtError, tr("Setup.pvrinput$Not on an analogue channel!"), 2);
 +
  return NULL;
 +
}
 +
</pre>
  
 
==Links==
 
==Links==

Version vom 25. September 2016, 17:54 Uhr

Inhaltsverzeichnis

Beschreibung

Autor: Andreas Regel (bis 2006). Weiterentwicklung seitdem durch Winfried Koehler, Martin Dauskardt und Lars Hanisch

Dieses Plugin ermöglicht es, analoges TV und UKW-Radio mit dem VDR in Verbindung mit einer vom Plugin unterstützen PVR-Karte zu benutzen.

Status

Letztes Update 04/2012

Hardwareanforderungen

Softwareanforderungen

Einer der folgenden Treiber, je nach TV Karte:

  • ivtv Treiber für PVR150/250/350/500, im Kernel enthalten
  • pvrusb2 Treiber für PVR USB2.0, HVR-1900, HVR-1950
  • hdpvr Treiber für HD PVR

Konfiguration

Für die Erstellung der channels.conf siehe die Datei README zum Plugin. Alternativ kann die channels.conf auch mit w pvrscan oder dem Wirbelscan-plugin erstellt werden, die einen automatischen Kanalsuchlauf durchführen.

Die README des plugins enthält eine genaue Beschreibung des Aufbaus der channels.conf für alle Syntax-Varianten. In den Plugin-Sourcen sind zudem Beispiele für die channels.conf-Einträge und Konvertierungsscripte enthalten.

Sonstiges

TV-Karten mit BlackBird Design

Tv_karten nach dem blackbird Design, wie z.B. die HVR-1300, waren trotz Anstrengungen nicht sinnvoll in das pvrinput Plugin zu integrieren. Vom Betrieb solcher TV-Karten mit dem pvrinput Plugin ist abzuraten.

Hybride von Digital TV und Analogem TV

Einige TV-Karten, wie z.B. die Hauppauge HVR 1900 sind Hybridgeräte, die ihre Hardware zwischen analogem und digitalem TV teilen. Analoges TV und DVB können deswegen nicht gleichzeitig benutzt werden. Sobald VDR den digitalen DVB Teil gefunden hat und benutzt, steht der analoge Teil für pvrinput nicht mehr zur Verfügung.

  • Lösung: Beim Laden des Treibermoduls für den analogen Teil muss mit der Moduloption adapter_nr eine device Nummer vorgegeben werden, die eine Nummer über dem letzten vorhandenen DVB-Gerät liegt.
    • Beispiel: vdr soll nur die DVB-Karte (/dev/dvb/adapter0) verwenden. Man lädt pvrusb2 nun wie folgt: "modprobe pvrusb2 adapter_nr=2". vdr findet beim Start adapter0 und bricht die Suche ab, nachdem auf adapter1 kein Gerät gefunden wurde. Somit wird adapter3 von vdr nicht geöffnet, und pvrinput kann das analoge device öffnen.

Entwicklerversion

git clone git://projects.vdr-developer.org/vdr-plugin-pvrinput.git pvrinput

Aktuelle Version

  1. 2012-04-25

Patch für VDR-2.3.1

diff -Nru vdr-plugin-pvrinput-git-20120425-orig/pvrinput.c vdr-plugin-pvrinput-git-20120425/pvrinput.c
--- vdr-plugin-pvrinput-git-20120425-orig/pvrinput.c	2016-09-25 18:45:19.643910816 +0200
+++ vdr-plugin-pvrinput-git-20120425/pvrinput.c	2016-09-25 18:37:58.577730396 +0200
@@ -86,15 +86,18 @@
 
 cOsdObject *cPluginPvrInput::MainMenuAction(void)
 {
+#if VDRVERSNUM < 20301
   cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
-#if VDRVERSNUM < 10713
-  if (channel && channel->IsPlug())
+  if (channel && ((channel->Source() >> 24) == 'V'))
      return new cPvrMenuMain();
 #else
-  // TODO: rework cPvrSourceParams for use with older vdr
-  if (channel && ((channel->Source() >> 24) == 'V'))
+  // 2.3.1: avoid global channel list.
+  cDevice* primary = cDevice::PrimaryDevice();
+  const cChannel* transponder = primary? primary->GetCurrentlyTunedTransponder():NULL;
+  if (transponder && ((transponder->Source() >> 24) == 'V'))
      return new cPvrMenuMain();
 #endif
+
   Skins.Message(mtError, tr("Setup.pvrinput$Not on an analogue channel!"), 2);
   return NULL;
 }

Links

  1. Homepage des Plugins
In anderen Sprachen