VLC  3.0.21
libvlc_events.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * libvlc_events.h: libvlc_events external API structure
3  *****************************************************************************
4  * Copyright (C) 1998-2010 VLC authors and VideoLAN
5  * $Id $
6  *
7  * Authors: Filippo Carone <littlejohn@videolan.org>
8  * Pierre d'Herbemont <pdherbemont@videolan.org>
9  *
10  * This program is free software; you can redistribute it and/or modify it
11  * under the terms of the GNU Lesser General Public License as published by
12  * the Free Software Foundation; either version 2.1 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * along with this program; if not, write to the Free Software Foundation,
22  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23  *****************************************************************************/
24 
25 #ifndef LIBVLC_EVENTS_H
26 #define LIBVLC_EVENTS_H 1
27 
28 /**
29  * \file
30  * This file defines libvlc_event external API
31  */
32 
33 # ifdef __cplusplus
34 extern "C" {
35 # endif
36 
38 
39 /**
40  * \ingroup libvlc_event
41  * @{
42  */
43 
44 /**
45  * Event types
46  */
47 enum libvlc_event_e {
48  /* Append new event types at the end of a category.
49  * Do not remove, insert or re-order any entry.
50  * Keep this in sync with lib/event.c:libvlc_event_type_name(). */
58 
89 
95 
100 
104 
105  /**
106  * \deprecated Useless event, it will be triggered only when calling
107  * libvlc_media_discoverer_start()
108  */
110  /**
111  * \deprecated Useless event, it will be triggered only when calling
112  * libvlc_media_discoverer_stop()
113  */
115 
118 
130 };
131 
132 /**
133  * A LibVLC event
134  */
135 typedef struct libvlc_event_t
136 {
137  int type; /**< Event type (see @ref libvlc_event_e) */
138  void *p_obj; /**< Object emitting the event */
139  union
140  {
141  /* media descriptor */
142  struct
143  {
146  struct
147  {
150  struct
151  {
152  int64_t new_duration;
154  struct
155  {
156  int new_status; /**< see @ref libvlc_media_parsed_status_t */
158  struct
159  {
160  libvlc_media_t * md;
161  } media_freed;
162  struct
163  {
164  int new_state; /**< see @ref libvlc_state_t */
166  struct
167  {
170 
171  /* media instance */
172  struct
173  {
174  float new_cache;
176  struct
177  {
178  int new_chapter;
180  struct
181  {
182  float new_position;
184  struct
185  {
188  struct
189  {
190  int new_title;
192  struct
193  {
194  int new_seekable;
196  struct
197  {
198  int new_pausable;
200  struct
201  {
202  int new_scrambled;
204  struct
205  {
206  int new_count;
208 
209  /* media list */
210  struct
211  {
213  int index;
215  struct
216  {
218  int index;
220  struct
221  {
223  int index;
225  struct
226  {
228  int index;
230 
231  /* media list player */
232  struct
233  {
236 
237  /* snapshot taken */
238  struct
239  {
240  char* psz_filename ;
242 
243  /* Length changed */
244  struct
245  {
248 
249  /* VLM media */
250  struct
251  {
252  const char * psz_media_name;
253  const char * psz_instance_name;
254  } vlm_media_event;
255 
256  /* Extra MediaPlayer */
257  struct
258  {
261 
262  struct
263  {
265  int i_id;
267 
268  struct
269  {
270  float volume;
272 
273  struct
274  {
275  const char *device;
277 
278  struct
279  {
282  struct
283  {
286  } u; /**< Type-dependent event description */
288 
289 
290 /**@} */
291 
292 # ifdef __cplusplus
293 }
294 # endif
295 
296 #endif /* _LIBVLC_EVENTS_H */
libvlc_MediaStateChanged
Definition: libvlc_events.h:55
libvlc_VlmMediaInstanceStatusPause
Definition: libvlc_events.h:126
libvlc_event_t::media_player_seekable_changed
struct libvlc_event_t::@101::@114 media_player_seekable_changed
libvlc_VlmMediaInstanceStatusPlaying
Definition: libvlc_events.h:125
libvlc_event_t::media_player_title_changed
struct libvlc_event_t::@101::@113 media_player_title_changed
libvlc_event_t::media_player_length_changed
struct libvlc_event_t::@101::@124 media_player_length_changed
libvlc_MediaSubItemTreeAdded
Definition: libvlc_events.h:56
libvlc_MediaPlayerAudioDevice
Definition: libvlc_events.h:86
libvlc_event_t::media_list_item_added
struct libvlc_event_t::@101::@118 media_list_item_added
libvlc_event_t::type
int type
Event type (see libvlc_event_e)
Definition: libvlc_events.h:136
libvlc_event_t::media_player_chapter_changed
struct libvlc_event_t::@101::@110 media_player_chapter_changed
libvlc_MediaPlayerSnapshotTaken
Definition: libvlc_events.h:74
libvlc_MediaPlayerOpening
Definition: libvlc_events.h:60
libvlc_track_type_t
libvlc_track_type_t
Definition: libvlc_media.h:109
libvlc_MediaPlayerCorked
Definition: libvlc_events.h:81
libvlc_event_t::new_status
int new_status
see libvlc_media_parsed_status_t
Definition: libvlc_events.h:155
libvlc_event_t::media_player_scrambled_changed
struct libvlc_event_t::@101::@116 media_player_scrambled_changed
libvlc_event_t::vlm_media_event
struct libvlc_event_t::@101::@125 vlm_media_event
libvlc_event_t::media_player_pausable_changed
struct libvlc_event_t::@101::@115 media_player_pausable_changed
libvlc_media_t
struct libvlc_media_t libvlc_media_t
Definition: libvlc_media.h:47
libvlc_MediaListViewItemAdded
Definition: libvlc_events.h:95
libvlc_MediaPlayerBackward
Definition: libvlc_events.h:66
libvlc_MediaPlayerTitleChanged
Definition: libvlc_events.h:73
libvlc_event_t::media_state_changed
struct libvlc_event_t::@101::@107 media_state_changed
libvlc_MediaPlayerNothingSpecial
Definition: libvlc_events.h:59
libvlc_MediaPlayerLengthChanged
Definition: libvlc_events.h:75
libvlc_event_t::new_count
int new_count
Definition: libvlc_events.h:205
libvlc_VlmMediaAdded
Definition: libvlc_events.h:118
libvlc_MediaPlayerEndReached
Definition: libvlc_events.h:67
libvlc_event_t::new_child
libvlc_media_t * new_child
Definition: libvlc_events.h:147
libvlc_event_t::media_player_time_changed
struct libvlc_event_t::@101::@112 media_player_time_changed
libvlc_event_t::volume
float volume
Definition: libvlc_events.h:269
libvlc_MediaListWillDeleteItem
Definition: libvlc_events.h:92
libvlc_event_t::media_list_will_delete_item
struct libvlc_event_t::@101::@121 media_list_will_delete_item
libvlc_event_t::new_cache
float new_cache
Definition: libvlc_events.h:173
libvlc_VlmMediaInstanceStarted
Definition: libvlc_events.h:121
libvlc_event_t::media_player_vout
struct libvlc_event_t::@101::@117 media_player_vout
libvlc_event_t::new_pausable
int new_pausable
Definition: libvlc_events.h:197
libvlc_event_t::media_subitem_added
struct libvlc_event_t::@101::@103 media_subitem_added
libvlc_event_t::device
const char * device
Definition: libvlc_events.h:274
libvlc_MediaPlayerBuffering
Definition: libvlc_events.h:61
libvlc_MediaListViewWillDeleteItem
Definition: libvlc_events.h:98
libvlc_event_t::psz_media_name
const char * psz_media_name
Definition: libvlc_events.h:251
libvlc_MediaPlayerESDeleted
Definition: libvlc_events.h:79
libvlc_event_t::i_type
libvlc_track_type_t i_type
Definition: libvlc_events.h:263
libvlc_event_t::media_player_snapshot_taken
struct libvlc_event_t::@101::@123 media_player_snapshot_taken
libvlc_MediaParsedChanged
Definition: libvlc_events.h:53
libvlc_MediaPlayerSeekableChanged
Definition: libvlc_events.h:71
libvlc_event_t::u
union libvlc_event_t::@101 u
Type-dependent event description.
libvlc_event_t::media_player_audio_device
struct libvlc_event_t::@101::@129 media_player_audio_device
libvlc_MediaPlayerPlaying
Definition: libvlc_events.h:62
libvlc_MediaPlayerForward
Definition: libvlc_events.h:65
libvlc_MediaPlayerPausableChanged
Definition: libvlc_events.h:72
libvlc_event_t
struct libvlc_event_t libvlc_event_t
A LibVLC event.
libvlc_MediaDiscovererStarted
Definition: libvlc_events.h:108
libvlc_event_t::media_parsed_changed
struct libvlc_event_t::@101::@105 media_parsed_changed
libvlc_meta_t
libvlc_meta_t
Meta data types.
Definition: libvlc_media.h:50
libvlc_event_t::media_player_position_changed
struct libvlc_event_t::@101::@111 media_player_position_changed
libvlc_event_t::media_duration_changed
struct libvlc_event_t::@101::@104 media_duration_changed
libvlc_MediaPlayerUnmuted
Definition: libvlc_events.h:84
libvlc_event_t::index
int index
Definition: libvlc_events.h:212
libvlc_RendererDiscovererItemAdded
Definition: libvlc_events.h:115
libvlc_MediaPlayerMuted
Definition: libvlc_events.h:83
libvlc_event_t::psz_instance_name
const char * psz_instance_name
Definition: libvlc_events.h:252
libvlc_VlmMediaInstanceStatusError
Definition: libvlc_events.h:128
libvlc_event_t::media_subitemtree_added
struct libvlc_event_t::@101::@108 media_subitemtree_added
libvlc_MediaPlayerEncounteredError
Definition: libvlc_events.h:68
libvlc_MediaPlayerVout
Definition: libvlc_events.h:76
libvlc_event_t::i_id
int i_id
Definition: libvlc_events.h:264
libvlc_MediaListItemDeleted
Definition: libvlc_events.h:91
libvlc_MediaPlayerPositionChanged
Definition: libvlc_events.h:70
libvlc_event_t::new_length
libvlc_time_t new_length
Definition: libvlc_events.h:245
libvlc_MediaPlayerChapterChanged
Definition: libvlc_events.h:87
libvlc_MediaListPlayerStopped
Definition: libvlc_events.h:102
libvlc_event_t::media_player_media_changed
struct libvlc_event_t::@101::@126 media_player_media_changed
libvlc_RendererDiscovererItemDeleted
Definition: libvlc_events.h:116
libvlc_MediaListViewItemDeleted
Definition: libvlc_events.h:97
libvlc_event_t::media_list_will_add_item
struct libvlc_event_t::@101::@119 media_list_will_add_item
libvlc_event_t::new_title
int new_title
Definition: libvlc_events.h:189
libvlc_event_t::media_list_item_deleted
struct libvlc_event_t::@101::@120 media_list_item_deleted
libvlc_event_t::new_scrambled
int new_scrambled
Definition: libvlc_events.h:201
libvlc_event_t::media_player_es_changed
struct libvlc_event_t::@101::@127 media_player_es_changed
libvlc_VlmMediaChanged
Definition: libvlc_events.h:120
libvlc_VlmMediaRemoved
Definition: libvlc_events.h:119
libvlc_event_t::new_seekable
int new_seekable
Definition: libvlc_events.h:193
libvlc_MediaPlayerUncorked
Definition: libvlc_events.h:82
libvlc_MediaListWillAddItem
Definition: libvlc_events.h:90
libvlc_MediaDiscovererEnded
Definition: libvlc_events.h:113
libvlc_event_t::new_time
libvlc_time_t new_time
Definition: libvlc_events.h:185
libvlc_MediaPlayerStopped
Definition: libvlc_events.h:64
libvlc_renderer_item_t
struct libvlc_renderer_item_t libvlc_renderer_item_t
Definition: libvlc_events.h:36
libvlc_MediaListEndReached
Definition: libvlc_events.h:93
libvlc_event_t::new_state
int new_state
see libvlc_state_t
Definition: libvlc_events.h:163
libvlc_event_t::p_obj
void * p_obj
Object emitting the event.
Definition: libvlc_events.h:137
libvlc_VlmMediaInstanceStatusInit
Definition: libvlc_events.h:123
libvlc_VlmMediaInstanceStatusEnd
Definition: libvlc_events.h:127
libvlc_time_t
int64_t libvlc_time_t
Definition: libvlc.h:78
libvlc_MediaFreed
Definition: libvlc_events.h:54
libvlc_event_t::new_chapter
int new_chapter
Definition: libvlc_events.h:177
libvlc_event_t::media_freed
struct libvlc_event_t::@101::@106 media_freed
libvlc_MediaMetaChanged
Definition: libvlc_events.h:50
libvlc_VlmMediaInstanceStopped
Definition: libvlc_events.h:122
libvlc_event_t::item
libvlc_media_t * item
Definition: libvlc_events.h:167
libvlc_event_t::media_meta_changed
struct libvlc_event_t::@101::@102 media_meta_changed
libvlc_event_t::meta_type
libvlc_meta_t meta_type
Definition: libvlc_events.h:143
libvlc_event_t::md
libvlc_media_t * md
Definition: libvlc_events.h:159
libvlc_MediaPlayerPaused
Definition: libvlc_events.h:63
libvlc_event_t::new_duration
int64_t new_duration
Definition: libvlc_events.h:151
libvlc_MediaPlayerTimeChanged
Definition: libvlc_events.h:69
libvlc_event_t::media_player_buffering
struct libvlc_event_t::@101::@109 media_player_buffering
libvlc_MediaPlayerAudioVolume
Definition: libvlc_events.h:85
libvlc_event_t::media_player_audio_volume
struct libvlc_event_t::@101::@128 media_player_audio_volume
libvlc_event_t::renderer_discoverer_item_deleted
struct libvlc_event_t::@101::@131 renderer_discoverer_item_deleted
libvlc_MediaPlayerMediaChanged
Definition: libvlc_events.h:58
libvlc_event_t::psz_filename
char * psz_filename
Definition: libvlc_events.h:239
libvlc_event_e
libvlc_event_e
Event types.
Definition: libvlc_events.h:46
libvlc_event_t::renderer_discoverer_item_added
struct libvlc_event_t::@101::@130 renderer_discoverer_item_added
libvlc_MediaListItemAdded
Definition: libvlc_events.h:89
libvlc_VlmMediaInstanceStatusOpening
Definition: libvlc_events.h:124
libvlc_MediaDurationChanged
Definition: libvlc_events.h:52
libvlc_event_t::new_position
float new_position
Definition: libvlc_events.h:181
libvlc_MediaListViewWillAddItem
Definition: libvlc_events.h:96
libvlc_event_t::new_media
libvlc_media_t * new_media
Definition: libvlc_events.h:258
libvlc_MediaPlayerESAdded
Definition: libvlc_events.h:78
libvlc_MediaPlayerScrambledChanged
Definition: libvlc_events.h:77
libvlc_MediaPlayerESSelected
Definition: libvlc_events.h:80
libvlc_MediaSubItemAdded
Definition: libvlc_events.h:51
libvlc_MediaListPlayerNextItemSet
Definition: libvlc_events.h:101
libvlc_event_t::media_list_player_next_item_set
struct libvlc_event_t::@101::@122 media_list_player_next_item_set
libvlc_event_t
A LibVLC event.
Definition: libvlc_events.h:134
libvlc_MediaListPlayerPlayed
Definition: libvlc_events.h:100