Help needed on hollywood+ plugin

Christophe Massiot massiot at
Sun Jul 7 15:15:24 CEST 2002


À (At) 20:34 +0200 29/06/2002, Henri Fallon écrivait (wrote) :

>GetChunk( &p_dxr3_vdec->bit_stream, p_buffer, MAX_IMAGE_SIZE );
>i_rc = write( p_dxr3_vdec->i_fd, p_buffer, MAX_IMAGE_SIZE );
>if( i_rc < 0 )
>     perror("Write error !");
>The thing is I'll never know the return code as the write() does not exit.

There is a non-blocking option, see man 2 open. However I don't think 
that will help you, since the card doesn't seem to be accepting data. 
So there's probably an ioctl to do beforehands.

>I tried to use PTS this way :
>     CurrentPTS( & p_dxr3_vdec->bit_stream, &i_pts, NULL );
>     if( i_pts )
>     {
>         i_rc = ioctl( p_dxr3_vdec->i_fd, EM8300_IOCTL_VIDEO_SETPTS,
>                       &i_pts );
>         if( i_rc == -1 )
>             intf_WarnMsg( 3, "DXR3: cannot set pts" );
>         p_dxr3_vdec->bit_stream.i_pts = 0;
>     }
>it get stuck after 3 or 4 seconds.

I don't know the DXR3, and I don't know how it works. The best is 
probably to look at Xine or Mplayer and see how they do it. I'm 
surprised you pass VLC's PTS (in system clock scale) directly. This 
is so unnatural. I would expect you pass something derived from the 
90 kHz MPEG clock. In both cases there is probably a way (ioctl ?) to 
calibrate the real-time clock.

Christophe Massiot.

This is the vlc-devel mailing-list, see
To unsubscribe, please read
If you are in trouble, please contact <postmaster at>

More information about the vlc-devel mailing list