Hi all,
after applying the patch to strip the header, it is now possible to replay
ac3data from Pro7 and from Premiere World. Strangely the header strip is
not necessary at Pro7 .. here it works with and without header ... on PW
the header must be striped for ac3dec.
I'm not an expert regarding mpeg2 .. but striping the PTS should be no
problem at all because the external programm cannot sync with the video.
Maybe vdr should check the PTS before striping it to get the most possible
sync before the stream leaves VDR ?!?!
Something like:
-analyze pts
-sync via pts to video
-strip header
-send to external pipe
Greetings
Stefan
P.S. Klaus again nice work ... and a dream come true ... a VDR Box with AC3
... wwowwwww
Klaus Schmidinger
<Klaus.Schmidinger@c An: [EMAIL PROTECTED]
adsoft.de> Kopie:
Gesendet von: Thema: [linux-dvb] Re: Antwort: Re:
AW: Antwort: AW: Re: VDR: first step
[EMAIL PROTECTED] towards AC3sound
26.06.2001 00:01
Klaus Schmidinger wrote:
>
> [EMAIL PROTECTED] wrote:
> >
> > Maybe we find the difference from Pro7 to Premiere World in the PES
Header
> > ....
> >
> > maybe pro7 sends the pes header in a way ac3dec recognize hem and
strips
> > them ... Klaus can you make a testoutput with striped pes header from
> > Premiere World to send it to ac3dec ... (or maybe a small tool to strip
the
> > headers after having the stream in a file)
>
> Locate function cReplayBuffer::StripAudioPackets() in dvbapi.c and make
the
> following change to strip the PES headers:
>
> case 0xBD: // dolby
> if (Except && dolbyDev) {
> --- int written = 0;
> +++ int written = b[i + 8] + 9;
> int n = l;
> while (n > 0) {
> int w = fwrite(&b[i + written], 1, n, dolbyDev);
> if (w < 0) {
> LOG_ERROR;
> break;
> }
> n -= w;
> written += w;
> }
> }
> // continue with deleting the data - otherwise it
disturbs DVB replay
>
> I hope I've got it right, haven't tested it...
Argggghhhh....
Of course 'n' has to be reduced as well, so the complete patch is
case 0xBD: // dolby
if (Except && dolbyDev) {
--- int written = 0;
--- int n = l;
+++ int written = b[i + 8] + 9;
+++ int n = l - written;
while (n > 0) {
int w = fwrite(&b[i + written], 1, n, dolbyDev);
if (w < 0) {
LOG_ERROR;
break;
}
n -= w;
written += w;
}
}
// continue with deleting the data - otherwise it disturbs
DVB replay
Sorry 'bout that - it's late already...
Klaus
--
_______________________________________________________________
Klaus Schmidinger Phone: +49-8635-6989-10
CadSoft Computer GmbH Fax: +49-8635-6989-40
Hofmark 2 Email: [EMAIL PROTECTED]
D-84568 Pleiskirchen, Germany URL: www.cadsoft.de
_______________________________________________________________
--
Info:
To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe
linux-dvb" as subject.
--
Info:
To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as
subject.