diff options
author | Eric Hameleers <alien@slackware.com> | 2009-01-23 00:16:54 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2009-01-23 00:16:54 +0000 |
commit | bc3425deaf8bafde9a5868e3b862b4004fbdc339 (patch) | |
tree | 24d1c8da13d38808918d502ca63b0d811ee673c7 /vlc | |
parent | b5ce25e9f233e20dcc5a9115b5463de3eeae9623 (diff) | |
download | asb-bc3425deaf8bafde9a5868e3b862b4004fbdc339.tar.gz asb-bc3425deaf8bafde9a5868e3b862b4004fbdc339.tar.xz |
Initial revision
Diffstat (limited to 'vlc')
-rw-r--r-- | vlc/build/vlc_dv_lib1394_abi.patch | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/vlc/build/vlc_dv_lib1394_abi.patch b/vlc/build/vlc_dv_lib1394_abi.patch new file mode 100644 index 00000000..823eef19 --- /dev/null +++ b/vlc/build/vlc_dv_lib1394_abi.patch @@ -0,0 +1,86 @@ +--- vlc-20090123/modules/access/dv.c.orig 2009-01-23 00:46:54.000000000 +0100 ++++ vlc-20090123/modules/access/dv.c 2009-01-23 01:11:19.000000000 +0100 +@@ -98,7 +98,8 @@ + } event_thread_t; + + static void* Raw1394EventThread( vlc_object_t * ); +-static int Raw1394Handler( raw1394handle_t, int, size_t, quadlet_t * ); ++static enum raw1394_iso_disposition Raw1394Handler( raw1394handle_t handle, unsigned char *data, size_t length, unsigned char channel, unsigned char tag, unsigned char sy, unsigned int cycle, unsigned int dropped ); ++//static int Raw1394Handler( raw1394handle_t, int, size_t, quadlet_t * ); + + static int Raw1394GetNumPorts( access_t *p_access ); + static raw1394handle_t Raw1394Open( access_t *, int ); +@@ -140,7 +141,7 @@ + char *psz_name = strdup( p_access->psz_path ); + + struct raw1394_portinfo port_inf[ 16 ]; +- iso_handler_t oldhandler; ++// iso_handler_t oldhandler; + + msg_Dbg( p_access, "opening device %s", psz_name ); + +@@ -211,10 +212,20 @@ + return VLC_EGENERIC; + } + +- oldhandler = raw1394_set_iso_handler( p_sys->p_raw1394, +- p_sys->i_channel, Raw1394Handler ); ++// oldhandler = raw1394_set_iso_handler( p_sys->p_raw1394, ++// p_sys->i_channel, Raw1394Handler ); ++ if ( raw1394_iso_recv_init( p_sys->p_raw1394, Raw1394Handler, 2000, 1025, ++ p_sys->i_channel, RAW1394_DMA_PACKET_PER_BUFFER, -1 ) ++< 0 ) ++ { ++ msg_Err( p_access, "failed to initialize isochronous recieving" ); ++ Close( p_this ); ++ free( psz_name ); ++ return VLC_EGENERIC; ++ } + raw1394_set_userdata( p_sys->p_raw1394, p_access ); +- raw1394_start_iso_rcv( p_sys->p_raw1394, p_sys->i_channel ); ++// raw1394_start_iso_rcv( p_sys->p_raw1394, p_sys->i_channel ); ++ raw1394_iso_recv_start( p_sys->p_raw1394, -1, -1, 0 ); + + p_sys->raw1394_poll.fd = raw1394_get_fd( p_sys->p_raw1394 ); + p_sys->raw1394_poll.events = POLLIN | POLLPRI; +@@ -256,8 +267,11 @@ + /* stop the event handler */ + vlc_object_kill( p_sys->p_ev ); + +- if( p_sys->p_raw1394 ) +- raw1394_stop_iso_rcv( p_sys->p_raw1394, p_sys->i_channel ); ++ if( p_sys->p_raw1394 ) { ++// raw1394_stop_iso_rcv( p_sys->p_raw1394, p_sys->i_channel ); ++ raw1394_iso_stop( p_sys->p_raw1394 ); ++ raw1394_iso_shutdown( p_sys->p_raw1394 ); ++} + + vlc_mutex_destroy( &p_sys->p_ev->lock ); + vlc_thread_join( p_sys->p_ev ); +@@ -388,7 +402,7 @@ + return NULL; + } + +-static int Raw1394Handler( raw1394handle_t handle, int channel, size_t length, quadlet_t *data ) ++static enum raw1394_iso_disposition Raw1394Handler( raw1394handle_t handle, unsigned char *data, size_t length, unsigned char channel, unsigned char tag, unsigned char sy, unsigned int cycle, unsigned int dropped ) + { + access_t *p_access = NULL; + access_sys_t *p_sys = NULL; +@@ -402,7 +416,7 @@ + /* skip empty packets */ + if ( length > 16 ) + { +- unsigned char * p = ( unsigned char* ) &data[ 3 ]; ++ unsigned char * p = ( unsigned char* ) &data[ 8 ]; + int section_type = p[ 0 ] >> 5; /* section type is in bits 5 - 7 */ + int dif_sequence = p[ 1 ] >> 4; /* dif sequence number is in bits 4 - 7 */ + int dif_block = p[ 2 ]; +@@ -460,7 +474,7 @@ + } + vlc_mutex_unlock( &p_sys->p_ev->lock ); + } +- return 0; ++ return RAW1394_ISO_OK; + } + + /* |