[Mplayer-cvslog] CVS: main/libvo vo_dxr3.c,1.25,1.26

David Holm mswitch at mplayer.dev.hu
Sun Jan 6 15:30:01 CET 2002


Update of /cvsroot/mplayer/main/libvo
In directory mplayer:/var/tmp.root/cvs-serv4610/libvo

Modified Files:
	vo_dxr3.c 
Log Message:
Fixes to sync code


Index: vo_dxr3.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/vo_dxr3.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- vo_dxr3.c	28 Dec 2001 22:33:06 -0000	1.25
+++ vo_dxr3.c	6 Jan 2002 14:29:58 -0000	1.26
@@ -67,9 +67,11 @@
 #ifdef USE_MP1E
 void write_dxr3( rte_context* context, void* data, size_t size, void* user_data )
 {
+    size_t data_left = size;
     if(ioctl(fd_video,EM8300_IOCTL_VIDEO_SETPTS,&vo_pts) < 0)
 	    printf( "VO: [dxr3] Unable to set pts\n" );
-    write( fd_video, data, size );
+    while( data_left )
+	data_left -= write( fd_video, (void*) data+(size-data_left), data_left );
 }
 #endif
 
@@ -113,18 +115,12 @@
     v_width = scr_width;
     v_height = scr_height;
 
-    /* Calculate screen res */    
-    /*aspect_save_orig(v_width,v_height);
-    aspect_save_prescale(width,height);
-    aspect_save_screenres(702,575);*/ /* Reference values from DVD spec (711,483) (702,575) */
-    /*aspect(&s_width,&s_height,A_ZOOM);*/
     s_width = (v_width+15)/16; s_width*=16;
     s_height = (v_height+15)/16; s_height*=16;
     
     /* Try to figure out whether to use ws output or not */
     tmp1 = abs(height - ((width/4)*3));
     tmp2 = abs(height - (int)(width/2.35));
-    printf( "%d:%d\n",s_width,s_height);
     if(tmp1 < tmp2)
     {
 	tmp1 = EM8300_ASPECTRATIO_4_3;
@@ -290,14 +286,14 @@
 {
     if( img_format == IMGFMT_MPEGPES )
     {
-        int data_left;
 	vo_mpegpes_t *p=(vo_mpegpes_t *)src[0];
+        size_t data_left = p->size;
 
 	if(ioctl(fd_video,EM8300_IOCTL_VIDEO_SETPTS,&vo_pts) < 0)
 	    printf( "VO: [dxr3] Unable to set pts\n" );
-	data_left = p->size;
+
 	while( data_left )
-	    data_left -= write( fd_video, &((unsigned char*)p->data)[p->size-data_left], data_left );
+	    data_left -= write( fd_video, (void*) p->data+(p->size-data_left), data_left );
 
 	return 0;
     }




More information about the MPlayer-cvslog mailing list