]> git.sesse.net Git - vlc/blobdiff - include/modules_export.h
* Fixed a total breakage of decoder plugins introduced by fast_memcpy.
[vlc] / include / modules_export.h
index e4b4951d455b411f5b9134d9633e04cb687270a3..4317a3215f1dc1d211f64d7498f1ce1002f4a175 100644 (file)
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  *****************************************************************************/
 
-typedef struct module_symbols_s
-{
-    struct main_s* p_main;
-    struct aout_bank_s* p_aout_bank;
-    struct vout_bank_s* p_vout_bank;
-
-    int    ( * main_GetIntVariable ) ( char *, int );
-    char * ( * main_GetPszVariable ) ( char *, char * );
-    void   ( * main_PutIntVariable ) ( char *, int );
-    void   ( * main_PutPszVariable ) ( char *, char * );
-
-    int  ( * TestProgram )  ( char * );
-    int  ( * TestMethod )   ( char *, char * );
-    int  ( * TestCPU )      ( int );
-
-    int  ( * intf_ProcessKey ) ( struct intf_thread_s *, int );
-    void ( * intf_AssignKey )  ( struct intf_thread_s *, int, int, int );
-
-    void ( * intf_Msg )        ( char *, ... );
-    void ( * intf_ErrMsg )     ( char *, ... );
-    void ( * intf_WarnMsg )    ( int, char *, ... );
-    void ( * intf_WarnMsgImm ) ( int, char *, ... );
-#ifdef TRACE
-    void ( * intf_DbgMsg )     ( char *, char *, int, char *, ... );
-    void ( * intf_DbgMsgImm )  ( char *, char *, int, char *, ... );
-#endif
-
-    int  ( * intf_PlaylistAdd )     ( struct playlist_s *, int, const char* );
-    int  ( * intf_PlaylistDelete )  ( struct playlist_s *, int );
-    void ( * intf_PlaylistNext )    ( struct playlist_s * );
-    void ( * intf_PlaylistPrev )    ( struct playlist_s * );
-    void ( * intf_PlaylistDestroy ) ( struct playlist_s * );
-    void ( * intf_PlaylistJumpto )  ( struct playlist_s *, int );
-    void ( * intf_UrlDecode )       ( char * );
-
-    void    ( * msleep )         ( mtime_t );
-    mtime_t ( * mdate )          ( void );
-
-    int  ( * network_ChannelCreate )( void );
-    int  ( * network_ChannelJoin )  ( int );
-
-    void ( * input_SetStatus )      ( struct input_thread_s *, int );
-    void ( * input_Seek )           ( struct input_thread_s *, off_t );
-    void ( * input_DumpStream )     ( struct input_thread_s * );
-    char * ( * input_OffsetToTime ) ( struct input_thread_s *, char *, off_t );
-    int  ( * input_ChangeES )       ( struct input_thread_s *,
-                                      struct es_descriptor_s *, u8 );
-    int  ( * input_ToggleES )       ( struct input_thread_s *,
-                                      struct es_descriptor_s *, boolean_t );
-    int  ( * input_ChangeArea )     ( struct input_thread_s *,
-                                      struct input_area_s * );
-    struct es_descriptor_s * ( * input_FindES ) ( struct input_thread_s *,
-                                                  u16 );
-    struct es_descriptor_s * ( * input_AddES ) ( struct input_thread_s *,
-                                      struct pgrm_descriptor_s *, u16, size_t );
-    void ( * input_DelES )          ( struct input_thread_s *,
-                                      struct es_descriptor_s * );
-    int  ( * input_SelectES )       ( struct input_thread_s *,
-                                      struct es_descriptor_s * );
-    int  ( * input_UnselectES )     ( struct input_thread_s *,
-                                      struct es_descriptor_s * );
-    struct pgrm_descriptor_s* ( * input_AddProgram ) ( struct input_thread_s *,
-                                                       u16, size_t );
-    void ( * input_DelProgram )     ( struct input_thread_s *,
-                                      struct pgrm_descriptor_s * );
-    struct input_area_s * ( * input_AddArea ) ( struct input_thread_s * );
-    void ( * input_DelArea )        ( struct input_thread_s *,
-                                      struct input_area_s * );
-
-    void ( * InitBitstream )        ( struct bit_stream_s *,
-                                      struct decoder_fifo_s *,
-                                      void ( * ) ( struct bit_stream_s *,
-                                                   boolean_t ),
-                                      void * );
-    int  ( * input_InitStream )     ( struct input_thread_s *, size_t );
-    void ( * input_EndStream )      ( struct input_thread_s * );
-
-    void ( * input_ParsePES )       ( struct input_thread_s *,
-                                      struct es_descriptor_s * );
-    void ( * input_GatherPES )      ( struct input_thread_s *,
-                                      struct data_packet_s *,
-                                      struct es_descriptor_s *,
-                                      boolean_t, boolean_t );
-    void ( * input_DecodePES )      ( struct decoder_fifo_s *,
-                                      struct pes_packet_s * );
-    struct es_descriptor_s * ( * input_ParsePS ) ( struct input_thread_s *,
-                                                   struct data_packet_s * );
-    void ( * input_DemuxPS )        ( struct input_thread_s *,
-                                      struct data_packet_s * );
-    void ( * input_DemuxTS )        ( struct input_thread_s *,
-                                      struct data_packet_s * );
-    void ( * input_DemuxPSI )       ( struct input_thread_s *,
-                                      struct data_packet_s *,
-                                      struct es_descriptor_s *, 
-                                      boolean_t, boolean_t );
-
-    int ( * input_ClockManageControl )   ( struct input_thread_s *,
-                                           struct pgrm_descriptor_s *,
-                                           mtime_t );
-
-    int ( * input_NetlistInit )          ( struct input_thread_s *,
-                                           int, int, int, size_t, int );
-    struct iovec * ( * input_NetlistGetiovec ) ( void * p_method_data );
-    void ( * input_NetlistMviovec )      ( void * , int,
-                                           struct data_packet_s **);
-    struct data_packet_s * ( * input_NetlistNewPacket ) ( void *, size_t );
-    struct data_packet_s * ( * input_NetlistNewPtr ) ( void * );
-    struct pes_packet_s * ( * input_NetlistNewPES ) ( void * );
-    void ( * input_NetlistDeletePacket ) ( void *, struct data_packet_s * );
-    void ( * input_NetlistDeletePES )    ( void *, struct pes_packet_s * );
-    void ( * input_NetlistEnd )          ( struct input_thread_s * );
-
-} module_symbols_t;
-
 #define STORE_SYMBOLS( p_symbols ) \
     (p_symbols)->p_main = p_main; \
     (p_symbols)->p_aout_bank = p_aout_bank; \
