[MPlayer-dev-eng] [PATCH] dxr3

David Holm david at realityrift.com
Sat Feb 2 17:18:40 CET 2002


Hi,
as I still don't have write access to DOCS/DXR3 I'll submit my latest
code as a patch...

//David

-------------- next part --------------
Index: DOCS/DXR3
===================================================================
RCS file: /cvsroot/mplayer/main/DOCS/DXR3,v
retrieving revision 1.10
diff -u -r1.10 DXR3
--- DOCS/DXR3	15 Jan 2002 00:23:16 -0000	1.10
+++ DOCS/DXR3	2 Feb 2002 16:27:39 -0000
@@ -1,6 +1,9 @@
 How to use a Sigma Designs Hollywood Plus and/or a Creative DXR3 by David Holm
 ==============================================================================
 
+Thanks goes out to Daniel Bell for the donation of a brand new 20GB IBM
+harddisk.
+
 1. Requirements
 
  * First of all you will need the DXR3/H+ drivers properly installed.
Index: libvo/vo_dxr3.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/vo_dxr3.c,v
retrieving revision 1.40
diff -u -r1.40 vo_dxr3.c
--- libvo/vo_dxr3.c	31 Jan 2002 09:52:45 -0000	1.40
+++ libvo/vo_dxr3.c	2 Feb 2002 16:27:40 -0000
@@ -6,6 +6,12 @@
  */
 
 /* ChangeLog added 2002-01-10
+ * 2002-02-02:
+ *  I'm trying our some new timing code, seems to produce a more stable output
+ *
+ * 2002-01-26:
+ *  Seeking will now request a flush of audio data as well, just to make sure ao_oss don't forget.
+ *
  * 2002-01-17:
  *  Testrelease of new sync engine (using previously undocumented feature of em8300).
  *
@@ -430,14 +436,16 @@
 
 static void flip_page(void)
 {
-	static int prev_pts = 0;
 	/* Flush the device if a seek occured */
-	if (prev_pts > vo_pts) {
+	if (!vo_pts) {
 		/* Flush video */
 		ioval = EM8300_SUBDEVICE_VIDEO;
 		ioctl(fd_control, EM8300_IOCTL_FLUSH, &ioval);
+		ioval = EM8300_SUBDEVICE_AUDIO;
+		ioctl(fd_control, EM8300_IOCTL_FLUSH, &ioval);
+		ioval = (int)(90000.0 / vo_fps);
+		ioctl(fd_control, EM8300_IOCTL_SCR_SETSPEED, &ioval);
 	}
-	prev_pts = vo_pts;
 #ifdef USE_MP1E
 	if (img_format == IMGFMT_YV12) {
 		mp1e_buffer.data = picture_data[0];
@@ -507,7 +515,7 @@
 	uint32_t flag = 0;
 	
 	if (format == IMGFMT_MPEGPES) {
-		/* Hardware accelerated | Hardware supports subpics | Hardware handles syncing */
+		/* Hardware accelerated | Hardware supports subpics */
 		flag = 0x2 | 0x8;
 #ifdef USE_MP1E
 	} else if (format == IMGFMT_YV12) {


More information about the MPlayer-dev-eng mailing list