VLC 4.0.0-dev
vlm_internal.h
Go to the documentation of this file.
1/*****************************************************************************
2 * vlm_internal.h: Internal vlm structures
3 *****************************************************************************
4 * Copyright (C) 1998-2006 VLC authors and VideoLAN
5 *
6 * Authors: Laurent Aimar <fenrir@via.ecp.fr>
7 *
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU Lesser General Public License as published by
10 * the Free Software Foundation; either version 2.1 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public License
19 * along with this program; if not, write to the Free Software Foundation,
20 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
21 *****************************************************************************/
22
23#ifndef LIBVLC_VLM_INTERNAL_H
24#define LIBVLC_VLM_INTERNAL_H 1
25
26#include <vlc_vlm.h>
27#include <vlc_player.h>
28#include "input_interface.h"
29
30/* Private */
31typedef struct
32{
33 /* instance name */
34 char *psz_name;
35
36 /* "playlist" index */
38
43
45
46
47typedef struct
48{
51
52 /* actual input instances */
56
57typedef struct
58{
59 /* names "schedule" is reserved */
60 char *psz_name;
62 /* list of commands to execute on date */
64 char **command;
65
66 /* the date of 1st execution */
67 time_t date;
68
69 /* if != 0, repeat period in seconds */
70 time_t period;
71 /* number of times you have to repeat
72 i_repeat < 0 : endless repeat */
75
76
77struct vlm_t
78{
80
85 unsigned users;
86
87 /* tell vlm thread there is work to do */
89 bool exiting;
90 /* */
91 int64_t i_id;
92
93 /* Media list */
96
97 /* Schedule list */
100};
101
102int vlm_ControlInternal( vlm_t *p_vlm, int i_query, ... );
103int ExecuteCommand( vlm_t *, const char *, vlm_message_t ** );
105
106#endif
Describes an input and is used to spawn input_thread_t objects.
Definition: vlc_input_item.h:89
Condition variable.
Definition: vlc_threads.h:322
Mutex.
Definition: vlc_threads.h:195
VLC object common members.
Definition: vlc_objects.h:45
struct vlc_object_marker * obj
Definition: vlc_objects.h:49
Definition: player.h:132
Definition: player.h:231
Thread handle.
Definition: vlc_threads.h:160
Definition: vlm_internal.h:32
vlc_player_listener_id * listener
Definition: vlm_internal.h:42
char * psz_name
Definition: vlm_internal.h:34
vlc_object_t * p_parent
Definition: vlm_internal.h:39
vlc_player_t * player
Definition: vlm_internal.h:41
int i_index
Definition: vlm_internal.h:37
input_item_t * p_item
Definition: vlm_internal.h:40
Definition: vlm_internal.h:48
vlm_media_t cfg
Definition: vlm_internal.h:50
int i_instance
Definition: vlm_internal.h:53
vlm_media_instance_sys_t ** instance
Definition: vlm_internal.h:54
VLM media.
Definition: vlc_vlm.h:46
Definition: vlc_vlm.h:178
Definition: vlm_internal.h:58
int i_command
Definition: vlm_internal.h:63
char * psz_name
Definition: vlm_internal.h:60
char ** command
Definition: vlm_internal.h:64
time_t date
Definition: vlm_internal.h:67
bool b_enabled
Definition: vlm_internal.h:61
time_t period
Definition: vlm_internal.h:70
int i_repeat
Definition: vlm_internal.h:73
Definition: vlm_internal.h:78
vlc_mutex_t lock
Definition: vlm_internal.h:81
bool input_state_changed
Definition: vlm_internal.h:88
vlm_schedule_sys_t ** schedule
Definition: vlm_internal.h:99
bool exiting
Definition: vlm_internal.h:89
int i_media
Definition: vlm_internal.h:94
struct vlc_object_t obj
Definition: vlm_internal.h:79
vlm_media_sys_t ** media
Definition: vlm_internal.h:95
vlc_mutex_t lock_manage
Definition: vlm_internal.h:83
vlc_cond_t wait_manage
Definition: vlm_internal.h:84
unsigned users
Definition: vlm_internal.h:85
vlc_thread_t thread
Definition: vlm_internal.h:82
int64_t i_id
Definition: vlm_internal.h:91
int i_schedule
Definition: vlm_internal.h:98
VLC Player API.
VLC stream manager interface.
int ExecuteCommand(vlm_t *, const char *, vlm_message_t **)
void vlm_ScheduleDelete(vlm_t *vlm, vlm_schedule_sys_t *sched)
int vlm_ControlInternal(vlm_t *p_vlm, int i_query,...)
Definition: vlm.c:969