You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Dr. Seltsam

Im Forum Zuhause

  • "Dr. Seltsam" started this thread

Posts: 9,964

Location: 3. Planet des Sonnensystems

Occupation: Organisator

  • Send private message

1

Saturday, April 3rd 2010, 6:00pm

[announce] pvrinput-2010-04-03-rc1 (jetzt streamdev-tauglich!)

Im November hatte ich die Version pvrinput-1.7.0-rc2 announced. Eigentlich glaubte ich damals, nach kurzer Zeit eine finale Version bereitstellen zu können. Es kam dann leider anders: Zum einen gab es nur eine Handvoll Rückmeldungen. Zum anderen haben mich bugreports eines easyvdr-users fast verzweifeln lassen, denn die aufgetretenen Probleme in einem Mehrkartensystem (sporadisch wurde von falschen Kanälen aufgenommen) ließen sich trotz gründlicher Tests bei mir nie nachvollziehen. Ich habe dann noch bis zur internen rc6 im Januar 2010 diverse Verbesserungen eingebaut, ohne aber diese Einzelfall-Probleme wirklich erklären zu können.

Mitte Januar 2010 habe ich mini73 (einen langjährigen pvrinput-user) auf dem HaVUT endlich auch persönlich kennengelernt. Es stellte sich heraus, dass er beruflich programmiert. Ich konnte ihn dafür gewinnen, sich einige der lange ungelösten Probleme mal vorzunehmen. mini73 hat sich dann in Rekordzeit in den Aufbau digitaler Streams eingearbeitet und nicht nur die Generierung von PCR-Timestamps implementiert, sondern auch die Erzeugung von PAT/PMT-Paketen, so dass pvrinput nun endlich auch mit streamdev richtig zusammenarbeitet (TS-Streams möglich!). Nebenbei wurde von mini73 auch noch beta-Unterstützung für die Hauppauge HD PVR realisiert.

Es ist jetzt auch möglich, beim Kanalwechsel ein externes Script ausführen zu lassen, dass z.B. einen angeschlossenen Digitalreceiver umschaltet. (Für die HD PVR, die keinen eigenen Tuner hat, war das notwendig). Der Inhalt des Scripts bzw. was es wie machen soll, bleibt Euch überlassen.

In den vergangen Wochen hat mini73 das Plugin an so vielen Stellen verbessert und umgebaut, dass eine neue Versions-Nr. erforderlich wird. Da sicher noch weitere Änderungen kommen, sind wir erstmal wieder auf Tagesdaten als Versions-Nr. zurückgegangen.

mini73 hat unter http://projects.vdr-developer.org/projects/show/plg-pvrinput ein git repository eingerichtet. Wir meinen, dass der gegenwärtige Stand es Wert ist, jetzt mal einer breiteren Öffentlichkeit vorgestellt zu werden.

Hier gibt es die aktuellen development-Pakete, zur Zeit ist vdr-pvrinput-2010-04-03-rc1.tgz das neueste.

Hier zwei direkte Links:
HISTORY
README

Das Plugin funktioniert mit vdr 1.4, 1.6 und vdr 1.7
Für vdr 1.4, 1.6. sowie vdr bis 1.7.12 wird der pluginparam-Patch am vdr benötigt. Wenn vdr bereits für das iptv-Plugin gepatcht ist, wird also auch pvrinput funktionieren. Ab vdr 1.7.13 wurde die neue Klasse cSourceParam eingeführt, die den pluginparam-Patch obsolet macht. Leider ändert sich die Syntax für die channels.conf dadurch nochmal etwas. Im README ist das genau erklärt. Da derzeit weder wirbelscan noch w_pvrscan die neue Kanalsyntax unterstützen, gibt es in den Pluginsourcen ein Konvertierungsscript, um eine alte channels.conf (mit Kanalsyntax gemäß pluginparam-Patch) in die neue syntax zu übersetzen. Ebenso enthalten ist weiterhin das Script, um eine ganz alte Syntax (mit CA-ID A0) in die Syntax gemäß pluginparam-Patch zu konvertieren. Es gibt auch Muster-channels.conf für beide Syntax-Arten.

