Commit 55f3a9f1 authored by Rafaël Carré's avatar Rafaël Carré

Interaction are controlled by a dedicated thread

This is not the playlist's work at all
Fix #1520
parent f0c27947
...@@ -20,7 +20,6 @@ set( SOURCES_libvlc_common ...@@ -20,7 +20,6 @@ set( SOURCES_libvlc_common
libvlc-common.c libvlc-common.c
libvlc.h libvlc.h
libvlc-module.c libvlc-module.c
interface/interface.h
interface/interface.c interface/interface.c
interface/intf_eject.c interface/intf_eject.c
interface/interaction.c interface/interaction.c
......
...@@ -67,6 +67,7 @@ ...@@ -67,6 +67,7 @@
#define VLC_OBJECT_STATS (-29) #define VLC_OBJECT_STATS (-29)
#define VLC_OBJECT_HTTPD_HOST (-30) #define VLC_OBJECT_HTTPD_HOST (-30)
#define VLC_OBJECT_META_ENGINE (-31) #define VLC_OBJECT_META_ENGINE (-31)
#define VLC_OBJECT_INTERACTION (-32)
#define VLC_OBJECT_GENERIC (-666) #define VLC_OBJECT_GENERIC (-666)
......
...@@ -237,7 +237,6 @@ struct playlist_t ...@@ -237,7 +237,6 @@ struct playlist_t
} request; } request;
// Playlist-unrelated fields // Playlist-unrelated fields
interaction_t *p_interaction; /**< Interaction manager */
input_thread_t *p_stats_computer; /**< Input thread computing stats */ input_thread_t *p_stats_computer; /**< Input thread computing stats */
global_stats_t *p_stats; /**< Global statistics */ global_stats_t *p_stats; /**< Global statistics */
}; };
......
...@@ -235,7 +235,6 @@ SOURCES_libvlc_common = \ ...@@ -235,7 +235,6 @@ SOURCES_libvlc_common = \
libvlc-common.c \ libvlc-common.c \
libvlc.h \ libvlc.h \
libvlc-module.c \ libvlc-module.c \
interface/interface.h \
interface/interface.c \ interface/interface.c \
interface/intf_eject.c \ interface/intf_eject.c \
interface/interaction.c \ interface/interaction.c \
......
This diff is collapsed.
/*****************************************************************************
* interface.h: Internal interface prototypes and structures
*****************************************************************************
* Copyright (C) 1998-2006 the VideoLAN team
* $Id$
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Clément Stenac <zorglub@videolan.org>
* Felix Kühne <fkuehne@videolan.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#if defined(__PLUGIN__) || defined(__BUILTIN__) || !defined(__LIBVLC__)
# error This header file can only be included from LibVLC.
#endif
#ifndef __LIBVLC_INTERFACE_H
# define __LIBVLC_INTERFACE_H 1
/**********************************************************************
* Interaction
**********************************************************************/
void intf_InteractionManage( playlist_t *);
void intf_InteractionDestroy( interaction_t *);
#endif
...@@ -336,6 +336,10 @@ void * __vlc_object_create( vlc_object_t *p_this, int i_type ) ...@@ -336,6 +336,10 @@ void * __vlc_object_create( vlc_object_t *p_this, int i_type )
i_size = sizeof( osd_menu_t ); i_size = sizeof( osd_menu_t );
psz_type = "osd menu"; psz_type = "osd menu";
break; break;
case VLC_OBJECT_INTERACTION:
i_size = sizeof( interaction_t );
psz_type = "interaction";
break;
default: default:
i_size = i_type > (int)sizeof(vlc_object_t) i_size = i_type > (int)sizeof(vlc_object_t)
? i_type : (int)sizeof(vlc_object_t); ? i_type : (int)sizeof(vlc_object_t);
......
...@@ -151,11 +151,6 @@ playlist_t * playlist_Create( vlc_object_t *p_parent ) ...@@ -151,11 +151,6 @@ playlist_t * playlist_Create( vlc_object_t *p_parent )
p_playlist->i_order = ORDER_NORMAL; p_playlist->i_order = ORDER_NORMAL;
/* Interaction
* Init the interaction here, as playlist_MLLoad could trigger
* interaction init */
p_playlist->p_interaction = NULL;
b_save = p_playlist->b_auto_preparse; b_save = p_playlist->b_auto_preparse;
p_playlist->b_auto_preparse = VLC_FALSE; p_playlist->b_auto_preparse = VLC_FALSE;
playlist_MLLoad( p_playlist ); playlist_MLLoad( p_playlist );
......
/***************************************************************************** /*****************************************************************************
* playlist.c : Playlist management functions * thread.c : Playlist management functions
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2004 the VideoLAN team * Copyright © 1999-2008 the VideoLAN team
* $Id$ * $Id$
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
#include <vlc_interface.h> #include <vlc_interface.h>
#include <vlc_playlist.h> #include <vlc_playlist.h>
#include "playlist_internal.h" #include "playlist_internal.h"
#include "interface/interface.h"
/***************************************************************************** /*****************************************************************************
* Local prototypes * Local prototypes
...@@ -40,8 +39,6 @@ static void RunControlThread ( playlist_t * ); ...@@ -40,8 +39,6 @@ static void RunControlThread ( playlist_t * );
static void RunPreparse( playlist_preparse_t * ); static void RunPreparse( playlist_preparse_t * );
static void RunFetcher( playlist_fetcher_t * ); static void RunFetcher( playlist_fetcher_t * );
static void DestroyInteraction( playlist_t * );
/***************************************************************************** /*****************************************************************************
* Main functions for the global thread * Main functions for the global thread
*****************************************************************************/ *****************************************************************************/
...@@ -49,7 +46,6 @@ static void DestroyInteraction( playlist_t * ); ...@@ -49,7 +46,6 @@ static void DestroyInteraction( playlist_t * );
/** /**
* Create the main playlist thread * Create the main playlist thread
* Additionally to the playlist, this thread controls : * Additionally to the playlist, this thread controls :
* - Interaction
* - Statistics * - Statistics
* - VLM * - VLM
* \param p_parent * \param p_parent
...@@ -175,8 +171,6 @@ int playlist_ThreadDestroy( playlist_t * p_playlist ) ...@@ -175,8 +171,6 @@ int playlist_ThreadDestroy( playlist_t * p_playlist )
if( p_playlist->p_stats ) if( p_playlist->p_stats )
free( p_playlist->p_stats ); free( p_playlist->p_stats );
DestroyInteraction( p_playlist );
playlist_Destroy( p_playlist ); playlist_Destroy( p_playlist );
return VLC_SUCCESS; return VLC_SUCCESS;
...@@ -195,9 +189,6 @@ static void RunControlThread ( playlist_t *p_playlist ) ...@@ -195,9 +189,6 @@ static void RunControlThread ( playlist_t *p_playlist )
{ {
i_loops++; i_loops++;
if( p_playlist->p_interaction )
intf_InteractionManage( p_playlist );
playlist_MainLoop( p_playlist ); playlist_MainLoop( p_playlist );
if( p_playlist->b_cant_sleep ) if( p_playlist->b_cant_sleep )
{ {
...@@ -230,15 +221,3 @@ static void RunFetcher( playlist_fetcher_t *p_obj ) ...@@ -230,15 +221,3 @@ static void RunFetcher( playlist_fetcher_t *p_obj )
vlc_thread_ready( p_obj ); vlc_thread_ready( p_obj );
playlist_FetcherLoop( p_obj ); playlist_FetcherLoop( p_obj );
} }
/*****************************************************************************
* Interaction functions
*****************************************************************************/
static void DestroyInteraction( playlist_t *p_playlist )
{
if( p_playlist->p_interaction )
{
intf_InteractionDestroy( p_playlist->p_interaction );
p_playlist->p_interaction = NULL;
}
}
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