summaryrefslogtreecommitdiffstats
path: root/libvo/vo_dxr3.c
diff options
context:
space:
mode:
authormswitch <mswitch@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-06 07:30:28 +0000
committermswitch <mswitch@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-06 07:30:28 +0000
commite32a105ab5f14ae94ea6351202af42b72cb5e8d4 (patch)
tree2abc3db529091e09505d32ac07b66b878a328d01 /libvo/vo_dxr3.c
parentb12227f3ef4a529eff365b2507b41b8ea8158a0b (diff)
downloadmpv-e32a105ab5f14ae94ea6351202af42b72cb5e8d4.tar.bz2
mpv-e32a105ab5f14ae94ea6351202af42b72cb5e8d4.tar.xz
Fixed bug that would cause the dxr3 to lock if too many subpics were sent at once
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5500 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/vo_dxr3.c')
-rw-r--r--libvo/vo_dxr3.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libvo/vo_dxr3.c b/libvo/vo_dxr3.c
index c383fcc811..ccd847eb69 100644
--- a/libvo/vo_dxr3.c
+++ b/libvo/vo_dxr3.c
@@ -157,6 +157,7 @@ static int fd_control = -1;
static int fd_video = -1;
static int fd_spu = -1;
static char fdv_name[80];
+static char fds_name[80];
/* on screen display/subpics */
static char *osdpicbuf = NULL;
@@ -200,7 +201,10 @@ uint32_t control(uint32_t request, void *data, ...)
if (!noprebuf) {
close(fd_video);
fd_video = open(fdv_name, O_WRONLY);
+ close(fd_spu);
+ fd_spu = open(fds_name, O_WRONLY);
fsync(fd_video);
+ fsync(fd_spu);
}
return VO_TRUE;
case VOCTRL_QUERY_FORMAT:
@@ -510,7 +514,7 @@ static void draw_osd(void)
if (!noprebuf) {
ioctl(fd_spu, EM8300_IOCTL_SPU_SETPTS, &vo_pts);
}
- /*write(fd_spu, spued->data, spued->count);*/
+ write(fd_spu, spued->data, spued->count);
}
disposd++;
}
@@ -742,6 +746,7 @@ static uint32_t preinit(const char *arg)
return -1;
}
}
+ strcpy(fds_name, devname);
#if defined(USE_LIBAVCODEC)
if (mpeg_codec == MPG_CODEC_AVCODEC && !avcodec_inited) {