VLC 4.0.0-dev
Loading...
Searching...
No Matches
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
29/* Private */
30typedef struct
31{
32 /* instance name */
33 char *psz_name;
34
35 /* "playlist" index */
37
43
44
45typedef struct
46{
49
50 /* actual input instances */
54
55typedef struct
56{
57 /* names "schedule" is reserved */
58 char *psz_name;
60 /* list of commands to execute on date */
62 char **command;
63
64 /* the date of 1st execution */
65 time_t date;
66
67 /* if != 0, repeat period in seconds */
68 time_t period;
69 /* number of times you have to repeat
70 i_repeat < 0 : endless repeat */
73
74
75struct vlm_t
76{
78
83 unsigned users;
84
85 /* tell vlm thread there is work to do */
87 bool exiting;
88 /* */
89 int64_t i_id;
90
91 /* Media list */
94
95 /* Schedule list */
98};
99
100int vlm_ControlInternal( vlm_t *p_vlm, int i_query, ... );
101int ExecuteCommand( vlm_t *, const char *, vlm_message_t ** );
103
104#endif
Describes an input and is used to spawn input_thread_t objects.
Definition vlc_input_item.h:98
Condition variable.
Definition vlc_threads.h:270
Mutex.
Definition vlc_threads.h:143
VLC object common members.
Definition vlc_objects.h:53
Definition player.h:132
Definition player.h:234
Thread handle.
Definition vlc_threads.h:108
Definition vlm_internal.h:31
vlc_player_listener_id * listener
Definition vlm_internal.h:40
char * psz_name
Definition vlm_internal.h:33
vlc_player_t * player
Definition vlm_internal.h:39
int i_index
Definition vlm_internal.h:36
input_item_t * p_item
Definition vlm_internal.h:38
bool finished
Definition vlm_internal.h:41
Definition vlm_internal.h:46
vlm_media_t cfg
Definition vlm_internal.h:48
int i_instance
Definition vlm_internal.h:51
vlm_media_instance_sys_t ** instance
Definition vlm_internal.h:52
vlm_t * vlm
Definition vlm_internal.h:47
VLM media.
Definition vlc_vlm.h:46
Definition vlc_vlm.h:178
Definition vlm_internal.h:56
int i_command
Definition vlm_internal.h:61
char * psz_name
Definition vlm_internal.h:58
char ** command
Definition vlm_internal.h:62
time_t date
Definition vlm_internal.h:65
bool b_enabled
Definition vlm_internal.h:59
time_t period
Definition vlm_internal.h:68
int i_repeat
Definition vlm_internal.h:71
Definition vlm_internal.h:76
vlc_mutex_t lock
Definition vlm_internal.h:79
bool input_state_changed
Definition vlm_internal.h:86
vlm_schedule_sys_t ** schedule
Definition vlm_internal.h:97
bool exiting
Definition vlm_internal.h:87
int i_media
Definition vlm_internal.h:92
struct vlc_object_t obj
Definition vlm_internal.h:77
vlm_media_sys_t ** media
Definition vlm_internal.h:93
vlc_mutex_t lock_manage
Definition vlm_internal.h:81
vlc_cond_t wait_manage
Definition vlm_internal.h:82
unsigned users
Definition vlm_internal.h:83
vlc_thread_t thread
Definition vlm_internal.h:80
int64_t i_id
Definition vlm_internal.h:89
int i_schedule
Definition vlm_internal.h:96
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:953