[Mplayer-cvslog] CVS: main/libvo vo_dxr3.c,1.47,1.48
David Holm
mswitch at mplayer.dev.hu
Sat Feb 9 12:10:34 CET 2002
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
More information about the MPlayer-cvslog
mailing list