Commit beba5830 authored by Clément Stenac's avatar Clément Stenac

* do not set request on startup, we don't want autoplay

* fix bug in SDP parser
parent c9930622
......@@ -206,6 +206,7 @@ typedef struct msg_subscription_t msg_subscription_t;
*/
typedef enum {
PLAYLIST_PLAY, /**< No arg. res=can fail*/
PLAYLIST_AUTOPLAY, /**< No arg. res=cant fail*/
PLAYLIST_VIEWPLAY, /**< arg1= int, arg2= playlist_item_t*,*/
/** arg3 = playlist_item_t* , res=can fail */
PLAYLIST_ITEMPLAY, /** <arg1 = playlist_item_t * , res=can fail */
......
......@@ -235,7 +235,7 @@ static void Run( intf_thread_t *p_intf )
if( p_playlist )
{
p_playlist->status.i_view = -1;
playlist_Play( p_playlist );
playlist_Control( p_playlist, PLAYLIST_AUTOPLAY );
vlc_object_release( p_playlist );
}
}
......
......@@ -970,6 +970,7 @@ static sdp_t * ParseSDP( vlc_object_t *p_obj, char* psz_sdp )
{
sdp_t *p_sdp;
vlc_bool_t b_invalid = VLC_FALSE;
vlc_bool_t b_end = VLC_FALSE;
if( psz_sdp == NULL )
{
......@@ -978,7 +979,8 @@ static sdp_t * ParseSDP( vlc_object_t *p_obj, char* psz_sdp )
if( psz_sdp[0] != 'v' || psz_sdp[1] != '=' )
{
msg_Warn( p_obj, "bad SDP packet" );
msg_Warn( p_obj, "bad SDP packet, begins with 0x%x(%c) 0x%x(%c)",
psz_sdp[0],psz_sdp[0],psz_sdp[1],psz_sdp[1]);
return NULL;
}
......@@ -997,7 +999,7 @@ static sdp_t * ParseSDP( vlc_object_t *p_obj, char* psz_sdp )
p_sdp->i_attributes = 0;
p_sdp->pp_attributes = NULL;
while( *psz_sdp != '\0' )
while( *psz_sdp != '\0' && b_end == VLC_FALSE )
{
char *psz_eol;
char *psz_eof;
......@@ -1013,6 +1015,7 @@ static sdp_t * ParseSDP( vlc_object_t *p_obj, char* psz_sdp )
if( ( psz_eol = strchr( psz_sdp, '\n' ) ) == NULL )
{
psz_eol = psz_sdp + strlen( psz_sdp );
b_end = VLC_TRUE;
}
if( psz_eol > psz_sdp && *( psz_eol - 1 ) == '\r' )
{
......
......@@ -306,6 +306,12 @@ int playlist_vaControl( playlist_t * p_playlist, int i_query, va_list args )
p_playlist->request.i_goto = -1;
break;
case PLAYLIST_AUTOPLAY:
p_playlist->status.i_status = PLAYLIST_RUNNING;
p_playlist->request.b_request = VLC_FALSE;
break;
case PLAYLIST_PAUSE:
val.i_int = 0;
if( p_playlist->p_input )
......@@ -357,6 +363,7 @@ int playlist_vaControl( playlist_t * p_playlist, int i_query, va_list args )
}
vlc_mutex_unlock( &p_playlist->object_lock );
fprintf(stderr,"control done, request is %i\n", p_playlist->request.b_request);
return VLC_SUCCESS;
}
......@@ -817,6 +824,10 @@ static playlist_item_t * NextItem( playlist_t *p_playlist )
{
p_playlist->i_index++;
p_new = p_playlist->pp_items[p_playlist->i_index];
if( !(p_new->i_flags & PLAYLIST_SKIP_FLAG) )
{
return NULL;
}
}
else
{
......
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