@@ -149,6 +35,7 @@ typedef struct module_symbols_s
     (p_symbols)->intf_ProcessKey = intf_ProcessKey; \
     (p_symbols)->intf_Msg = intf_Msg; \
     (p_symbols)->intf_ErrMsg = intf_ErrMsg; \
+    (p_symbols)->intf_StatMsg = intf_StatMsg;\
     (p_symbols)->intf_WarnMsg = intf_WarnMsg; \
     (p_symbols)->intf_WarnMsgImm = intf_WarnMsgImm; \
     (p_symbols)->intf_PlaylistAdd = intf_PlaylistAdd; \
@@ -197,15 +84,31 @@ typedef struct module_symbols_s
     (p_symbols)->input_NetlistNewPES = input_NetlistNewPES; \
     (p_symbols)->input_NetlistDeletePacket = input_NetlistDeletePacket; \
     (p_symbols)->input_NetlistDeletePES = input_NetlistDeletePES; \
-    (p_symbols)->input_NetlistEnd = input_NetlistEnd;
+    (p_symbols)->input_NetlistEnd = input_NetlistEnd; \
+    (p_symbols)->aout_CreateFifo = aout_CreateFifo; \
+    (p_symbols)->aout_DestroyFifo = aout_DestroyFifo; \
+    (p_symbols)->vout_CreateThread = vout_CreateThread; \
+    (p_symbols)->vout_CreateSubPicture = vout_CreateSubPicture; \
+    (p_symbols)->vout_DestroySubPicture = vout_DestroySubPicture; \
+    (p_symbols)->vout_DisplaySubPicture = vout_DisplaySubPicture; \
+    (p_symbols)->vout_CreatePicture = vout_CreatePicture; \
+    (p_symbols)->vout_DisplayPicture = vout_DisplayPicture; \
+    (p_symbols)->vout_DestroyPicture = vout_DestroyPicture; \
+    (p_symbols)->vout_DatePicture = vout_DatePicture; \
+    (p_symbols)->vout_LinkPicture = vout_LinkPicture; \
+    (p_symbols)->vout_UnlinkPicture = vout_UnlinkPicture; \
+    (p_symbols)->UnalignedGetBits = UnalignedGetBits; \
+    (p_symbols)->UnalignedRemoveBits = UnalignedRemoveBits; \
+    (p_symbols)->UnalignedShowBits = UnalignedShowBits; \
+    (p_symbols)->DecodeLanguage = DecodeLanguage; \
+    (p_symbols)->module_Need = module_Need; \
+    (p_symbols)->module_Unneed = module_Unneed;
     
 #define STORE_TRACE_SYMBOLS( p_symbols ) \
     (p_symbols)->intf_DbgMsg = _intf_DbgMsg; \
     (p_symbols)->intf_DbgMsgImm = _intf_DbgMsgImm;
 
 #ifdef PLUGIN