Auf ein paar Punkte möchte ich noch gesondert hinweisen (weil ich schon ahne, dass die schöne README viel zu oft ungelesen bleibt :) ) :

  • wer eine PVRUSB2 Model 29xxx hat, sollte unbedingt neue v4l-dvb-Treiber installieren. Es wird sonst sporadisch zu einem schwarzen Bild nach dem Umschalten kommen. Der Treiberbug ist von mir identifiziert worden und wird in Kernel 2.6.34 enthalten sein (siehe README).

  • das genaue Zusammenspiel zwischen read buffer und TS buffer bzw. deren optimale Größen bedarf noch weiterer Erforschung. Offenbar gibt es für die verschiedenen output-devices bzw. output-Plugins unterschiedliche Optimalwerte. Die Größe für den read-buffer wurde in dieser Version von 256 KB auf 64 KB reduziert. Beim pvr350-Plugin als Ausgabedevice führt dies zu einem schnelleren und stotterfreiem Umschaltvorgang. Bei xine/xineliboutput könnte es notwendig sein, den Wert höher zu setzen. Sowohl die Größe des read buffers, als auch die des TS buffer ist nun in der setup.conf (bei gestopptem vdr !!) einstellbar. Es gibt auch die Möglichkeit, ein pre-buffering einzurichten:

    Source code

    1
    2
    3
    
    pvrinput.ReadBufferSizeKB = 64                   // size of buffer for reader in KB (default: 64 KB)
    pvrinput.TsBufferSizeMB = 3                      // ring buffer size in MB (default: 3 MB)
    pvrinput.TsBufferPrefillRatio = 0                // wait with delivering packets to vdr till buffer is filled
    Wenn es beim Umschalten stottert, sollte man pvrinput.ReadBufferSizeKB auf z.B. 128 oder 256 setzen. Der Eintrag "pvrinput.TsBufferPrefillRatio = 20" würde bewirken, dass der TS buffer erstmal bis 20% aufgefüllt wird, ehe die ersten Daten an vdr weitergereicht werden.

    Wenn es im laufenden Betrieb stottert, könnte man auch mal eine Vergrößerung des ts buffers versuchen, also z.B. "pvrinput.TsBufferSizeMB = 6".


mini73 und ich wünschen Euch frohe Ostern!


PS: "Wanted": Besitzer einer HVR 1600 (gibt es nur auf dem US-Markt). Da der cx18-Treiber direkt TS liefern kann, wird für diese Karte jetzt nicht mehr die PesToTS-Wandlung benutzt. Müsste funktionieren, ist aber bisher ungetestet.
VDR 1: Silverstone LC20, Cougar A300/R, MSI C847MS-E33, passive Asus GT520, KNC One DVB-C, Cine CT V6, WD10EACS; Atric-IR-Einschalter. SW: yavdr 0.5 per SSD
VDR 2: im Aufbau: ACT-620 mit Coba-NT, Asrock B75 Pro3-M, Celeron G540, Sundtek MediaTV Digital Home (DVB-C/T), passive Asus GT610. SW: Ubuntu 13.04 minimal (ohne grafische Oberfläche) per SSD

This post has been edited 1 times, last edit by "Dr. Seltsam" (Apr 3rd 2010, 7:00pm)


2

Saturday, April 3rd 2010, 8:05pm

Das klingt alles sehr, sehr gut. Ich werde mich nach Ostern gleich ans Testen machen und euch RÜckmeldung geben. Frohe Ostern euch beiden noch.

wirbel

Im Forum Zuhause

Posts: 9,911

Location: Berlin

  • Send private message

3

Saturday, April 3rd 2010, 8:20pm

@README:

Quoted


For now wirbelscan and w_pvrscan can only output the "old" format for the plugin-param-patch.


wirbelscan bereits enthalten seit 0.0.5pre11e, w_pvrscan seit heute:

Source code

