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 -- AC3 loop through sound card http://bitstreamout.sourceforge.net/ Howto http://www.vdr-portal.de/board/thread.php?threadid=1958 ------------------------------------------------------------------ "Having a smoking section in a restaurant is like having a peeing section in a swimming pool." -- Edward Burr