Re: [vdr] TS Play Plugin - breaks streamdev and radio plugins

2010-04-14 Thread Udo Richter
Am 14.04.2010 09:24, schrieb Frank Schmirler:
> I attached a patch for streamdev, making it automatically detect the tsplay
> patch. Can you give it a try? 

> -#if VDRVERSNUM >= 10703
> +#if VDRVERSNUM >= 10703 || defined(MAXVIDEOFILESIZETS)

Hey, good idea to use this #define for detection!

I didn't really notice this topic until now, because of the misleading
TS Play Plugin - not Patch.

I already did plan to add some version detection to the tsplay patch, I
just didn't do it until now. I'll upload a 0.2 version with detection
plus some patches ASAP, which is hopefully on weekend.

Cheers,

Udo

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] TS Play Plugin - breaks streamdev and radio plugins

2010-04-14 Thread Frank Schmirler
On Wed, 14 Apr 2010 07:37:37 +1200, Simon Baxter wrote
> Sorry Frank - definitely patched.  I just tried cleaning and 
> recompiling everything, don't seem to be getting the IsPesRecording 
> function error, but am still getting the cIndexFile mismatch:
> 
> server/recplayer.c: In member function 'uint64_t 
> cRecPlayer::positionFromFrameNumber(uint32_t)':
> server/recplayer.c:253: error: no matching function for call to 
> 'cIndexFile::Get(int, uchar*, int*)'
> ../../../include/vdr/recording.h:229: note: candidates are: bool 
> cIndexFile::Get(int, uint16_t*, off_t*, uchar*, int*)
> ../../../include/vdr/recording.h:231: note: int 
> cIndexFile::Get(uint16_t, off_t)
> make: *** [server/recplayer.o] Error 1
> 
> I don't get it - it's calling a Get(int, uchar*, int*), which are 
> defined Get(int, uint16_t*, off_t*, uchar*, int*)  ??

Great - almost there. Before your cleanup, the compiler complained about

no matching function for call to 'cIndexFile::Get(int, uint16_t*, off_t*)'

now it's

no matching function for call to 'cIndexFile::Get(int, uchar*, int*)'

So this time the "#if VDRVERSNUM >= 10703" in streamdev's server/recplayer.c
wasn't changed or not changed correctly. It should read "#if 1".

I attached a patch for streamdev, making it automatically detect the tsplay
patch. Can you give it a try? Apparently you are using a patched streamdev.
According to one of your previous mails there's one '#if' more. Please modify
this additional '#if' as in the patch.

Regards,
Frank

Index: server/recplayer.c
===
RCS file: /var/cvsroot/streamdev/server/recplayer.c,v
retrieving revision 1.1
diff -u -r1.1 recplayer.c
--- server/recplayer.c	1 Jul 2009 11:00:49 -	1.1
+++ server/recplayer.c	14 Apr 2010 06:31:09 -
@@ -34,7 +34,7 @@
 
   // FIXME find out max file path / name lengths
 
-#if VDRVERSNUM >= 10703
+#if VDRVERSNUM >= 10703 || defined(MAXVIDEOFILESIZETS)
   indexFile = new cIndexFile(recording->FileName(), false, rec->IsPesRecording());
 #else
   indexFile = new cIndexFile(recording->FileName(), false);
