# HG changeset patch # User mswitch # Date 1011477330 0 # Node ID 90562e9c36d68b09f3ff4c857b369df2a3dae3fa # Parent c9bdfcc8badc39ff7cfa851340266a5336b89520 Only use hardware sync and prebuffering with mpegs! diff -r c9bdfcc8badc -r 90562e9c36d6 libvo/vo_dxr3.c --- a/libvo/vo_dxr3.c Sat Jan 19 21:21:00 2002 +0000 +++ b/libvo/vo_dxr3.c Sat Jan 19 21:55:30 2002 +0000 @@ -89,10 +89,6 @@ void write_dxr3(rte_context *context, void *data, size_t size, void *user_data) { size_t data_left = size; - /* Set the timestamp of the next video packet */ - if (ioctl(fd_video, EM8300_IOCTL_VIDEO_SETPTS, &pts) < 0) { - printf("VO: [dxr3] Unable to set pts\n"); - } /* Force data into the buffer */ while (data_left) { @@ -452,9 +448,11 @@ ioval = EM8300_SUBDEVICE_VIDEO; ioctl(fd_control, EM8300_IOCTL_FLUSH, &ioval); pts += 90000.0 / vo_fps; - ioctl(fd_control, EM8300_IOCTL_SCR_SET, &pts); - if (ioctl(fd_video, EM8300_IOCTL_VIDEO_SETPTS, &pts) < 0) { - printf("VO: [dxr3] Unable to set pts\n"); + if (img_format == IMGFMT_MPEGPES) { + ioctl(fd_control, EM8300_IOCTL_SCR_SET, &pts); + if (ioctl(fd_video, EM8300_IOCTL_VIDEO_SETPTS, &pts) < 0) { + printf("VO: [dxr3] Unable to set pts\n"); + } } } prev_pts = pts; @@ -532,14 +530,14 @@ flag = 0x2 | 0x8 | 0x100; #ifdef USE_MP1E } else if (format == IMGFMT_YV12) { - /* Conversion needed | OSD Supported | Hardware handles syncing */ - flag = 0x1 | 0x4 | 0x100; + /* Conversion needed | OSD Supported */ + flag = 0x1 | 0x4; } else if (format == IMGFMT_YUY2) { - /* Conversion needed | OSD Supported | Hardware handles syncing */ - flag = 0x1 | 0x4 | 0x100; + /* Conversion needed | OSD Supported */ + flag = 0x1 | 0x4; } else if (format == IMGFMT_BGR24) { - /* Conversion needed | OSD Supported | Hardware handles syncing */ - flag = 0x1 | 0x4 | 0x100; + /* Conversion needed | OSD Supported */ + flag = 0x1 | 0x4; } else { printf("VO: [dxr3] Format unsupported, mail dholm@iname.com\n"); #else