1
-bash-3.00# ./w_pvrscan > channels.conf

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
-bash-3.00# more channels.conf
:analog TV
Kinderkanal;w_pvrscan:126250:TV|PAL:V:0:301:300:305:0:1:0:2020:0
n-tv;w_pvrscan:133250:TV|PAL:V:0:301:300:305:0:1:0:2132:0
Kabel 1;w_pvrscan:140250:TV|PAL:V:0:301:300:305:0:1:0:2244:0
RBB Berlin;w_pvrscan:147250:TV|PAL:V:0:301:300:305:0:1:0:2356:0
Nick Deutschland;w_pvrscan:154250:TV|PAL:V:0:301:300:305:0:1:0:2468:0
3sat;w_pvrscan:161250:TV|PAL:V:0:301:300:305:0:1:0:2580:0
DMAX;w_pvrscan:168250:TV|PAL:V:0:301:300:305:0:1:0:2692:0
Home Shopping Europe;w_pvrscan:175250:TV|PAL:V:0:301:300:305:0:1:0:2804:0
RBB Berlin;w_pvrscan:182250:TV|PAL:V:0:301:300:305:0:1:0:2916:0
k07;w_pvrscan:189250:TV|PAL:V:0:301:300:305:0:1:0:3028:0
ZDF;w_pvrscan:196250:TV|PAL:V:0:301:300:305:0:1:0:3140:0
SAT 1;w_pvrscan:203250:TV|PAL:V:0:301:300:305:0:1:0:3252:0
ARD;w_pvrscan:210250:TV|PAL:V:0:301:300:305:0:1:0:3364:0
RTL;w_pvrscan:217250:TV|PAL:V:0:301:300:305:0:1:0:3476:0
QVC;w_pvrscan:224250:TV|PAL:V:0:301:300:305:0:1:0:3588:0
VOX;w_pvrscan:231250:TV|PAL:V:0:301:300:305:0:1:0:3700:0
SE12;w_pvrscan:238250:TV|PAL:V:0:301:300:305:0:1:0:3812:0
RTL 2;w_pvrscan:245250:TV|PAL:V:0:301:300:305:0:1:0:3924:0
SE14;w_pvrscan:252250:TV|PAL:V:0:301:300:305:0:1:0:4036:0
BR-3;w_pvrscan:259250:TV|PAL:V:0:301:300:305:0:1:0:4148:0
Phoenix;w_pvrscan:266250:TV|PAL:V:0:301:300:305:0:1:0:4260:0
Nord-3 (NDR/SFB/RB);w_pvrscan:273250:TV|PAL:V:0:301:300:305:0:1:0:4372:0
MDR-3;w_pvrscan:280250:TV|PAL:V:0:301:300:305:0:1:0:4484:0
Tele 5;w_pvrscan:287250:TV|PAL:V:0:301:300:305:0:1:0:4596:0
SE20;w_pvrscan:294250:TV|PAL:V:0:301:300:305:0:1:0:4708:0
k23;w_pvrscan:487250:TV|PAL:V:0:301:300:305:0:1:0:7796:0
Arte;w_pvrscan:495250:TV|PAL:V:0:301:300:305:0:1:0:7924:0
MTV;w_pvrscan:503250:TV|PAL:V:0:301:300:305:0:1:0:8052:0
VIVA;w_pvrscan:511250:TV|PAL:V:0:301:300:305:0:1:0:8180:0
WDR-3;w_pvrscan:519250:TV|PAL:V:0:301:300:305:0:1:0:8308:0
N24;w_pvrscan:527250:TV|PAL:V:0:301:300:305:0:1:0:8436:0
k29;w_pvrscan:535250:TV|PAL:V:0:301:300:305:0:1:0:8564:0
1-2-3.TV;w_pvrscan:543250:TV|PAL:V:0:301:300:305:0:1:0:8692:0
k31;w_pvrscan:551250:TV|PAL:V:0:301:300:305:0:1:0:8820:0
DAS VIERTE;w_pvrscan:559250:TV|PAL:V:0:301:300:305:0:1:0:8948:0
RTL Shop;w_pvrscan:567250:TV|PAL:V:0:301:300:305:0:1:0:9076:0
k34;w_pvrscan:575250:TV|PAL:V:0:301:300:305:0:1:0:9204:0
k35;w_pvrscan:583250:TV|PAL:V:0:301:300:305:0:1:0:9332:0
k37;w_pvrscan:599250:TV|PAL:V:0:301:300:305:0:1:0:9588:0
Hessen 3;w_pvrscan:615250:TV|PAL:V:0:301:300:305:0:1:0:9844:0
ZDF;w_pvrscan:623250:TV|PAL:V:0:301:300:305:0:1:0:9972:0
Eurosport;w_pvrscan:631250:TV|PAL:V:0:301:300:305:0:1:0:10100:0
k42;w_pvrscan:639250:TV|PAL:V:0:301:300:305:0:1:0:10228:0
k43;w_pvrscan:647250:TV|PAL:V:0:301:300:305:0:1:0:10356:0
k44;w_pvrscan:655250:TV|PAL:V:0:301:300:305:0:1:0:10484:0
k45;w_pvrscan:663250:TV|PAL:V:0:301:300:305:0:1:0:10612:0
SuperRTL;w_pvrscan:671250:TV|PAL:V:0:301:300:305:0:1:0:10740:0
k47;w_pvrscan:679250:TV|PAL:V:0:301:300:305:0:1:0:10868:0
k48;w_pvrscan:687250:TV|PAL:V:0:301:300:305:0:1:0:10996:0
k50;w_pvrscan:703250:TV|PAL:V:0:301:300:305:0:1:0:11252:0
k55;w_pvrscan:743250:TV|PAL:V:0:301:300:305:0:1:0:11892:0
k66;w_pvrscan:831250:TV|PAL:V:0:301:300:305:0:1:0:13300:0
S-Video 1;w_pvrscan:1:SVIDEO1|PAL:V:0:301:300:305:0:1:0:9001:0

