CVS: main/libvo vo_dxr3.c,1.47,1.48
Update of /cvsroot/mplayer/main/libvo In directory mplayer:/var/tmp.root/cvs-serv9434/libvo Modified Files: vo_dxr3.c Log Message: Fixed some stuff with setting timestamps, and added proper setting of playback speed. I'm guessing I'm looking at lots of sleepless nights ahead =( Index: vo_dxr3.c =================================================================== RCS file: /cvsroot/mplayer/main/libvo/vo_dxr3.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- vo_dxr3.c 9 Feb 2002 10:43:11 -0000 1.47 +++ vo_dxr3.c 9 Feb 2002 11:10:31 -0000 1.48 @@ -296,10 +296,12 @@ static uint32_t draw_frame(uint8_t * src[]) { + ioctl(fd_video, EM8300_IOCTL_VIDEO_SETPTS, &vo_pts); if (img_format == IMGFMT_MPEGPES) { vo_mpegpes_t *p = (vo_mpegpes_t *) src[0]; if (p->id == 0x20) { + ioctl(fd_spu, EM8300_IOCTL_SPU_SETPTS, &vo_pts); write(fd_spu, p->data, p->size); } else { write(fd_video, p->data, p->size); @@ -326,11 +328,14 @@ static void flip_page(void) { - ioctl(fd_video, EM8300_IOCTL_VIDEO_SETPTS, &vo_pts); - ioctl(fd_spu, EM8300_IOCTL_SPU_SETPTS, &vo_pts); + if (!vo_pts) { + ioval = (90000.0 / vo_fps); + ioctl(fd_control, EM8300_IOCTL_SCR_SETSPEED, &ioval); + } #ifdef USE_LIBAVCODEC if (img_format == IMGFMT_YV12) { int out_size = avcodec_encode_video(avc_context, avc_outbuf, avc_outbuf_size, &avc_picture); + ioctl(fd_video, EM8300_IOCTL_VIDEO_SETPTS, &vo_pts); write(fd_video, avc_outbuf, out_size); } #endif
participants (1)
-
David Holm