On Mon, Mar 14, 2005 at 06:01:02PM +0100, Roland Praml wrote:
I've figured out if I replay the file with vdr, the bso(replay) thread doesn't start with newer recordings
And you have choosen the AC3 audio track during replay the recording with the green button? I've this question because this is the first report of that kind.
yes i've tested it several times. I've tracked down the problem a little bit. Data is sent to the plugin but the replay thread doesn't start because ScanPayOfPS1 fails.
I've commented out these two lines: case 0x0b: // if ((uint_16)dvb != AC3magic) // break; and now it works.
Hmmm ... this implies that the offset
off_t o = (off_t) (ul & 0x0000ffff) + 3;
is not correct because the stream is moved forward
dvb += o;
to the start of the magic word of the frame which should start there. As this works with stuff from DVD trailers I assume that something goes wrong elsewhere, e.g. in the cDolbyRepacker class.
[seeking VDR sources]
OK it _is_ a bug in the cDolbyRepacker class, therefore I've added Reinhard to CC.
IMHO the declaration of AppendSubStreamID includes an error:
void cDolbyRepacker::AppendSubStreamID(void) { if (subStreamId) { pesHeader[pesHeaderLen++] = subStreamId; pesHeader[pesHeaderLen++] = 0x00; pesHeader[pesHeaderLen++] = 0x00; pesHeader[pesHeaderLen++] = 0x00; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The minimal size is 0x01 and never 0x00 } }
... OK, in the firmware I've included a workaround for such broken sub audio header. Nevertheless this should be corrected :^) ... Reinhard?
Werner