4

Sunday, April 4th 2010, 12:58pm

Hallo, und frohe Ostern,

erstmal DANKE für die super Arbeit an beiden PVR-Plugins. Ich habe mir heute die neueste Version des pvrinput-Plugins aus dem git-repository besorgt.
Leider kompiliert es bei mir nicht. Es kommt folgende Fehlermeldung:

....
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -c -DUSE_CMDRECCMDI18N -DUSE_CMDSUBMENU -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_DELTIMESHIFTREC -DUSE_DOLBYINREC -DUSE_DVBSETUP -DUSE_DVDARCHIVE -DUSE_DVLRECSCRIPTADDON -DUSE_DVLVIDPREFER -DUSE_DVLFRIENDLYFNAMES -DUSE_GOTOX -DUSE_HARDLINKCUTTER -DUSE_JUMPPLAY -DUSE_LIEMIEXT -DUSE_SETUP -DUSE_NOEPG -DUSE_OSDMAXITEMS -DUSE_PLUGINMISSING -DUSE_PLUGINPARAM -DUSE_SETTIME -DUSE_SOFTOSD -DUSE_SORTRECORDS -DUSE_SYNCEARLY -DUSE_TIMERCMD -DUSE_TIMERINFO -DUSE_VALIDINPUT -DUSE_WAREAGLEICON -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"pvrinput"' -I../../../../DVB/include -I../../../include -I../../../../DVB/include reader.c
../../../include/libsi/util.h: In member function ‘virtual void cPvrReadThread::Action()’:
../../../include/libsi/util.h:153: error: ‘static u_int32_t SI::CRC32::crc32(const char*, int, u_int32_t)’ is protected
reader.c:509: error: within this context
../../../include/libsi/util.h:153: error: ‘static u_int32_t SI::CRC32::crc32(const char*, int, u_int32_t)’ is protected
reader.c:530: error: within this context
make: *** [reader.o] Fehler 1
......

Da mein Programmierkentnisse recht bescheiden sind, komme ich nicht weiter.
Ich benutze vdr-1.6.0-2, mit div. Exension-Patch-72 Erweiterungen auf einem 64-Bit Debian testing, heute upgedatet.
Was kann ich tun?
VDR: vdr-1.6.0-2 / Kernel 2.6.30 / ivtv / PVR350 & 500 & TT Cinergy 1200 DVB-C & EasyWatch DVB-C MK3 / Gigabyte GA-M720-US3 / Plugins: pvrinput, pvr350, text2skin, femon, recstatus, noepgmenu, dvd, burn, epgsearch, tvm2vdr, live, systeminfo, streamdev-server, vompserver/ Addons: noad / alles selbst kompiliert auf einem 64Bit Debian squeeze/sid für AMD64

Dr. Seltsam

