Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: VDR developer version 1.1.32



On Mon, May 19, 2003 at 10:04:52PM +0200, Thorsten Schnebeck wrote:
> Hi!
> 
> Am Montag, 19. Mai 2003 14:34 schrieben Sie:
> 
> > @@ -510,6 +510,8 @@
> >                if (!p) {
> >                   p = playFrame->Data();
> >                   pc = playFrame->Count();
> > +                 if (p && AudioTrack > 0)
> > +                    StripAudioPackets(playFrame->StripData(), pc,
> > AudioTrack); }
> >                if (p) {
> >                   int w = PlayVideo(p, pc);
> > ----------------------------------------------------------------------
> 
> ^^^^^
> Is  this part of the patch ok? Or are there two Versions of 1.1.32?
> 
> Here its:
> 
>             // Play the frame:
> 
>            if (playFrame) {
>               if (!p) {
>                  p = playFrame->Data();
>                  pc = playFrame->Count();
>                  if (firstPacket) {
>                     cRemux::SetBrokenLink(p, pc);
>                     firstPacket = false;
>                     }
>                  }
>               if (p) {
>                  int w = PlayVideo(p, pc);
>                  if (w > 0) {
>                     p += w;
>                     pc -= w;
>                     }
> 
> I miss the "firstPacket"-stuff in the patch?!

OK ... here we go:

-----------------------------------------------------------------------------
--- dvbplayer.c
+++ dvbplayer.c	Mon May 19 16:02:03 2003
@@ -477,8 +477,8 @@
                     }
                  int r = nonBlockingFileReader->Read(replayFile, b, Length);
                  if (r > 0) {
-                    if (AudioTrack >= 0)
-                       StripAudioPackets(b, r, AudioTrack);
+                    if (AudioTrack == 0)
+                       StripAudioPackets(b, r);
                     readFrame = new cFrame(b, -r, ftUnknown, readIndex); // hands over b to the ringBuffer
                     b = NULL;
                     }
@@ -514,9 +514,13 @@
               if (!p) {
                  p = playFrame->Data();
                  pc = playFrame->Count();
-                 if (firstPacket) {
-                    cRemux::SetBrokenLink(p, pc);
-                    firstPacket = false;
+                 if (p) {
+                    if (firstPacket) {
+                       cRemux::SetBrokenLink(p, pc);
+                       firstPacket = false;
+                       }
+                    if (AudioTrack > 0)
+                       StripAudioPackets(p, pc, AudioTrack);
                     }
                  }
               if (p) {
-----------------------------------------------------------------------------

... I'll now test for p != NULL and if so the firstPacket and the
AudioTrack part is done.

        Werner


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index