X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Faccess_output%2Fudp.c;h=14da8aa41641c5bab890bbdb7651e03d2421df08;hb=96b4ee1ee2da310e9ea951a29672a7609dbf831e;hp=20520fcd4dbdb06bf72e0c5e230424dff675bd08;hpb=3561b9b28f58eb7a4183e158a8fd973800d31ceb;p=vlc diff --git a/modules/access_output/udp.c b/modules/access_output/udp.c index 20520fcd4d..14da8aa416 100644 --- a/modules/access_output/udp.c +++ b/modules/access_output/udp.c @@ -116,7 +116,6 @@ static int Seek ( sout_access_out_t *, off_t ); static void ThreadWrite( vlc_object_t * ); static block_t *NewUDPPacket( sout_access_out_t *, mtime_t ); -static const char *MakeRandMulticast (int family, char *buf, size_t buflen); typedef struct sout_access_thread_t { @@ -174,14 +173,16 @@ static int Open( vlc_object_t *p_this ) } if( !( p_sys = calloc ( 1, sizeof( sout_access_out_sys_t ) ) ) ) - { - msg_Err( p_access, "not enough memory" ); return VLC_ENOMEM; - } p_access->p_sys = p_sys; i_dst_port = DEFAULT_PORT; char *psz_parser = psz_dst_addr = strdup( p_access->psz_path ); + if( !psz_dst_addr ) + { + free( p_sys ); + return VLC_ENOMEM; + } if (psz_parser[0] == '[') psz_parser = strchr (psz_parser, ']'); @@ -197,7 +198,6 @@ static int Open( vlc_object_t *p_this ) vlc_object_create( p_access, sizeof( sout_access_thread_t ) ); if( !p_sys->p_thread ) { - msg_Err( p_access, "out of memory" ); free (p_sys); free (psz_dst_addr); return VLC_ENOMEM; @@ -444,7 +444,7 @@ static void ThreadWrite( vlc_object_t *p_this ) mtime_t i_to_send = p_thread->i_group; int i_dropped_packets = 0; - while( !p_thread->b_die ) + while( vlc_object_alive (p_thread) ) { block_t *p_pk; mtime_t i_date, i_sent;