Im Forum Zuhause

  • "Dr. Seltsam" started this thread

Posts: 9,964

Location: 3. Planet des Sonnensystems

Occupation: Organisator

  • Send private message

5

Sunday, April 4th 2010, 1:22pm

das ist wohl ein Problem mit 64bit. Das müsste sich mini73 mal näher anschauen...

Schuss ins Blaue:

was ist, wenn Du in reader.c Zeile 509

Source code

1
int crc = SI::CRC32::crc32((const char*)(pat_buffer + 5), 12, 0xFFFFFFFF);

abänderst in

Source code

1
unsigned int crc = SI::CRC32::crc32((const char*)(pat_buffer + 5), 12, 0xFFFFFFFF);
VDR 1: Silverstone LC20, Cougar A300/R, MSI C847MS-E33, passive Asus GT520, KNC One DVB-C, Cine CT V6, WD10EACS; Atric-IR-Einschalter. SW: yavdr 0.5 per SSD
VDR 2: im Aufbau: ACT-620 mit Coba-NT, Asrock B75 Pro3-M, Celeron G540, Sundtek MediaTV Digital Home (DVB-C/T), passive Asus GT610. SW: Ubuntu 13.04 minimal (ohne grafische Oberfläche) per SSD

wirbel

Im Forum Zuhause

Posts: 9,911

Location: Berlin

  • Send private message

6

Sunday, April 4th 2010, 1:30pm

Wird nicht helfen. Das problem besteht darin, wie der Compiler schon sagt, dass die Funktion 'crc32' der Klasse CRC32 protected und nicht public ist.


Helfen wird nur die Verwendung einer andren Klasse (nää....) oder Patchen von vdr-1.6.0.2/include/libsi/util.h(viel eher) und Neukompilieren von VDR(!) und Plugin.

original

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//taken and adapted from libdtv, (c) Rolf Hakenes
class CRC32 {
public:
   CRC32(const char *d, int len, u_int32_t CRCvalue=0xFFFFFFFF);
   bool isValid() { return crc32(data, length, value) == 0; }
   static bool isValid(const char *d, int len, u_int32_t CRCvalue=0xFFFFFFFF) { return crc32(d, len, CRCvalue) == 0; }
protected:
   static u_int32_t crc_table[256];
   static u_int32_t crc32 (const char *d, int len, u_int32_t CRCvalue);

   const char *data;
   int length;
   u_int32_t value;
};


ändern in..

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//taken and adapted from libdtv, (c) Rolf Hakenes
class CRC32 {
public:
   CRC32(const char *d, int len, u_int32_t CRCvalue=0xFFFFFFFF);
   bool isValid() { return crc32(data, length, value) == 0; }
   static bool isValid(const char *d, int len, u_int32_t CRCvalue=0xFFFFFFFF) { return crc32(d, len, CRCvalue) == 0; }
   static u_int32_t crc32 (const char *d, int len, u_int32_t CRCvalue);
protected:
   static u_int32_t crc_table[256];

   const char *data;
   int length;
   u_int32_t value;
};

Dr. Seltsam

Im Forum Zuhause

  • "Dr. Seltsam" started this thread

Posts: 9,964

Location: 3. Planet des Sonnensystems

Occupation: Organisator

  • Send private message

7

Sunday, April 4th 2010, 1:36pm

aber wieso flutscht das bei gcc 4.4.1 und 32-bit ohne Probleme durch?
VDR 1: Silverstone LC20, Cougar A300/R, MSI C847MS-E33, passive Asus GT520, KNC One DVB-C, Cine CT V6, WD10EACS; Atric-IR-Einschalter. SW: yavdr 0.5 per SSD
VDR 2: im Aufbau: ACT-620 mit Coba-NT, Asrock B75 Pro3-M, Celeron G540, Sundtek MediaTV Digital Home (DVB-C/T), passive Asus GT610. SW: Ubuntu 13.04 minimal (ohne grafische Oberfläche) per SSD

wirbel

Im Forum Zuhause

Posts: 9,911

Location: Berlin

  • Send private message

8

Sunday, April 4th 2010, 1:40pm

Tut es nicht.

Source code

