X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fstream_output%2Fstream_output.h;h=40e5a05bc1df1e85b636d8d252b9a025157ba201;hb=12ade3e3bc975d5426ba4af155b7372c31093b31;hp=99ac3555c2b6e50c2f082e29181c8bc9eb1c7aba;hpb=fe63f4c516d7a328fc743a90ec08e1df725376c0;p=vlc diff --git a/src/stream_output/stream_output.h b/src/stream_output/stream_output.h index 99ac3555c2..40e5a05bc1 100644 --- a/src/stream_output/stream_output.h +++ b/src/stream_output/stream_output.h @@ -2,7 +2,7 @@ * stream_output.h : internal stream output ***************************************************************************** * Copyright (C) 2002-2005 the VideoLAN team - * $Id: stream_output.h 16916 2006-10-01 16:08:37Z dionoea $ + * $Id$ * * Authors: Christophe Massiot * Laurent Aimar @@ -24,6 +24,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. ***************************************************************************/ +#if defined(__PLUGIN__) || defined(__BUILTIN__) || !defined(__LIBVLC__) +# error This header file can only be included from LibVLC. +#endif + #ifndef VLC_SRC_STREAMOUT_H # define VLC_SRC_STREAMOUT_H 1 @@ -43,76 +47,29 @@ struct sout_packetizer_input_t }; #define sout_NewInstance(a,b) __sout_NewInstance(VLC_OBJECT(a),b) -VLC_EXPORT( sout_instance_t *, __sout_NewInstance, ( vlc_object_t *, char * ) ); -VLC_EXPORT( void, sout_DeleteInstance, ( sout_instance_t * ) ); +sout_instance_t * __sout_NewInstance( vlc_object_t *, const char * ); +void sout_DeleteInstance( sout_instance_t * ); -VLC_EXPORT( sout_packetizer_input_t *, sout_InputNew,( sout_instance_t *, es_format_t * ) ); -VLC_EXPORT( int, sout_InputDelete, ( sout_packetizer_input_t * ) ); -VLC_EXPORT( int, sout_InputSendBuffer, ( sout_packetizer_input_t *, block_t* ) ); +sout_packetizer_input_t *sout_InputNew( sout_instance_t *, es_format_t * ); +int sout_InputDelete( sout_packetizer_input_t * ); +int sout_InputSendBuffer( sout_packetizer_input_t *, block_t* ); /* Announce system */ -/* The SAP handler, running in a separate thread */ -struct sap_handler_t -{ - VLC_COMMON_MEMBERS /* needed to create a thread */ - - sap_session_t **pp_sessions; - sap_address_t **pp_addresses; - - vlc_bool_t b_control; - - int i_sessions; - int i_addresses; - - int i_current_session; - - int (*pf_add) ( sap_handler_t*, session_descriptor_t *); - int (*pf_del) ( sap_handler_t*, session_descriptor_t *); - - /* private data, not in p_sys as there is one kind of sap_handler_t */ -}; - struct session_descriptor_t { - char *psz_name; - char *psz_group; - - char *description; - char *url; // meta URL for SAP, potentially real URL for other cases - char *email; - char *phone; - struct sockaddr_storage orig; socklen_t origlen; struct sockaddr_storage addr; socklen_t addrlen; - char *sdpformat; // format suitable for SDP char *psz_sdp; - vlc_bool_t b_ssm; + bool b_ssm; }; -/* The main announce handler object */ -struct announce_handler_t -{ - VLC_COMMON_MEMBERS - - sap_handler_t *p_sap; -}; - -#define announce_HandlerCreate(a) __announce_HandlerCreate(VLC_OBJECT(a)) -announce_handler_t* __announce_HandlerCreate( vlc_object_t *); - -/* Private functions for the announce handler */ -int announce_HandlerDestroy( announce_handler_t * ); -int announce_Register( announce_handler_t *p_announce, - session_descriptor_t *p_session, - announce_method_t *p_method ); -int announce_UnRegister( announce_handler_t *p_announce, - session_descriptor_t *p_session ); - -sap_handler_t *announce_SAPHandlerCreate( announce_handler_t *p_announce ); -void announce_SAPHandlerDestroy( sap_handler_t *p_sap ); +struct sap_handler_t *SAP_Create (vlc_object_t *); +void SAP_Destroy (struct sap_handler_t *); +int SAP_Add (struct sap_handler_t *, session_descriptor_t *); +void SAP_Del (struct sap_handler_t *, const session_descriptor_t *); #endif