@@ -58,7 +58,7 @@
   for(i = 1; i < 1000; i++)
   {
 
-#if APIVERSNUM < 10703
+#if APIVERSNUM < 10703 || !defined(MAXVIDEOFILESIZETS)
 snprintf(fileName, 2047, "%s/%03i.vdr", recording->FileName(), i);
 //log->log("RecPlayer", Log::DEBUG, "FILENAME: %s", fileName);
 file = fopen(fileName, "r");
@@ -99,7 +99,7 @@
 
   char fileName[2048];
 
-#if APIVERSNUM >= 10703
+#if APIVERSNUM >= 10703 || defined(MAXVIDEOFILESIZETS)
   snprintf(fileName, 2047, "%s/%05i.ts", recording->FileName(), index);
   isyslog("openFile called for index %i string:%s", index, fileName);
 
@@ -222,7 +222,7 @@
 {
   if (!indexFile) return 0;
 
-#if VDRVERSNUM >= 10703
+#if VDRVERSNUM >= 10703 || defined(MAXVIDEOFILESIZETS)
   uint16_t retFileNumber;
   off_t retFileOffset;
 #else
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] TS Play Plugin - breaks streamdev and radio plugins

2010-04-13 Thread Simon Baxter

Then please check VDR's recording.h. The missing IsPesRecording member
function and the parameter type mismatch of cIndexFile::Get both indicate 
that

recording.h is unpatched.

In vdr-1.6.0-2-tsplay-0.1.diff you will find the modifications to 
recording.h

starting at line 1376.



Sorry Frank - definitely patched.  I just tried cleaning and recompiling 
everything, don't seem to be getting the IsPesRecording function error, but 
am still getting the cIndexFile mismatch:


server/recplayer.c: In member function 'uint64_t 
cRecPlayer::positionFromFrameNumber(uint32_t)':
server/recplayer.c:253: error: no matching function for call to 
'cIndexFile::Get(int, uchar*, int*)'
../../../include/vdr/recording.h:229: note: candidates are: bool 
cIndexFile::Get(int, uint16_t*, off_t*, uchar*, int*)
../../../include/vdr/recording.h:231: note: int 
cIndexFile::Get(uint16_t, off_t)

make: *** [server/recplayer.o] Error 1

I don't get it - it's calling a Get(int, uchar*, int*), which are defined 
Get(int, uint16_t*, off_t*, uchar*, int*)  ??




___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] TS Play Plugin - breaks streamdev and radio plugins

2010-04-13 Thread Frank Schmirler
On Tue, 13 Apr 2010 21:58:16 +1200, Simon Baxter wrote
> > The tsplay patch adds this member to VDR's cRecording class. So probably 
> > the
> > header files are not up-to-date. Try a "make include-dir" in the VDR 
> > source
> > directory, then recompile streamdev.
> 
> Nope, same problem:
> 
> make include-dir
> make plugins
> 
> server/recplayer.c: In constructor 'cRecPlayer::cRecPlayer(const 
> cRecording*)':
> server/recplayer.c:38: error: 'const class cRecording' has no member 
> named 'IsPesRecording' server/recplayer.c: In member function 
> 'uint64_t cRecPlayer::positionFromFrameNumber(uint32_t)': 
> server/recplayer.c:253: error: no matching function for call to 
> 'cIndexFile::Get(int, uint16_t*, off_t*)' 
> ../../../include/vdr/recording.h:215: note: candidates are: bool 
> cIndexFile::Get(int, uchar*, int*, uchar*, int*) 
> ../../../include/vdr/recording.h:217: note: int 
> cIndexFile::Get(uchar, int) make[1]: *** [server/recplayer.o] Error 
> 1 make[1]: Leaving directory `/root/vdr-1.6.0/PLUGINS/src/streamdev'

Then please check VDR's recording.h. The missing IsPesRecording member
function and the parameter type mismatch of cIndexFile::Get both indicate that
recording.h is unpatched.

In vdr-1.6.0-2-tsplay-0.1.diff you will find the modifications to recording.h
starting at line 1376.

Regards,
Frank

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] TS Play Plugin - breaks streamdev and radio plugins

2010-04-13 Thread Simon Baxter
The tsplay patch adds this member to VDR's cRecording class. So probably 
the
header files are not up-to-date. Try a "make include-dir" in the VDR 
source

directory, then recompile streamdev.


Nope, same problem:

make include-dir
make plugins

server/recplayer.c: In constructor 'cRecPlayer::cRecPlayer(const 
cRecording*)':
server/recplayer.c:38: error: 'const class cRecording' has no member named 
'IsPesRecording'
server/recplayer.c: In member function 'uint64_t 
cRecPlayer::positionFromFrameNumber(uint32_t)':
server/recplayer.c:253: error: no matching function for call to 
'cIndexFile::Get(int, uint16_t*, off_t*)'
../../../include/vdr/recording.h:215: note: candidates are: bool 
cIndexFile::Get(int, uchar*, int*, uchar*, int*)
../../../include/vdr/recording.h:217: note: int 
cIndexFile::Get(uchar, int)

make[1]: *** [server/recplayer.o] Error 1
make[1]: Leaving directory `/root/vdr-1.6.0/PLUGINS/src/streamdev'



___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] TS Play Plugin - breaks streamdev and radio plugins

