* sort.c : Playlist sorting functions
*****************************************************************************
* Copyright (C) 1999-2004 VideoLAN
- * $Id: sort.c,v 1.9 2004/01/23 10:48:08 zorglub Exp $
+ * $Id$
*
* Authors: Clément Stenac <zorglub@videolan.org>
*
#include <string.h> /* strerror() */
#include <vlc/vlc.h>
+#include <vlc/input.h>
#include <vlc/vout.h>
#include <vlc/sout.h>
p_playlist->i_sort = i_mode;
p_playlist->i_order = i_type;
+ /* playlist with one or less items are allways sorted in all
+ manners, quit fast. */
+ if( p_playlist->i_size <= 1 )
+ {
+ vlc_mutex_unlock( &p_playlist->object_lock );
+
+ /* Notify the interfaces, is this necessary? */
+ var_Set( p_playlist, "intf-change", val );
+
+ return VLC_SUCCESS;
+ }
if( i_mode == SORT_RANDOM )
{
}
else if( i_mode == SORT_TITLE )
{
- i_test = strcasecmp( p_playlist->pp_items[i]->psz_name,
- p_playlist->pp_items[i_small]->psz_name );
+ i_test = strcasecmp( p_playlist->pp_items[i]->input.psz_name,
+ p_playlist->pp_items[i_small]->input.psz_name );
}
else if( i_mode == SORT_GROUP )
{
i_test = p_playlist->pp_items[i]->i_group -
- p_playlist->pp_items[i_small]->i_group;
+ p_playlist->pp_items[i_small]->i_group;
}
else if( i_mode == SORT_DURATION )
{
- i_test = p_playlist->pp_items[i]->i_duration -
- p_playlist->pp_items[i_small]->i_duration;
+ i_test = p_playlist->pp_items[i]->input.i_duration -
+ p_playlist->pp_items[i_small]->input.i_duration;
}
else if( i_mode == SORT_AUTHOR )
{