summaryrefslogtreecommitdiffstats
path: root/libvo/vo_dxr3.c
diff options
context:
space:
mode:
authormswitch <mswitch@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-09 17:40:33 +0000
committermswitch <mswitch@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-09 17:40:33 +0000
commit4690e5fccf2b83817fed7681d9ddf20307d5d3fd (patch)
treecc91f904c3cc40f8cc7927da05f14cc430cc7f60 /libvo/vo_dxr3.c
parent5fb0523722a970d05f3ae89908c4af452210cfdf (diff)
downloadmpv-4690e5fccf2b83817fed7681d9ddf20307d5d3fd.tar.bz2
mpv-4690e5fccf2b83817fed7681d9ddf20307d5d3fd.tar.xz
updated :noprebuf to emulate the playback used in mplayer 0.60 (with dxr3 patch), this solves
alot of issues for ppl who had problems with the new prebuffering code git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4614 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/vo_dxr3.c')
-rw-r--r--libvo/vo_dxr3.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/libvo/vo_dxr3.c b/libvo/vo_dxr3.c
index e970e9afaf..1041df6677 100644
--- a/libvo/vo_dxr3.c
+++ b/libvo/vo_dxr3.c
@@ -171,10 +171,12 @@ static uint32_t config(uint32_t scr_width, uint32_t scr_height, uint32_t width,
ioval = EM8300_SUBDEVICE_AUDIO;
ioctl(fd_control, EM8300_IOCTL_FLUSH, &ioval);
fsync(fd_video);
- ioval = 0x900;
- ioctl(fd_control, EM8300_IOCTL_SCR_SETSPEED, &ioval);
- ioval = 0;
- ioctl(fd_control, EM8300_IOCTL_SCR_SET, &ioval);
+ if (!noprebuf) {
+ ioval = 0x900;
+ ioctl(fd_control, EM8300_IOCTL_SCR_SETSPEED, &ioval);
+ ioval = 0;
+ ioctl(fd_control, EM8300_IOCTL_SCR_SET, &ioval);
+ }
/* Store some variables statically that we need later in another scope */
img_format = format;
@@ -299,12 +301,16 @@ static void draw_osd(void)
static uint32_t draw_frame(uint8_t * src[])
{
- ioctl(fd_video, EM8300_IOCTL_VIDEO_SETPTS, &vo_pts);
+ if (!noprebuf) {
+ 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);
+ if (!noprebuf) {
+ ioctl(fd_spu, EM8300_IOCTL_SPU_SETPTS, &vo_pts);
+ }
write(fd_spu, p->data, p->size);
} else {
write(fd_video, p->data, p->size);
@@ -334,7 +340,9 @@ static void flip_page(void)
#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);
+ if (!noprebuf) {
+ ioctl(fd_video, EM8300_IOCTL_VIDEO_SETPTS, &vo_pts);
+ }
write(fd_video, avc_outbuf, out_size);
}
#endif