Mailing List archive

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

[vdr] Re: Playing DVD ?



* Oliver Endriss <o.endriss@gmx.de> [030826 20:08]:

Can you confirm that VIDEO_STILLPICTURE_WORKS_WITH_VDR_FRAMES enabled
and the following patch against DVB CVS gives perfect results?

---------------------------------------------------------------------
--- av7110.c.org	Sat Aug 23 17:35:11 2003
+++ av7110.c	Tue Aug 26 20:01:17 2003
@@ -4237,29 +4237,23 @@ dvb_audio_write(struct file *file, const
        return dvb_aplay(av7110, buf, count, file->f_flags&O_NONBLOCK, 0);
}

-u8 iframe_header[] = { 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x80, 0x00, 0x00 };

#define MIN_IFRAME 400000

static int
play_iframe(av7110_t *av7110, u8 *buf, unsigned int len, int nonblock)
{
-        int i, n=1;
+        int i, n;

        if (!(av7110->playing&RP_VIDEO)) {
                if (AV_StartPlay(av7110, RP_VIDEO) < 0) {
			return -EBUSY;
		}
-                n=MIN_IFRAME/len+1;
        }

	/* setting n always > 1, fixes problems when playing stillframes
	   consisting of I- and P-Frames */
	n=MIN_IFRAME/len+1;

-	/* FIXME: nonblock? */
-	dvb_play(av7110, iframe_header, sizeof(iframe_header), 0, 1, 0);
-
	for (i=0; i<n; i++)
                dvb_play(av7110, buf, len, 0, 1, 1);

---------------------------------------------------------------------

Removing the iframe stuff did the trick.
(I cannot see why one should insert a iframe header here.)
This at last make it work as it should, not a single glitch, immediate
frame by frame advance, just perfect :) Send it to linux-dvb list for it
to be merged, in case you haven't already done so :)


--
Javier Marcet <javier@marcet.info>


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



Home | Main Index | Thread Index