]> git.sesse.net Git - vlc/blobdiff - include/vlc_input.h
*: unify 'none' vs. 'None' (-1 l10n string)
[vlc] / include / vlc_input.h
index 428df836e142806663890a209b145f508c0b750b..b48a256ca4d7be090540a638f0c3040d17410b55 100644 (file)
@@ -1,25 +1,25 @@
 /*****************************************************************************
  * vlc_input.h: Core input structures
  *****************************************************************************
- * Copyright (C) 1999-2006 the VideoLAN team
+ * Copyright (C) 1999-2006 VLC authors and VideoLAN
  * $Id$
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *          Laurent Aimar <fenrir@via.ecp.fr>
  *
- * 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
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 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.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser 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., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
 /* __ is need because conflict with <vlc/input.h> */
 
 #include <string.h>
 
-/*****************************************************************************
- * Meta data helpers
- *****************************************************************************/
-static inline void vlc_audio_replay_gain_MergeFromMeta( audio_replay_gain_t *p_dst,
-                                                        const vlc_meta_t *p_meta )
-{
-    const char * psz_value;
-
-    if( !p_meta )
-        return;
-
-    if( (psz_value = vlc_meta_GetExtra(p_meta, "REPLAYGAIN_TRACK_GAIN")) ||
-        (psz_value = vlc_meta_GetExtra(p_meta, "RG_RADIO")) )
-    {
-        p_dst->pb_gain[AUDIO_REPLAY_GAIN_TRACK] = true;
-        p_dst->pf_gain[AUDIO_REPLAY_GAIN_TRACK] = atof( psz_value );
-    }
-    else if( (psz_value = vlc_meta_GetExtra(p_meta, "REPLAYGAIN_TRACK_PEAK" )) ||
-             (psz_value = vlc_meta_GetExtra(p_meta, "RG_PEAK" )) )
-    {
-        p_dst->pb_peak[AUDIO_REPLAY_GAIN_TRACK] = true;
-        p_dst->pf_peak[AUDIO_REPLAY_GAIN_TRACK] = atof( psz_value );
-    }
-    else if( (psz_value = vlc_meta_GetExtra(p_meta, "REPLAYGAIN_ALBUM_GAIN" )) ||
-             (psz_value = vlc_meta_GetExtra(p_meta, "RG_AUDIOPHILE" )) )
-    {
-        p_dst->pb_gain[AUDIO_REPLAY_GAIN_ALBUM] = true;
-        p_dst->pf_gain[AUDIO_REPLAY_GAIN_ALBUM] = atof( psz_value );
-    }
-    else if( (psz_value = vlc_meta_GetExtra(p_meta, "REPLAYGAIN_ALBUM_PEAK" )) )
-    {
-        p_dst->pb_peak[AUDIO_REPLAY_GAIN_ALBUM] = true;
-        p_dst->pf_peak[AUDIO_REPLAY_GAIN_ALBUM] = atof( psz_value );
-    }
-}
-
 /*****************************************************************************
  * Seek point: (generalisation of chapters)
  *****************************************************************************/
@@ -83,7 +47,6 @@ struct seekpoint_t
     int64_t i_byte_offset;
     int64_t i_time_offset;
     char    *psz_name;
-    int     i_level;
 };
 
 static inline seekpoint_t *vlc_seekpoint_New( void )
@@ -91,7 +54,6 @@ static inline seekpoint_t *vlc_seekpoint_New( void )
     seekpoint_t *point = (seekpoint_t*)malloc( sizeof( seekpoint_t ) );
     point->i_byte_offset =
     point->i_time_offset = -1;
-    point->i_level = 0;
     point->psz_name = NULL;
     return point;
 }
@@ -241,12 +203,11 @@ static inline void vlc_input_attachment_Delete( input_attachment_t *a )
  *****************************************************************************/
 
 /* i_update field of access_t/demux_t */
-#define INPUT_UPDATE_NONE       0x0000
-#define INPUT_UPDATE_SIZE       0x0001
 #define INPUT_UPDATE_TITLE      0x0010
 #define INPUT_UPDATE_SEEKPOINT  0x0020
 #define INPUT_UPDATE_META       0x0040
 #define INPUT_UPDATE_SIGNAL     0x0080
+#define INPUT_UPDATE_TITLE_LIST 0x0100
 
 /**
  * This defines private core storage for an input.
@@ -346,7 +307,7 @@ typedef enum input_state_e
  * Input rate.
  *
  * It is an float used by the variable "rate" in the
- * range [INPUT_RATE_DEFAULT/INPUT_RATE_MAX, INPUT_RATE_DEFAULT/INPUT_RATE_MAX]
+ * range [INPUT_RATE_DEFAULT/INPUT_RATE_MAX, INPUT_RATE_DEFAULT/INPUT_RATE_MIN]
  * the default value being 1. It represents the ratio of playback speed to
  * nominal speed (bigger is faster).
  *
@@ -471,6 +432,13 @@ enum input_query_e
     INPUT_GET_SPU_DELAY,        /* arg1 = int* res=can fail */
     INPUT_SET_SPU_DELAY,        /* arg1 = int  res=can fail */
 
+    /* Menu navigation */
+    INPUT_NAV_ACTIVATE,
+    INPUT_NAV_UP,
+    INPUT_NAV_DOWN,
+    INPUT_NAV_LEFT,
+    INPUT_NAV_RIGHT,
+
     /* Meta datas */
     INPUT_ADD_INFO,   /* arg1= char* arg2= char* arg3=...     res=can fail */
     INPUT_REPLACE_INFOS,/* arg1= info_category_t *            res=cannot fail */
@@ -671,4 +639,10 @@ VLC_API void input_resource_TerminateVout( input_resource_t * );
  */
 VLC_API void input_resource_Terminate( input_resource_t * );
 
+/**
+ * \return the current audio output if any.
+ * Use vlc_object_release() to drop the reference.
+ */
+VLC_API audio_output_t *input_resource_HoldAout( input_resource_t * );
+
 #endif