1
2
3
4
5
6
7
8
9
10
g++ -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"pvrinput"' -I../../../include -I../../../../DVB/include pvrinput.c
g++ -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"pvrinput"' -I../../../include -I../../../../DVB/include common.c
g++ -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"pvrinput"' -I../../../include -I../../../../DVB/include device.c
g++ -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"pvrinput"' -I../../../include -I../../../../DVB/include reader.c
../../../include/libsi/util.h: In member function »virtual void cPvrReadThread::Action()«:
../../../include/libsi/util.h:153: Fehler: »static u_int32_t SI::CRC32::crc32(const char*, int, u_int32_t)« ist geschützt
reader.c:509: Fehler: in diesem Zusammenhang
../../../include/libsi/util.h:153: Fehler: »static u_int32_t SI::CRC32::crc32(const char*, int, u_int32_t)« ist geschützt
reader.c:530: Fehler: in diesem Zusammenhang
make: *** [reader.o] Fehler 1

Dr. Seltsam

Im Forum Zuhause

  • "Dr. Seltsam" started this thread

Posts: 9,964

Location: 3. Planet des Sonnensystems

Occupation: Organisator

  • Send private message

9

Sunday, April 4th 2010, 1:42pm

unter Ubuntu 9.10 mit gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) kompiliert es ohne jede Warnung durch.
VDR 1: Silverstone LC20, Cougar A300/R, MSI C847MS-E33, passive Asus GT520, KNC One DVB-C, Cine CT V6, WD10EACS; Atric-IR-Einschalter. SW: yavdr 0.5 per SSD
VDR 2: im Aufbau: ACT-620 mit Coba-NT, Asrock B75 Pro3-M, Celeron G540, Sundtek MediaTV Digital Home (DVB-C/T), passive Asus GT610. SW: Ubuntu 13.04 minimal (ohne grafische Oberfläche) per SSD

wirbel

Im Forum Zuhause

Posts: 9,911

Location: Berlin

  • Send private message

10

Sunday, April 4th 2010, 1:47pm

Dann ist dort die Datei util.h von VDR nicht original.

Dr. Seltsam

Im Forum Zuhause

  • "Dr. Seltsam" started this thread

Posts: 9,964

Location: 3. Planet des Sonnensystems

Occupation: Organisator

  • Send private message

11

Sunday, April 4th 2010, 1:51pm

es ist die originale aus vdr-1.7.14

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//taken and adapted from libdtv, (c) Rolf Hakenes
class CRC32 {
public:
   CRC32(const char *d, int len, u_int32_t CRCvalue=0xFFFFFFFF);
   bool isValid() { return crc32(data, length, value) == 0; }
   static bool isValid(const char *d, int len, u_int32_t CRCvalue=0xFFFFFFFF) { return crc32(d, len, CRCvalue) == 0; }
   static u_int32_t crc32(const char *d, int len, u_int32_t CRCvalue);
protected:
   static u_int32_t crc_table[256];

   const char *data;
   int length;
   u_int32_t value;
};
VDR 1: Silverstone LC20, Cougar A300/R, MSI C847MS-E33, passive Asus GT520, KNC One DVB-C, Cine CT V6, WD10EACS; Atric-IR-Einschalter. SW: yavdr 0.5 per SSD
VDR 2: im Aufbau: ACT-620 mit Coba-NT, Asrock B75 Pro3-M, Celeron G540, Sundtek MediaTV Digital Home (DVB-C/T), passive Asus GT610. SW: Ubuntu 13.04 minimal (ohne grafische Oberfläche) per SSD

Dr. Seltsam

Im Forum Zuhause

  • "Dr. Seltsam" started this thread

Posts: 9,964

Location: 3. Planet des Sonnensystems

Occupation: Organisator

  • Send private message

12

Sunday, April 4th 2010, 1:52pm

ah ja, dann gab es da wohl die von Dir vorgeschlagene Änderung
VDR 1: Silverstone LC20, Cougar A300/R, MSI C847MS-E33, passive Asus GT520, KNC One DVB-C, Cine CT V6, WD10EACS; Atric-IR-Einschalter. SW: yavdr 0.5 per SSD
VDR 2: im Aufbau: ACT-620 mit Coba-NT, Asrock B75 Pro3-M, Celeron G540, Sundtek MediaTV Digital Home (DVB-C/T), passive Asus GT610. SW: Ubuntu 13.04 minimal (ohne grafische Oberfläche) per SSD