2010-04-13 Thread Frank Schmirler
On Tue, 13 Apr 2010 06:42:49 +1200, Simon Baxter wrote
> yes, the streamdev compile now fails with with:
> 
> server/recplayer.c: In constructor âcRecPlayer::cRecPlayer(const 
> cRecording*)â:
> server/recplayer.c:38: error: âconst class cRecordingâ has no member 
> named âIsPesRecordingâ server/recplayer.c: In member function 

The tsplay patch adds this member to VDR's cRecording class. So probably the
header files are not up-to-date. Try a "make include-dir" in the VDR source
directory, then recompile streamdev.

Regards,
Frank

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] TS Play Plugin - breaks streamdev and radio plugins

2010-04-12 Thread Simon Baxter

Should be fine - is it still failing?


yes, the streamdev compile now fails with with:

server/recplayer.c: In constructor âcRecPlayer::cRecPlayer(const 
cRecording*)â:
server/recplayer.c:38: error: âconst class cRecordingâ has no member named 
âIsPesRecordingâ
server/recplayer.c: In member function âuint64_t 
cRecPlayer::positionFromFrameNumber(uint32_t)â:
server/recplayer.c:253: error: no matching function for call to 
âcIndexFile::Get(int, uint16_t*, off_t*)â
../../../include/vdr/recording.h:215: note: candidates are: bool 
cIndexFile::Get(int, uchar*, int*, uchar*, int*)
../../../include/vdr/recording.h:217: note: int 
cIndexFile::Get(uchar, int)

make[1]: *** [server/recplayer.o] Error 1
make[1]: Leaving directory `/root/vdr-1.6.0/PLUGINS/src/streamdev'


(on an off topic, I've never worked out why gcc puts â instead of ' - gcc 
seems to be the only thing that does it!)




___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] TS Play Plugin - breaks streamdev and radio plugins

2010-04-12 Thread Frank Schmirler
On Mon, 12 Apr 2010 21:55:20 +1200, Simon Baxter wrote
> Have I got this wrong?
> 
> [r...@freddy server]# diff recplayer.c recplayer.c.orig
> 37c37
> < #if 1
> ---
> > #if VDRVERSNUM >= 10703
> 61c61
> < #if 0
> ---
> > #if APIVERSNUM < 10703
> 102c102
> < #if 1
> ---
> > #if APIVERSNUM >= 10703
> 138c138
> < #if 0
> ---
> > #if APIVERSNUM < 10703
> 245c245
> < #if 1
> ---
> > #if VDRVERSNUM >= 10703

Should be fine - is it still failing?

Regards,
Frank

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] TS Play Plugin - breaks streamdev and radio plugins

2010-04-12 Thread Simon Baxter
in streamdev's server/recplayer.c, replacing "#if {API,VDR}VERSNUM >= 
10703"

by "#if 1" and "#if APIVERSNUM < 10703" by "#if 0" should do the trick.


Have I got this wrong?

[r...@freddy server]# diff recplayer.c recplayer.c.orig
37c37
< #if 1
---

#if VDRVERSNUM >= 10703

61c61
< #if 0
---

#if APIVERSNUM < 10703

102c102
< #if 1
---

#if APIVERSNUM >= 10703

138c138
< #if 0
---

#if APIVERSNUM < 10703

245c245
< #if 1
---

#if VDRVERSNUM >= 10703



___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] TS Play Plugin - breaks streamdev and radio plugins

2010-04-12 Thread Frank Schmirler
Hi,

On Wed, 7 Apr 2010 18:52:20 +1200, Simon Baxter wrote
> I'm trying to use Udo Richter's plugin to play .ts recordings in vdr-
> 1.6.0 
> (http://www.udo-richter.de/vdr/patches.en.html) but it breaks a 
> couple of plugins
> 
> streamdev plugin:
> 
> server/recplayer.c: In member function âuint64_t 
> cRecPlayer::positionFromFrameNumber(uint32_t)â:
> server/recplayer.c:253: error: no matching function for call to 
> âcIndexFile::Get(int, uchar*, int*)â
> ../../../include/vdr/recording.h:229: note: candidates are: bool 
> cIndexFile::Get(int, uint16_t*, off_t*, uchar*, int*)
> ../../../include/vdr/recording.h:231: note: int 
> cIndexFile::Get(uint16_t, off_t)
> make: *** [server/recplayer.o] Error 1

in streamdev's server/recplayer.c, replacing "#if {API,VDR}VERSNUM >= 10703"
by "#if 1" and "#if APIVERSNUM < 10703" by "#if 0" should do the trick.

Regards,
Frank

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr