Commit 2bd94a6c authored by Laurent Aimar's avatar Laurent Aimar
Browse files

* playlist.c : unlock playlist before calling vout_Destroy (for osx)

 * mp4: send complete atom for amr to the decoder.
parent 904ba46e
......@@ -2,7 +2,7 @@
* mp4.c : MP4 file input module for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: mp4.c,v 1.38 2003/09/13 17:42:16 fenrir Exp $
* $Id: mp4.c,v 1.39 2003/09/19 21:53:48 fenrir Exp $
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
......@@ -1047,14 +1047,19 @@ static int TrackCreateES ( input_thread_t *p_input,
case VLC_FOURCC( 'V', 'P', '3', '1' ):
case VLC_FOURCC( '3', 'I', 'V', '1' ):
case VLC_FOURCC( 'Z', 'y', 'G', 'o' ):
i_decoder_specific_info_len = p_sample->data.p_sample_vide->i_qt_image_description;
p_decoder_specific_info = p_sample->data.p_sample_vide->p_qt_image_description;
i_decoder_specific_info_len =
p_sample->data.p_sample_vide->i_qt_image_description;
p_decoder_specific_info =
p_sample->data.p_sample_vide->p_qt_image_description;
break;
case VLC_FOURCC( 'Q', 'D', 'M', 'C' ):
case VLC_FOURCC( 'Q', 'D', 'M', '2' ):
case VLC_FOURCC( 'Q', 'c', 'l', 'p' ):
i_decoder_specific_info_len = p_sample->data.p_sample_soun->i_qt_description;
p_decoder_specific_info = p_sample->data.p_sample_soun->p_qt_description;
case VLC_FOURCC( 's', 'a', 'm', 'r' ):
i_decoder_specific_info_len =
p_sample->data.p_sample_soun->i_qt_description;
p_decoder_specific_info =
p_sample->data.p_sample_soun->p_qt_description;
break;
default:
break;
......
......@@ -2,7 +2,7 @@
* playlist.c : Playlist management functions
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: playlist.c,v 1.52 2003/09/15 00:01:49 fenrir Exp $
* $Id: playlist.c,v 1.53 2003/09/19 21:53:48 fenrir Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
......@@ -386,8 +386,8 @@ int playlist_Sort( playlist_t * p_playlist , int i_type )
i_test = strcasecmp( p_playlist->pp_items[i]->psz_name,
p_playlist->pp_items[i_small]->psz_name );
if( i_type == SORT_NORMAL && i_test < 0 ||
i_type == SORT_REVERSE && i_test > 0 )
if( ( i_type == SORT_NORMAL && i_test < 0 ) ||
( i_type == SORT_REVERSE && i_test > 0 ) )
{
i_small = i;
}
......@@ -677,10 +677,14 @@ static void RunThread ( playlist_t *p_playlist )
}
else if( p_playlist->p_input->stream.control.i_status != INIT_S )
{
vlc_mutex_unlock( &p_playlist->object_lock );
ObjectGarbageCollector( p_playlist, VLC_OBJECT_VOUT,
&b_vout_destroyed, &i_vout_destroyed_date );
&b_vout_destroyed,
&i_vout_destroyed_date );
ObjectGarbageCollector( p_playlist, VLC_OBJECT_SOUT,
&b_sout_destroyed, &i_sout_destroyed_date );
&b_sout_destroyed,
&i_sout_destroyed_date );
vlc_mutex_lock( &p_playlist->object_lock );
}
}
else if( p_playlist->i_status != PLAYLIST_STOPPED )
......@@ -690,10 +694,12 @@ static void RunThread ( playlist_t *p_playlist )
}
else if( p_playlist->i_status == PLAYLIST_STOPPED )
{
vlc_mutex_unlock( &p_playlist->object_lock );
ObjectGarbageCollector( p_playlist, VLC_OBJECT_SOUT,
&b_sout_destroyed, &i_sout_destroyed_date );
ObjectGarbageCollector( p_playlist, VLC_OBJECT_VOUT,
&b_vout_destroyed, &i_vout_destroyed_date );
vlc_mutex_lock( &p_playlist->object_lock );
}
vlc_mutex_unlock( &p_playlist->object_lock );
......
Supports Markdown
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