-extern module_symbols_t* p_symbols;
-
 #   define p_main (p_symbols->p_main)
 #   define p_aout_bank (p_symbols->p_aout_bank)
 #   define p_vout_bank (p_symbols->p_vout_bank)
@@ -224,6 +127,7 @@ extern module_symbols_t* p_symbols;
 
 #   define intf_Msg p_symbols->intf_Msg
 #   define intf_ErrMsg p_symbols->intf_ErrMsg
+#   define intf_StatMsg p_symbols->intf_StatMsg
 #   define intf_WarnMsg p_symbols->intf_WarnMsg
 #   define intf_WarnMsgImm p_symbols->intf_WarnMsgImm
 #ifdef TRACE
@@ -286,10 +190,34 @@ extern module_symbols_t* p_symbols;
 #   define input_NetlistGetiovec p_symbols->input_NetlistGetiovec
 #   define input_NetlistMviovec p_symbols->input_NetlistMviovec
 #   define input_NetlistNewPacket p_symbols->input_NetlistNewPacket
+#   define input_NetlistNewPtr p_symbols->input_NetlistNewPtr
 #   define input_NetlistNewPES p_symbols->input_NetlistNewPES
 #   define input_NetlistDeletePacket p_symbols->input_NetlistDeletePacket
 #   define input_NetlistDeletePES p_symbols->input_NetlistDeletePES
 #   define input_NetlistEnd p_symbols->input_NetlistEnd
 
+#   define aout_CreateFifo p_symbols->aout_CreateFifo
+#   define aout_DestroyFifo p_symbols->aout_DestroyFifo
+
+#   define vout_CreateThread p_symbols->vout_CreateThread
+#   define vout_CreateSubPicture p_symbols->vout_CreateSubPicture
+#   define vout_DestroySubPicture p_symbols->vout_DestroySubPicture
+#   define vout_DisplaySubPicture p_symbols->vout_DisplaySubPicture
+#   define vout_CreatePicture p_symbols->vout_CreatePicture
+#   define vout_DisplayPicture p_symbols->vout_DisplayPicture
+#   define vout_DestroyPicture p_symbols->vout_DestroyPicture
+#   define vout_DatePicture p_symbols->vout_DatePicture
+#   define vout_LinkPicture p_symbols->vout_LinkPicture
+#   define vout_UnlinkPicture p_symbols->vout_UnlinkPicture
+    
+#   define UnalignedShowBits p_symbols->UnalignedShowBits
+#   define UnalignedRemoveBits p_symbols->UnalignedRemoveBits
+#   define UnalignedGetBits p_symbols->UnalignedGetBits
+
+#   define DecodeLanguage p_symbols->DecodeLanguage
+
+#   define module_Need p_symbols->module_Need
+#   define module_Unneed p_symbols->module_Unneed
+    
 #endif