summaryrefslogtreecommitdiffstats
path: root/vlc
diff options
context:
space:
mode:
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
commitbc3425deaf8bafde9a5868e3b862b4004fbdc339 (patch)
tree24d1c8da13d38808918d502ca63b0d811ee673c7 /vlc
parentb5ce25e9f233e20dcc5a9115b5463de3eeae9623 (diff)
downloadasb-bc3425deaf8bafde9a5868e3b862b4004fbdc339.tar.gz
asb-bc3425deaf8bafde9a5868e3b862b4004fbdc339.tar.xz
Initial revision
Diffstat (limited to 'vlc')
-rw-r--r--vlc/build/vlc_dv_lib1394_abi.patch86
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;
+ }
+
+ /*