*****************************************************************************/
static ssize_t Write( sout_access_out_t *, block_t * );
static int Seek ( sout_access_out_t *, off_t );
-static void ThreadControl( vlc_object_t * );
+static void* ThreadControl( vlc_object_t * );
struct sout_access_out_sys_t
{
p_sys->p_thread->rtmp_headers_send[i].body = NULL;
}
- vlc_cond_init( p_sys->p_thread, &p_sys->p_thread->wait );
+ vlc_cond_init( &p_sys->p_thread->wait );
vlc_mutex_init( &p_sys->p_thread->lock );
p_sys->p_thread->result_connect = 1;
// p_sys->p_thread->b_die = true;
vlc_object_kill( p_sys->p_thread );
block_FifoWake( p_sys->p_thread->p_fifo_input );
- block_FifoWake( p_sys->p_thread->p_empty_blocks );
vlc_thread_join( p_sys->p_thread );
/*****************************************************************************
* ThreadControl: manage control messages and pipe media to Read
*****************************************************************************/
-static void ThreadControl( vlc_object_t *p_this )
+static void* ThreadControl( vlc_object_t *p_this )
{
rtmp_control_thread_t *p_thread = (rtmp_control_thread_t *) p_this;
rtmp_packet_t *rtmp_packet;
+ int canc = vlc_savecancel ();
rtmp_init_handler( p_thread->rtmp_handler );
p_thread->b_die = 1;
}
}
+ vlc_restorecancel (canc);
+ return NULL;
}