Dr. Seltsam

Im Forum Zuhause

  • "Dr. Seltsam" started this thread

Posts: 9,964

Location: 3. Planet des Sonnensystems

Occupation: Organisator

  • Send private message

13

Sunday, April 4th 2010, 2:07pm

so, gefunden: in vdr-1.7.1 wurde die Funktion in public verschoben

mal sehen, vielleicht findet mini73 ja eine Lösung, wie man das Plugin auch ohne Patchen für kleinere vdr-Versionen bauen kann.
VDR 1: Silverstone LC20, Cougar A300/R, MSI C847MS-E33, passive Asus GT520, KNC One DVB-C, Cine CT V6, WD10EACS; Atric-IR-Einschalter. SW: yavdr 0.5 per SSD
VDR 2: im Aufbau: ACT-620 mit Coba-NT, Asrock B75 Pro3-M, Celeron G540, Sundtek MediaTV Digital Home (DVB-C/T), passive Asus GT610. SW: Ubuntu 13.04 minimal (ohne grafische Oberfläche) per SSD

14

Sunday, April 4th 2010, 2:19pm

Quoted

Original von Dr. Seltsam
so, gefunden: in vdr-1.7.1 wurde die Funktion in public verschoben

mal sehen, vielleicht findet mini73 ja eine Lösung, wie man das Plugin auch ohne Patchen für kleinere vdr-Versionen bauen kann.


Denke wäre z.B. eine Helferklasse, welche die Funktion crc32 public macht

in etwa in der der Form :

Source code

1
2
3
4
5
6
7
8
9
class pvrCRC32 : public SI::CRC32 {
public:
  inline static u_int32_t pvrcrc32 (const char *d, int len, u_int32_t CRCvalue) {
    return SI::CRC32::crc32(d,len,CRCvalue);
  }
}


int crc = pvrCRC32::pvrcrc32((const char*)(pat_buffer + 5), 12, 0xFFFFFFFF);
System: VDR 2.0 unter Debian Wheezy
Aktive Projekte : Radiorecorder Web GUI | DVD-Switch Plugin | targa VFD Plugin | XXV - Xtreme eXtension for VDR

mini73

Moderator

Posts: 5,806

Location: Flensburg

  • Send private message

15

Sunday, April 4th 2010, 3:57pm

Moin!

Quoted

Original von Hulk
Denkbar wäre z.B. eine Helferklasse, welche die Funktion crc32 public macht

Ja, das ist eine Idee. Sobald mein Osterbesuch wieder weg ist, werde ich es einbauen.

mini.

meine Signatur

vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
vdr: yaVDR 0.2/pvr350 @ Sempron 64 LE-1200, MSI K9MM-V, 1x PVR350, 2x Satelco EasyWatch DVB-C
hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
Plugins: | avahi4vdr | dbus2vdr | dynamite | noepg | pvrinput | sundtek |
pre-alpha Plugins: | ddci CI-Support für DD/L4M (siehe Post 1048374) |

16

Sunday, April 4th 2010, 4:29pm

Hi,

wie schaut es eigentlich mit dem Support fuer die HVR-3000/HVR-4000 aus?

CU
9000h

mini73

Moderator

Posts: 5,806

Location: Flensburg

  • Send private message

17

Sunday, April 4th 2010, 4:35pm

Moin!

Das sind Hybrid-Karten, richtig? Kann man die Tuner getrennt voneinander benutzen oder nur exklusiv? Wenn nur exklusiv, dann muss es ein Plugin geben, das beide Devices verwaltet, also ein kombiniertes DVB/V4L-Plugin.
Kann man das normale DvbDevice im vdr eigentlich deaktivieren?

mini.

meine Signatur

vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
vdr: yaVDR 0.2/pvr350 @ Sempron 64 LE-1200, MSI K9MM-V, 1x PVR350, 2x Satelco EasyWatch DVB-C
hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
Plugins: | avahi4vdr | dbus2vdr | dynamite | noepg | pvrinput | sundtek |
pre-alpha Plugins: | ddci CI-Support für DD/L4M (siehe Post 1048374) |

