Re: [vdr] ERROR: video data stream broken on second dvb card , but szap works (new findings!)

2007-02-18 Thread Reinhard Nissl
Hi,

Dieter Bloms wrote:

> my primary dvb card works fine on both of my Twin-LNB connectors.
> I can switch the second card via szap and get a video stream via
> "cat /dev/dvb/adapter1/dvr0 > /tmp/bla" on H and V channels.
> VDR doesn't get data any data from H channels, but gets data from V
> channels.
> I will try to strace vdr and szap to get any difference, maybe they do
> it in a different way.

I've had a further look into szap's source how it detects the status
FE_LOCKED. Attached is an updated tuner patch which now also reports
details for FE_READ_STATUS.

One difference between VDR and szap regarding FE_READ_STATUS is, that
VDR only honors the read status when ioctl() returns 0 while szap prints
just an error when ioctl() returns -1.

Furthermore, VDR's handling of errno == EINTR seems to be wrong due to
the do {} while (0); loop.

BTW: I still assume, that your logfile reports a tuning timeout. If this
is no longer the case, then you may want to experiment with
WAIT_FOR_TUNER_LOCK in device.c.

Bye.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:[EMAIL PROTECTED]
--- ../vdr-1.4.5-orig/dvbdevice.c	2006-08-14 11:38:32.0 +0200
+++ dvbdevice.c	2007-02-18 12:23:47.0 +0100
@@ -147,6 +147,15 @@ bool cDvbTuner::Locked(int TimeoutMs)
   return tunerStatus >= tsLocked;
 }
 
