Commit 761f863b authored by Jean-Paul Saman's avatar Jean-Paul Saman Committed by Jean-Baptiste Kempf

mmstu: handle keepalive error case

(cherry picked from commit e692b86a)
Signed-off-by: Jean-Baptiste Kempf's avatarJean-Baptiste Kempf <jb@videolan.org>
parent 63b970b9
...@@ -201,6 +201,11 @@ int MMSTUOpen( access_t *p_access ) ...@@ -201,6 +201,11 @@ int MMSTUOpen( access_t *p_access )
/* Keep the connection alive when paused */ /* Keep the connection alive when paused */
p_sys->p_keepalive = malloc( sizeof( mmstu_keepalive_t ) ); p_sys->p_keepalive = malloc( sizeof( mmstu_keepalive_t ) );
if( !p_sys->p_keepalive )
{
MMSTUClose ( p_access );
return VLC_ENOMEM;
}
p_sys->p_keepalive->p_access = p_access; p_sys->p_keepalive->p_access = p_access;
vlc_mutex_init( &p_sys->p_keepalive->lock ); vlc_mutex_init( &p_sys->p_keepalive->lock );
vlc_cond_init( &p_sys->p_keepalive->wait ); vlc_cond_init( &p_sys->p_keepalive->wait );
...@@ -305,11 +310,14 @@ static int Control( access_t *p_access, int i_query, va_list args ) ...@@ -305,11 +310,14 @@ static int Control( access_t *p_access, int i_query, va_list args )
else else
Seek( p_access, p_access->info.i_pos ); Seek( p_access, p_access->info.i_pos );
vlc_mutex_lock( &p_sys->p_keepalive->lock ); if( p_sys->p_keepalive )
p_sys->p_keepalive->b_paused = b_bool; {
if( b_bool ) vlc_mutex_lock( &p_sys->p_keepalive->lock );
vlc_cond_signal( &p_sys->p_keepalive->wait ); p_sys->p_keepalive->b_paused = b_bool;
vlc_mutex_unlock( &p_sys->p_keepalive->lock ); if( b_bool )
vlc_cond_signal( &p_sys->p_keepalive->wait );
vlc_mutex_unlock( &p_sys->p_keepalive->lock );
}
break; break;
case ACCESS_GET_TITLE_INFO: case ACCESS_GET_TITLE_INFO:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment