I was using vdr-1.3.1, and getting those errors. I've just compiled 1.3.23 and don't ALTHOUGH......
I'm doing the testing via a DEBUG_OSD=1 compile and a 'shell' because I have a slow running X problem at the moment.
1) The problem _may_ not be happenning now in version 1.3.23, although until I resolve my slow x problem I can't be sure
2) The Makefile in 1.3.23 no longer has the tags for DEBUG_OSD. Has this now been removed? I added : ifdef DEBUG_OSD DEFINES += -DDEBUG_OSD NCURSESLIB = -lncurses endif
to the Makefile, but the OSD shell-text OSD doesn't startup when I start vdr now??? Has this been removed??
Thanks
Simon ----- Original Message ----- From: "Reinhard Nissl" rnissl@gmx.de To: "Klaus Schmidinger's VDR" vdr@linuxtv.org Sent: Tuesday, May 03, 2005 10:06 PM Subject: Re: [vdr] xine-vdr NovaT "FIXME: xineDevice.c:1160"
Hi,
Simon Baxter wrote:
I've just setup my WinTV NovaT on a new (2.2Ghz) shuttle PC and built the xine-plugin components.
I created a new channels.conf file with scan and ran up VDR
On some channels I get screens and screens of information like : FIXME: xineDevice.c:1160 FIXME: xineDevice.c:970 FIXME: xineDevice.c:1126
I gather each specific XXXX number refers to capability needed on those specific channels??
any ideas?
Hhm, each of these locations checks, whether a PES packet starts with the byte sequence 00 00 01, and fails as the packets don't.
If you are using a recent VDR (1.3.20 and higher), please have a look at the attached patch. It fixes the so called class cPesAssembler.
Does the problem disappear if you record such a channel and then play the 001.vdr file directly with xine?
Can you provide me a sample recording (~ 5 MB)?
Bye.
Dipl.-Inform. (FH) Reinhard Nissl mailto:rnissl@gmx.de
--------------------------------------------------------------------------------
--- ../vdr-1.3.23-orig/device.c 2005-02-27 14:55:15.000000000 +0100 +++ device.c 2005-05-01 22:59:18.869069399 +0200 @@ -27,6 +27,7 @@ private: uint32_t tag; int length; int size;
- bool hasFragment; bool Realloc(int Size);
public: cPesAssembler(void); @@ -39,6 +40,7 @@ public: void Put(uchar c); void Put(const uchar *Data, int Length); bool IsPes(void);
- bool HasFragment(void); };
cPesAssembler::cPesAssembler(void) @@ -57,6 +59,12 @@ void cPesAssembler::Reset(void) { tag = 0xFFFFFFFF; length = 0;
- hasFragment = false;
+}
+bool cPesAssembler::HasFragment(void) +{
- return hasFragment || length > 0;
}
bool cPesAssembler::Realloc(int Size) @@ -67,6 +75,7 @@ bool cPesAssembler::Realloc(int Size) if (!data) { esyslog("ERROR: can't allocate memory for PES assembler"); length = 0;
hasFragment = false; size = 0; return false; }
@@ -77,6 +86,7 @@ bool cPesAssembler::Realloc(int Size) void cPesAssembler::Put(uchar c) { if (!length) {
tag = (tag << 8) | c; if ((tag & 0xFFFFFF00) == 0x00000100) { if (Realloc(4)) {hasFragment = true;
@@ -985,7 +997,7 @@ int cDevice::PlayPes(const uchar *Data, return 0; } int Result = 0;
- if (pesAssembler->Length()) {
- if (pesAssembler->HasFragment()) { // Make sure we have a complete PES header: while (pesAssembler->Length() < 6 && Length > 0) { pesAssembler->Put(*Data++);
--------------------------------------------------------------------------------
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
--------------------------------------------------------------------------------
No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.11.3 - Release Date: 03/05/2005