/usr/include/gmerlin/playermsg.h is in libgmerlin-dev 1.2.0~dfsg+1-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 | /*****************************************************************
* gmerlin - a general purpose multimedia framework and applications
*
* Copyright (c) 2001 - 2011 Members of the Gmerlin project
* gmerlin-general@lists.sourceforge.net
* http://gmerlin.sourceforge.net
*
* 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, see <http://www.gnu.org/licenses/>.
* *****************************************************************/
#ifndef __BG_PLAYERMSG_H_
#define __BG_PLAYERMSG_H_
/** \defgroup player_states Player states
* \ingroup player_msg
* \brief State definitions for the player
*
* @{
*/
#define BG_PLAYER_STATE_INIT -1 //!< Initializing
#define BG_PLAYER_STATE_STOPPED 0 //!< Stopped, waiting for play command
#define BG_PLAYER_STATE_PLAYING 1 //!< Playing
#define BG_PLAYER_STATE_SEEKING 2 //!< Seeking
#define BG_PLAYER_STATE_CHANGING 3 //!< Changing the track
#define BG_PLAYER_STATE_BUFFERING 4 //!< Buffering data
#define BG_PLAYER_STATE_PAUSED 5 //!< Paused
#define BG_PLAYER_STATE_EOF 6 //!< Finished playback
#define BG_PLAYER_STATE_STARTING 8 //!< Starting playback
#define BG_PLAYER_STATE_ERROR 9 //!< Error
/**
* @}
*/
/* Message definition for the player */
/****************************
* Commands for the player
****************************/
/* Start playing */
/* arg1: Input plugin handle */
/* arg2: Track index for plugins with multiple tracks */
/* arg3: Play flags, see defines below */
#define BG_PLAYER_CMD_PLAY 0
/* Stop playing */
#define BG_PLAYER_CMD_STOP 1
/* Seek to a specific point */
/* arg1: seek Perfenctage */
/* (between 0.0 and 1.0, float) */
#define BG_PLAYER_CMD_SEEK 2
/* Set the state of the player */
/* arg1: New state */
/*
* if(state == BG_PLAYER_STATE_BUFFERING)
* arg2: Buffering percentage (float)
* else if(state == BG_PLAYER_STATE_ERROR)
* arg2: String describing the error
* else if(state == BG_PLAYER_STATE_PLAYING)
* arg2: Integer (1 if player can pause playback without messing up the data source)
*/
#define BG_PLAYER_CMD_SETSTATE 3
/* Quit playback thread (used by bg_player_quit()) */
#define BG_PLAYER_CMD_QUIT 4
/* Change output plugins, arg1 is plugin handle of the opened plugin */
#define BG_PLAYER_CMD_SET_OV_PLUGIN 5
#define BG_PLAYER_CMD_SET_OA_PLUGIN 6
/* Set track name */
#define BG_PLAYER_CMD_SET_NAME 7
/* Act like a pause button */
#define BG_PLAYER_CMD_PAUSE 8
/*
* Seek relative (gavl_time_t)
*/
#define BG_PLAYER_CMD_SEEK_REL 10
/* Set volume (float dB value) */
#define BG_PLAYER_CMD_SET_VOLUME 11
/* Set volume (float dB value) */
#define BG_PLAYER_CMD_SET_VOLUME_REL 12
/* Like BG_PLAYER_CMD_PLAY but go into the pause state right after the
playback is set up */
#define BG_PLAYER_CMD_PLAY_PAUSE 13
#define BG_PLAYER_CMD_SET_AUDIO_STREAM 14
#define BG_PLAYER_CMD_SET_VIDEO_STREAM 15
#define BG_PLAYER_CMD_SET_SUBTITLE_STREAM 16
/* Argument 1: keycode (see keycodes.h)
Argument 2: mask (see keycodes.h)
*/
#define BG_PLAYER_CMD_KEY 17 /* A key was pressed */
#define BG_PLAYER_CMD_CHANGE 18 /* Player should prepare for changing the
track */
#define BG_PLAYER_CMD_TOGGLE_MUTE 19 /* Toggle mute state */
#define BG_PLAYER_CMD_SET_CHAPTER 20 /* Goto chapter */
#define BG_PLAYER_CMD_NEXT_CHAPTER 21 /* Next chapter */
#define BG_PLAYER_CMD_PREV_CHAPTER 22 /* Previous chapter */
#define BG_PLAYER_CMD_INTERRUPT 23 /* Interrupt playback */
#define BG_PLAYER_CMD_INTERRUPT_RESUME 24 /* Resume interrupted playback */
/********************************
* Messages from the player
********************************/
/** \defgroup player_msg Messages from the player
* \ingroup player
*
* @{
*/
/** \brief Display time changed
*
* arg0: New time (gavl_time_t)
*
* This is called periodically during playback if the time changed.
*/
#define BG_PLAYER_MSG_TIME_CHANGED 0
/** \brief Track changed
*
* arg0: Track index (int)
*
* This message is only emitted for input plugins,
* which do playback themselves.
*/
#define BG_PLAYER_MSG_TRACK_CHANGED 1
/** \brief State changed
*
* arg0: New state (\ref player_states)
*
* arg1 depends on the state:
*
* - BG_PLAYER_STATE_BUFFERING: Buffering percentage (float, 0.0..1.0)
* - BG_PLAYER_STATE_ERROR: String describing the error (char*)
* - BG_PLAYER_STATE_PLAYING: 1 if player can seek within the current track, 0 else (int)
* - BG_PLAYER_STATE_CHANGING: 1 if player needs the next track, 0 else
*/
#define BG_PLAYER_MSG_STATE_CHANGED 2
/** \brief Track name
*
* arg0: Track name (char*)
*
* This is set whenever the track name changes. For internet radio stations, it can be
* sent multiple times for one URL.
*/
#define BG_PLAYER_MSG_TRACK_NAME 3
/** \brief Duration changed
*
* arg0: Total duration in seconds (gavl_time_t)
*/
#define BG_PLAYER_MSG_TRACK_DURATION 5
/** \brief Get info about the streams
*
* arg0: Number of audio streams (int)
*
* arg1: Number of video streams (int)
*
* arg2: Number of subtitle streams (int)
*/
#define BG_PLAYER_MSG_TRACK_NUM_STREAMS 4
/** \brief Get information about the current audio stream
*
* arg0: Stream index (int)
*
* arg1: Input Format (gavl_audio_format_t)
*
* arg2: Output Format (gavl_audio_format_t)
*/
#define BG_PLAYER_MSG_AUDIO_STREAM 6
/** \brief Get information about the current video stream
*
* arg0: Stream index (int)
*
* arg1: Input Format (gavl_video_format_t)
*
* arg2: Output Format (gavl_video_format_t)
*/
#define BG_PLAYER_MSG_VIDEO_STREAM 7
/** \brief Get information about the current subtitle stream
*
* arg0: Stream index (int)
*
* arg1: 1 if the subtitle is a text subtitle, 0 else
*
* arg2: Format (gavl_video_format_t)
*/
#define BG_PLAYER_MSG_SUBTITLE_STREAM 9
/* Metadata (is only sent, if information is available) */
/** \brief Metadata changed
*
* arg0: Metadata (bg_metadata_t)
*/
#define BG_PLAYER_MSG_METADATA 10
/** \brief Volume changed
*
* arg0: New volume in dB (float)
*/
#define BG_PLAYER_MSG_VOLUME_CHANGED 16
/** \brief Audio stream info
*
* arg0: stream index (int)
*
* arg1: stream name (char*)
*
* arg2: stream language (char*)
*
* This message is sent for all available audio streams
* regardless of what you selected
*/
#define BG_PLAYER_MSG_AUDIO_STREAM_INFO 17
/** \brief Video stream info
*
* arg0: stream index (int)
*
* arg1: stream name (char*)
*
* arg2: stream language (char*)
*
* This message is sent for all available video streams
* regardless of what you selected
*/
#define BG_PLAYER_MSG_VIDEO_STREAM_INFO 18
/** \brief Subtitle stream info
*
* arg0: stream index (int)
*
* arg1: stream name (char*)
*
* arg2: stream language (char*)
*
* This message is sent for all available video streams
* regardless of what you selected
*/
#define BG_PLAYER_MSG_SUBTITLE_STREAM_INFO 19
/** \brief A key was pressed in the video window
*
* arg0: keycode (see \ref keycodes)
*
* arg1: mask (see \ref keycodes)
*
* This message is only emitted if key+mask were not handled
* by the video plugin or by the player.
*/
#define BG_PLAYER_MSG_ACCEL 20 /* A key shortcut
was pressed */
/** \brief Player just cleaned up
*
* A previously triggerend cleanup operation is finished.
*/
#define BG_PLAYER_MSG_CLEANUP 21
/** \brief Player changed the mute state
*
* arg0: 1 when player is muted now, 0 else
*
*/
#define BG_PLAYER_MSG_MUTE 22
/** \brief Number of chapters
*
* arg0: Number
*/
#define BG_PLAYER_MSG_NUM_CHAPTERS 23
/** \brief Chapter info
*
* arg0: Chapter index
* arg1: Name (string)
* arg2: Start time (time)
*/
#define BG_PLAYER_MSG_CHAPTER_INFO 24
/** \brief Chapter changed
*
* arg0: Chapter index
*/
#define BG_PLAYER_MSG_CHAPTER_CHANGED 25
/** \brief Playback interrupted
*/
#define BG_PLAYER_MSG_INTERRUPT 26
/** \brief Interrupted playback resumed
*/
#define BG_PLAYER_MSG_INTERRUPT_RESUME 27
/** \brief Input info
* arg0: Plugin name (string)
* arg1: Location (string)
* arg2: Track (int)
*/
#define BG_PLAYER_MSG_INPUT 28
/** \brief Audio peaks
* arg0: Number of samples processed
* arg1: Left peak
* arg2: Right peak
*/
#define BG_PLAYER_MSG_AUDIO_PEAK 29
/** @}
*/
#endif // __BG_PLAYERMSG_H_
|