+#include 
+static double now() { int e = errno; timeval t; gettimeofday(&t, 0); errno = e; return t.tv_sec + t.tv_usec / 1e6; }
+static int check(int c, int r, char *a, double t) { int e = errno; fprintf(stderr, "t: %.3lf, c: %d, r: %d, a: %s\n", t, c, r, a); errno = e; return r; } 
+static int check5(int status, int c, int r, char *a, double t) { int e = errno; fprintf(stderr, "t: %.3lf, c: %d, r: %d, a: %s => Status: %02x\n", t, c, r, a, status); errno = e; return r; } 
+#define CHECK5(s) ::check5(Status, cardIndex, s, #s, ::now())
+#define CHECK4(s) ::check(cardIndex, 0, s, ::now())
+#define CHECK3(s) ::check(cardIndex, s, #s, ::now())
+#define CHECK2(s) CHECK(::check(cardIndex, s, #s, ::now()))
+
 bool cDvbTuner::GetFrontendStatus(fe_status_t &Status, int TimeoutMs)
 {
   if (TimeoutMs) {
@@ -157,15 +166,16 @@ bool cDvbTuner::GetFrontendStatus(fe_sta
   ; // just to clear the event queue - we'll read the actual status below
 }
  }
-  do {
- int stat = ioctl(fd_frontend, FE_READ_STATUS, &Status);
- if (stat == 0)
-return true;
- if (stat < 0) {
-if (errno == EINTR)
-   continue;
+  while (1) {
+int stat = CHECK5(ioctl(fd_frontend, FE_READ_STATUS, &Status));
+if (stat == 0)
+   return true;
+if (stat < 0) {
+   if (errno == EINTR)
+  continue;
+   }
+break;
 }
- } while (0);
   return false;
 }
 
@@ -195,12 +205,12 @@ bool cDvbTuner::SetFrontend(void)
   for (char *CurrentAction = NULL; (da = diseqc->Execute(&CurrentAction)) != cDiseqc::daNone; ) {
   switch (da) {
 case cDiseqc::daNone:  break;
-case cDiseqc::daToneOff:   CHECK(ioctl(fd_frontend, FE_SET_TONE, SEC_TONE_OFF)); break;
-case cDiseqc::daToneOn:CHECK(ioctl(fd_frontend, FE_SET_TONE, SEC_TONE_ON)); break;
-case cDiseqc::daVoltage13: CHECK(ioctl(fd_frontend, FE_SET_VOLTAGE, SEC_VOLTAGE_13)); break;
-case cDiseqc::daVoltage18: CHECK(ioctl(fd_frontend, FE_SET_VOLTAGE, SEC_VOLTAGE_18)); break;
-case cDiseqc::daMiniA: CHECK(ioctl(fd_frontend, FE_DISEQC_SEND_BURST, SEC_MINI_A)); break;
-case cDiseqc::daMiniB: CHECK(ioctl(fd_frontend, FE_DISEQC_SEND_BURST, SEC_MINI_B)); break;
+case cDiseqc::daToneOff:   CHECK2(ioctl(fd_frontend, FE_SET_TONE, SEC_TONE_OFF)); break;
+case cDiseqc::daToneOn:CHECK2(ioctl(fd_frontend, FE_SET_TONE, SEC_TONE_ON)); break;
+case cDiseqc::daVoltage13: CHECK2(ioctl(fd_frontend, FE_SET_VOLTAGE, SEC_VOLTAGE_13)); break;
+case cDiseqc::daVoltage18: CHECK2(ioctl(fd_frontend, FE_SET_VOLTAGE, SEC_VOLTAGE_18)); break;
+case cDiseqc::daMiniA: CHECK2(ioctl(fd_frontend, FE_DISEQC_SEND_BURST, SEC_MINI_A)); break;
+case cDiseqc::daMiniB: CHECK2(ioctl(fd_frontend, FE_DISEQC_SEND_BURST, SEC_MINI_B)); break;
 case cDiseqc::daCodes: {
  int n = 0;
  uchar *codes = diseqc->Codes(n);
@@ -208,7 +218,7 @@ bool cDvbTuner::SetFrontend(void)
 struct dvb_diseqc_master_cmd cmd;
 memcpy(cmd.msg, codes, min(n, int(sizeof(cmd.msg;
 cmd.msg_len = n;
-CHECK(ioctl(fd_frontend, FE_DISEQC_SEND_MASTER_CMD, &cmd));
+CHECK2(ioctl(fd

[vdr] Strange delay in recordings with vdr-xine

2007-02-18 Thread Luca Olivetti
I recently (more on that below) started experiencing  a strange problem 
with vdr 1.4.5-1 and vdr-xine 0.7.6+network patches: while replaying a 
recording (either against a local copy of vdr or over the network) the 
only command that acts immediately is pause, every other one (skip one 
minute, ff, rew, stop) takes effect after a delay of 5-6 seconds, so, 
e.g., if I go back to the recordings menu, playback will still go on for 
5-6 seconds. This wouldn't be such a big problem if it wasn't for 
teletext subtitles, since they appear 5-6 seconds earlier (i.e. the osd 
is instantaneous while the replay is lagging 5 seconds).


The strange thing is that this didn't happen before, the only change is 
the laptop (but with the same hard disk: 3 months ago my laptop broke, I 
was given a similar one in which installed the old hard disk. Meanwhile 
I upgraded the kernel to 2.6.17, using the replacement laptop, with no 
problems, until now, when I got my repaired laptop back and this problem 
appeared).
The main difference between the 2 laptops is the video card: the current 
one has a mobility/radeon 9000 and 1400x1050 resolution, while the 
replacement one had an intel chipset, 1024x768. I upgraded vdr while 
using the replacement laptop, but I'm pretty sure I maintained the same 
version of vdr-xine all the time.


Bye
--
Luca

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


Re: [vdr] Strange delay in recordings with vdr-xine

2007-02-18 Thread Ilariu Raducan

I have the same problem with xineliboutput (xvdr:tcp://).
I don't remember when it all started but I don't think is related to xine.
This is just a guess, but it may be related to the problem with recordings.
When xine.. plugins worked OK I could record up to 5 channels in the
same time.
Now I can olny record 2 and the OSD has long delays after I start them (this
is without using xineliboutput, only local display from FF card)

Regards,
Ilariu

On 2/18/07, Luca Olivetti <[EMAIL PROTECTED]> wrote:


I recently (more on that below) started experiencing  a strange problem
with vdr 1.4.5-1 and vdr-xine 0.7.6+network patches: while replaying a
recording (either against a local copy of vdr or over the network) the
only command that acts immediately is pause, every other one (skip one
minute, ff, rew, stop) takes effect after a delay of 5-6 seconds, so,
e.g., if I go back to the recordings menu, playback will still go on for
5-6 seconds. This wouldn't be such a big problem if it wasn't for
teletext subtitles, since they appear 5-6 seconds earlier (i.e. the osd
is instantaneous while the replay is lagging 5 seconds).

The strange thing is that this didn't happen before, the only change is
the laptop (but with the same hard disk: 3 months ago my laptop broke, I
was given a similar one in which installed the old hard disk. Meanwhile
I upgraded the kernel to 2.6.17, using the replacement laptop, with no
problems, until now, when I got my repaired laptop back and this problem
appeared).
The main difference between the 2 laptops is the video card: the current
one has a mobility/radeon 9000 and 1400x1050 resolution, while the
replacement one had an intel chipset, 1024x768. I upgraded vdr while
using the replacement laptop, but I'm pretty sure I maintained the same
version of vdr-xine all the time.

Bye
--
Luca

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

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


Re: [vdr] ERROR: video data stream broken on second dvb card , but szap works (new findings!)

2007-02-18 Thread Ilariu Raducan

Hi,

I will ike accentuate the do {}while(0) behavior.
I've seen this in few projects including VDR and at least one plugin
(xineliboutput)
In a code like:
do {

   if (condition1)
   continue;
} while(condition2);
continue does not translate to a jump to "do", but to a jump to "while"
where the condition2 is evaluated.

do {
  if (condition1)
  continue;
} while(0);

if equivalent with:
do {
  if (condition1)
  break;
} while (0);

Regards,
Ilariu
On 2/18/07, Reinhard Nissl <[EMAIL PROTECTED]> wrote:


Hi,

Dieter Bloms wrote:

> my primary dvb card works fine on both of my Twin-LNB connectors.
> I can switch the second card via szap and get a video stream via
> "cat /dev/dvb/adapter1/dvr0 > /tmp/bla" on H and V channels.
> VDR doesn't get data any data from H channels, but gets data from V
> channels.
> I will try to strace vdr and szap to get any difference, maybe they do
> it in a different way.

I've had a further look into szap's source how it detects the status
FE_LOCKED. Attached is an updated tuner patch which now also reports
details for FE_READ_STATUS.

One difference between VDR and szap regarding FE_READ_STATUS is, that
VDR only honors the read status when ioctl() returns 0 while szap prints
just an error when ioctl() returns -1.

Furthermore, VDR's handling of errno == EINTR seems to be wrong due to
the do {} while (0); loop.

BTW: I still assume, that your logfile reports a tuning timeout. If this
is no longer the case, then you may want to experiment with
WAIT_FOR_TUNER_LOCK in device.c.

Bye.
--
Dipl.-Inform. (FH) Reinhard Nissl
mailto:[EMAIL PROTECTED]

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



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


[vdr] Capabilities

2007-02-18 Thread Bernd Juraschek
Hello,

I've problems with my statusleds plugin. If vdr is not running as root
all capabilities are dropped - except the one for setting the system
time.

My plugin wants to set the keyboard leds with the ioctl KDSETLED on
/dev/console. Unfortunately this ioctl requires one more capability.

Is there any way to get this capability? Should we extend the plugin
interface with a possibility for the plugins to specify needed caps?

Greetings,
Bernd

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


[vdr] RS-232 relay plugin adapted for the shutdown rewrite

2007-02-18 Thread Marko Mäkelä
On Sun, Jan 28, 2007 at 05:50:46PM +0100, Udo Richter wrote:
> Hi list,
> 
> I've finished a third version of the shutdown rewrite. Again there are 
> two patches available, one for VDR 1.5.0, and one with slight changes 
> for 1.4.x.
> 
> http://www.udo-richter.de/vdr/patches.html#shutdown
> http://www.udo-richter.de/vdr/patches.en.html#shutdown

I have adapted my "relay" plugin for this patch.  This plugin controls a
solid-state relay via the TxD line of a serial port, so that the
audio/video output equipment is powered off when the user is inactive.

http://www.iki.fi/~msmakela/software/vdr/vdr-relay-0.1.0.tgz
http://www.iki.fi/~msmakela/electronics/relay/index.en.html

Example of usage: vdr -P'relay --relay=/dev/ttyS0'

Note to Finnish users: the prototype relay box featured on the instructions
page is for sale, because at a later point, I installed the relay inside
the monitor to reduce the clutter of cables.

Marko

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


Re: [vdr] Capabilities

2007-02-18 Thread Patrick Cernko
Bernd Juraschek wrote:
> Hello,
> 
> I've problems with my statusleds plugin. If vdr is not running as root
> all capabilities are dropped - except the one for setting the system
> time.
> 
> My plugin wants to set the keyboard leds with the ioctl KDSETLED on
> /dev/console. Unfortunately this ioctl requires one more capability.
> 
> Is there any way to get this capability? Should we extend the plugin
> interface with a possibility for the plugins to specify needed caps?
> 

Why not simply document this fact in the installation guide:
"The plugin must have write access to /dev/console."
This is similar to the dvd or vcd plugin which need read/write access to
/dev/dvd resp. /dev/cdrom.

On my machine, I added the vdr user to the cdrom group. For
/dev/console, this might be a bit trickier: I would have to add vdr to
group tty AND give /dev/console rw-permissions for the group, but that
should suffice.

I don't know much about linux capabilities, but my feeling is, that they
are meant for things not represented by devices (which use the simpler
file-permissions model).

Just my 2 cents,
-- 
Patrick Cernko | mailto:[EMAIL PROTECTED] | http://www.errror.org

"Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt."
(anonym)



signature.asc
Description: OpenPGP digital signature
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Capabilities

2007-02-18 Thread Bernd Juraschek
> Why not simply document this fact in the installation guide:
> "The plugin must have write access to /dev/console."
> This is similar to the dvd or vcd plugin which need read/write access to
> /dev/dvd resp. /dev/cdrom.

Hmm - this sounds like a good idea ...

> On my machine, I added the vdr user to the cdrom group. For
> /dev/console, this might be a bit trickier: I would have to add vdr to
> group tty AND give /dev/console rw-permissions for the group, but that
> should suffice.
> 
> I don't know much about linux capabilities, but my feeling is, that they
> are meant for things not represented by devices (which use the simpler
> file-permissions model).

On my system /dev/console has r/w access for anyone but this is not
sufficient. I take a look into the kernel sources and there a two ways
to get the right to modify terminals with ioctl():

- the modified terminal is the controlling terminal for the process or
- the user has the capability to modify terminal settings

What can we do now?

Greetings,
Bernd

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


Re: [vdr] Capabilities

2007-02-18 Thread Patrick Cernko
Bernd Juraschek wrote:
>> I don't know much about linux capabilities, but my feeling is, that they
>> are meant for things not represented by devices (which use the simpler
>> file-permissions model).
> 
> On my system /dev/console has r/w access for anyone but this is not
> sufficient.

Damn. so much about file-permissions in /dev. :-(

> I take a look into the kernel sources and there a two ways
> to get the right to modify terminals with ioctl():
> 
> - the modified terminal is the controlling terminal for the process or

This is reflected by vdr's --terminal option. Are you sure, that you
must ioctl /dev/CONSOLE or is any other tty sufficient, must it be a
foreground tty or can it be a virtual screen not currently active, a
pseudo tty (of screen, sshd, KDE-konsole)? In the case, all that works,
I suggest adding a note to your documentation that the user MUST specify
the --terminal option of vdr and us stdin/stdout/stderr as
file-descriptors for the ioctl.

> - the user has the capability to modify terminal settings
> 

The Plugins are loaded long AFTER droping root rights, so I guess there
is no safe way for a plugin to request additional
permissions/capabilities. Maybe you can ask Klaus to also keep the
terminal setting caps, or provide a small patch witch allows the user to
do so when compiling vdr (or both ;-) ).

So long,
-- 
Patrick Cernko | mailto:[EMAIL PROTECTED] | http://www.errror.org

"Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt."
(anonym)



signature.asc
Description: OpenPGP digital signature
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] FF card AV sync problems, possible fix to VDR (fwd)

2007-02-18 Thread Kartsa

Reinhard Nissl kirjoitti:

Hi,

Kartsa wrote:

  

Should I do both these changes at the same time or separately?



I think you may apply both changes at the same time.

Bye.
  
So I would like to raise this one up again. After applying the two 
changes (dsyslog("TS continuity error (%d)", ccCounter) and { *FrameSize 
= 0; dsyslog("cAudioRepacker: FrameSize == 0"); } in remux.c) I still 
get these lines in log (and -l 3 in vdr startup)


vdr: [3600] cAudioRepacker(0xC0): skipped 232 bytes to sync on next 
audio frame
vdr: [3600] cAudioRepacker(0xC0): skipped 240 bytes to sync on next 
audio frame
vdr: [3600] cAudioRepacker(0xC0): skipped 492 bytes while syncing on 
next audio frame


Why does these skipping of bytes appear?

And there still occurs AV sync problem from time to time.

\\Kartsa



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


Re: [vdr] [RFC] Shutdown rewrite for 1.5.x, version 0.4

2007-02-18 Thread Udo Richter

Hi list,

I've finished a fourth version of the shutdown rewrite. Again there are 
two patches available, one for VDR 1.5.0, and one with slight changes 
for 1.4.x.


http://www.udo-richter.de/vdr/patches.html#shutdown
http://www.udo-richter.de/vdr/patches.en.html#shutdown


Changes:
- Renamed some identifiers:
  cSetup::NextWakeupEvent -> cSetup::NextWakeupTime
  cPlugin::NextWakeupEvent() -> cPlugin::WakeupTime()
  cPluginManager::GetNextWakeupEventPlugin() ->
cPluginManager::GetNextWakeupPlugin()

- Dropped running playback from the list of things that need
  confirmation on shutdown. Pressing power key while playback now shuts
  down just like in live mode. Automatic inactivity shutdown still wont
  happen while playback, since playback blocks housekeeping.

- Handle setup menu restart questions in cShutdown::ConfirmRestart()
- Do not handle setup menu restart as 'emergency exit' any more
- Act differently on SIGHUP:
  Restart VDR like on setup menu restart, but dont ask questions.
  Do nothing if anything blocks restart.

- The functionality of cThread::EmergencyExit(), vdr.c:ExitCode and
  vdr.c:Interrupted is now handled by cShutdown.
- Shutdown.Exit(int) now stops the main loop and lets VDR return int as
  error level
- cThread::EmergencyExit() remains as a wrapper
- vdr.c:LastSignal partially replaces vdr.c:Interrupted

- Dropped debug output from main loop

- i18n strings added for German and Finnish:
  "VDR will shut down later - Press power to force"
  "VDR schaltet später aus - Nochmal zum erzwingen"
  "VDR sammuu myöhemmin - pakota virtakytkimellä"

  "VDR will shut down in %s minutes"
  ( note that %s will be something like 4:30 )
  "VDR wird in %s Minuten ausschalten"
  "VDR sammuu %s minuutin kuluttua"

  "Editing - shut down anyway?" ( no longer cutting ;) )
  "Schneide - trotzdem ausschalten?"
  "Leikkaus kesken - sammutetaanko?"

  "Plugin %s wakes up in %ld min, continue?"
  "Plugin %s wacht in %ld Min auf, weiter?"
  "Laajennos %s herää %ld minuutin kuluttua - sammutetaanko?"
  ( is this too long? )

  "Editing - restart anyway?"
  "Schneide - trotzdem neu starten?"

  "Press any key to cancel restart"
  "Taste drücken, um Neustart abzubrechen"


Cheers,

Udo


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


[vdr] [ANNOUNCE] runvdr extreme 0.2

2007-02-18 Thread Udo Richter

Hi list,

I've updated the runvdr extreme script to version 0.2.

runvdr extreme is a runvdr script, just like the runvdr script included 
in the VDR distribution. Additionally, it supports configuration files, 
lots of command line options and more features.


-> http://www.udo-richter.de/vdr/scripts.en.html#runvdr-extreme

Fix: Several small fixes previously released as 0.1.1
New: Pass DVBLOAD and DVBUNLOAD to eval, this allows to add more than
  one line to these entries, or even complete small scripts.
New: Load ~/.runvdr.conf as default, load /etc/runvdr.conf as fallback
  If you're not running as root, you can now redirect all file paths to
  your home directory.
New: INCLUDE directive to load other config file
  For example, load a global config from the user config.
New: -P "-plugin" drops plugin from plugin load list. Same for -D
  This allows to drop just one plugin but keep all the others.
Change: LANGUAGE now sets LC_ALL, not LANG.
  LC_ALL has highest precedence.


Cheers,

Udo

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


Re: [vdr] [RFC] Shutdown rewrite for 1.5.x, version 0.4 - Finnish i18n

2007-02-18 Thread Marko Mäkelä
On Sun, Feb 18, 2007 at 10:09:54PM +0100, Udo Richter wrote:
>   "Editing - shut down anyway?" ( no longer cutting ;) )
>   "Schneide - trotzdem ausschalten?"
>   "Leikkaus kesken - sammutetaanko?"

Hmm, this is inconsistent with most Finnish translations of
"editing" ("muokkaus") in i18n.c.  I'd replace "Leikkaus" with
"Muokkaus".

>   "Editing - restart anyway?"
>   "Schneide - trotzdem neu starten?"
"Muokkaus kesken - käynnistetäänkö uudelleen?"

>   "Press any key to cancel restart"
>   "Taste drücken, um Neustart abzubrechen"
"Peru uudelleenkäynnistäminen painamalla mitä tahansa nappia"

Shouldn't it be "button" (Knopf) instead of "key" (Taste)?  I would
guess that most people control vdr with a remote control unit instead
of a keyboard.  Besides, "nappia" is shorter than "näppäintä" (as in
the Finnish translation of "Press any key to cancel shutdown").

Marko

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


Re: [vdr] FF card AV sync problems, possible fix to VDR (fwd)

2007-02-18 Thread Reinhard Nissl
Hi,

Kartsa wrote:

> So I would like to raise this one up again. After applying the two
> changes (dsyslog("TS continuity error (%d)", ccCounter) and { *FrameSize
> = 0; dsyslog("cAudioRepacker: FrameSize == 0"); } in remux.c) I still
> get these lines in log (and -l 3 in vdr startup)
> 
> vdr: [3600] cAudioRepacker(0xC0): skipped 232 bytes to sync on next
> audio frame
> vdr: [3600] cAudioRepacker(0xC0): skipped 240 bytes to sync on next
> audio frame
> vdr: [3600] cAudioRepacker(0xC0): skipped 492 bytes while syncing on
> next audio frame
> 
> Why does these skipping of bytes appear?

When do you get these lines?

They are OK just after starting a recording or starting transfer mode.

cAudioRepacker tries to suppress this message while initially syncing
but as the sync pattern is allowed to appear as audio frame data, it is
likely that cAudioRepacker get's in sync by mistake.

After having synced, cAudioRepacker uses the indicated frame length as a
guide when looking for the next audio packet. If the sync pattern isn't
found at the guided position, it will seek for it and report the number
of bytes skipped to find it.

This procedure is executed all over the time and once cAudioRepacker has
found a real sync pattern, the indicated frame length will guide
cAudioRepacker precisely to the next audio frame.

Bye.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:[EMAIL PROTECTED]

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