Commit 59ab7573 authored by Simon Latapie's avatar Simon Latapie

* telnet interface and VLM ( VideoLAN (media) manager):

    VLM is a little media manager. It is designed to launch several souts
    with a unique VLC. It is a kind of "server playlist". For now, it is
    only usable with the little telnet interface I wrote. The features are:
     - complete and barely coherent command line set for media setup and
       control
     - multiple input list by media (like a playlist)
     - loop by media
     - load/save config file (human readable)
     - script implementation (for scheduling, for example)
    If you want to test it, launch VLC with -I telnet, and type "help".
    Beware of the type of the media: vod or broadcast. vod will be used
    later.
     TODO:
      - rewrite the telnet interface (beurk)
      - change error message system and create a http interface for VLM
      - implement RTSP clients administration (with vod medias)
      - write a complete documentation...
parent b663be1d
dnl Autoconf settings for vlc
dnl $Id: configure.ac,v 1.189 2004/03/03 14:22:47 fenrir Exp $
dnl $Id: configure.ac,v 1.190 2004/03/05 14:03:20 garf Exp $
AC_INIT(vlc,0.7.2-cvs)
......@@ -881,7 +881,7 @@ test "${enable_cprof}" != "yes" && enable_cprof="no"
dnl
dnl default modules
dnl
AX_ADD_PLUGINS([dummy rc logger gestures memcpy hotkeys])
AX_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys])
AX_ADD_PLUGINS([mpgv mpga m4v mpeg_system ps ps2 pva ts avi asf aac mp4 rawdv demux2 nsv real aiff])
AX_ADD_PLUGINS([cvdsub svcdsub spudec dvbsub mpeg_audio lpcm a52 dts cinepak])
AX_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur])
......@@ -3767,6 +3767,7 @@ AC_CONFIG_FILES([
modules/control/corba/Makefile
modules/control/lirc/Makefile
modules/control/rc/Makefile
modules/control/telnet/Makefile
modules/demux/Makefile
modules/demux/asf/Makefile
modules/demux/avi/Makefile
......
SOURCES_telnet = telnet.c vlm.c
This diff is collapsed.
This diff is collapsed.
/*****************************************************************************
* .c: VLM interface plugin
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
* $Id: vlm.h,v 1.1 2004/03/05 14:03:20 garf Exp $
*
* Authors: Simon Latapie <garf@videolan.org>
* Laurent Aimar <fenrir@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., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/* VLM specific - structures and functions */
enum
{
VOD_TYPE = 0,
BROADCAST_TYPE = 1,
};
typedef struct
{
vlc_bool_t b_enabled;
int i_type;
/* name "media" is reserved */
char *psz_name;
int i_input;
char **input;
/* only for broadcast */
vlc_bool_t b_loop;
/* "playlist" index */
int i_index;
char *psz_output;
int i_option;
char **option;
/* global options for all inputs */
char **input_option;
int i_input_option;
input_thread_t *p_input;
} vlm_media_t;
typedef struct
{
/* names "schedule" is reserved */
char *psz_name;
vlc_bool_t b_enabled;
/* list of commands to execute on date */
int i_command;
char **command;
/* the date of 1st execution */
mtime_t i_date;
/* if != 0 repeat schedule every (period) */
mtime_t i_period;
/* number of times you have to repeat
i_repeat < 0 : endless repeat */
int i_repeat;
} vlm_schedule_t;
typedef struct
{
VLC_COMMON_MEMBERS
vlc_mutex_t lock;
#if 0
int i_vod;
vlm_media_t **vod;
int i_broadcast;
vlm_media_t **broadcast;
#endif
int i_media;
vlm_media_t **media;
int i_schedule;
vlm_schedule_t **schedule;
} vlm_t;
#define vlm_New( a ) __vlm_New( VLC_OBJECT(a) )
vlm_t *__vlm_New ( vlc_object_t * );
void vlm_Delete( vlm_t * );
int vlm_ExecuteCommand( vlm_t *, char *, char **);
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