Dr. Seltsam

Im Forum Zuhause

  • "Dr. Seltsam" started this thread

Posts: 9,964

Location: 3. Planet des Sonnensystems

Occupation: Organisator

  • Send private message

18

Sunday, April 4th 2010, 4:35pm

Quoted

Original von 9000H
wie schaut es eigentlich mit dem Support fuer die HVR-3000/HVR-4000 aus?

das sind beides Karten ohne Hardware-Encoder, also nicht die Zielgruppe des Plugins
VDR 1: Silverstone LC20, Cougar A300/R, MSI C847MS-E33, passive Asus GT520, KNC One DVB-C, Cine CT V6, WD10EACS; Atric-IR-Einschalter. SW: yavdr 0.5 per SSD
VDR 2: im Aufbau: ACT-620 mit Coba-NT, Asrock B75 Pro3-M, Celeron G540, Sundtek MediaTV Digital Home (DVB-C/T), passive Asus GT610. SW: Ubuntu 13.04 minimal (ohne grafische Oberfläche) per SSD

mini73

Moderator

Posts: 5,806

Location: Flensburg

  • Send private message

19

Sunday, April 4th 2010, 4:46pm

Quoted

Original von Dr. Seltsam
das sind beides Karten ohne Hardware-Encoder, also nicht die Zielgruppe des Plugins

Das ist dann wohl eher Gebiet des alten analogtv-Plugins mit on-the-fly-Encoding, das leider nicht mehr weiterentwickelt wird... Vielleicht ja irgendwann als neues Plugin, aber da gibt's keine Versprechungen.
Und erst mal ist dafür auch keine Zeit...

mini.

meine Signatur

vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
vdr: yaVDR 0.2/pvr350 @ Sempron 64 LE-1200, MSI K9MM-V, 1x PVR350, 2x Satelco EasyWatch DVB-C
hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
Plugins: | avahi4vdr | dbus2vdr | dynamite | noepg | pvrinput | sundtek |
pre-alpha Plugins: | ddci CI-Support für DD/L4M (siehe Post 1048374) |

Dr. Seltsam

Im Forum Zuhause

  • "Dr. Seltsam" started this thread

Posts: 9,964

Location: 3. Planet des Sonnensystems

Occupation: Organisator

  • Send private message

20

Sunday, April 4th 2010, 4:49pm

Quoted

Original von mini73
Das sind Hybrid-Karten, richtig? Kann man die Tuner getrennt voneinander benutzen oder nur exklusiv? Wenn nur exklusiv, dann muss es ein Plugin geben, das beide Devices verwaltet, also ein kombiniertes DVB/V4L-Plugin.
Kann man das normale DvbDevice im vdr eigentlich deaktivieren?


Mit der HVR 1900 (USB mit Analog/Hardwareencoder und DVB-T) habe ich da schon Erfahrungen gesammelt. Mit vdr geht nur entweder/oder.
vdr findet normalerweise immer zuerst das dvb device und hält es während der Laufzeit von vdr geöffnet (u.a. wegen EPG-Scan). Wenn danach pvrinput lädt und auf das analoge device zugreifen will, ist dieses bereits blockiert.

Lösung: Beim Laden des Treibermoduls pvrusb2 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 FF-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.

Eine weitere Möglichkeit ist, unter Verwendung des vdr-Parameters -D gezielt nur diejenigen DVB devices festzulegen, die vdr benutzen darf.

Für pvrusb2-basierte Geräte gibt es noch eine dritte Möglichkeit: man kann den Treiber ohne DVB-Unterstützung kompilieren.
VDR 1: Silverstone LC20, Cougar A300/R, MSI C847MS-E33, passive Asus GT520, KNC One DVB-C, Cine CT V6, WD10EACS; Atric-IR-Einschalter. SW: yavdr 0.5 per SSD
VDR 2: im Aufbau: ACT-620 mit Coba-NT, Asrock B75 Pro3-M, Celeron G540, Sundtek MediaTV Digital Home (DVB-C/T), passive Asus GT610. SW: Ubuntu 13.04 minimal (ohne grafische Oberfläche) per SSD