*****************************************************************************/
/* __ is need because conflict with <vlc/input.h> */
-#ifndef VLC__INPUT_H
-#define VLC__INPUT_H 1
+#ifndef VLC_INPUT_H
+#define VLC_INPUT_H 1
/**
* \file
free( point );
}
-static inline seekpoint_t *vlc_seekpoint_Duplicate( seekpoint_t *src )
+static inline seekpoint_t *vlc_seekpoint_Duplicate( const seekpoint_t *src )
{
seekpoint_t *point = vlc_seekpoint_New();
if( src->psz_name ) point->psz_name = strdup( src->psz_name );
free( t );
}
-static inline input_title_t *vlc_input_title_Duplicate( input_title_t *t )
+static inline input_title_t *vlc_input_title_Duplicate( const input_title_t *t )
{
input_title_t *dup = vlc_input_title_New( );
int i;
* Prototypes
*****************************************************************************/
-#define input_Create(a,b,c,d) __input_Create(VLC_OBJECT(a),b,c,d)
-VLC_EXPORT( input_thread_t *, __input_Create, ( vlc_object_t *p_parent, input_item_t *, const char *psz_log, input_resource_t * ) );
+VLC_EXPORT( input_thread_t *, input_Create, ( vlc_object_t *p_parent, input_item_t *, const char *psz_log, input_resource_t * ) );
+#define input_Create(a,b,c,d) input_Create(VLC_OBJECT(a),b,c,d)
-#define input_CreateAndStart(a,b,c) __input_CreateAndStart(VLC_OBJECT(a),b,c)
-VLC_EXPORT( input_thread_t *, __input_CreateAndStart, ( vlc_object_t *p_parent, input_item_t *, const char *psz_log ) );
+VLC_EXPORT( input_thread_t *, input_CreateAndStart, ( vlc_object_t *p_parent, input_item_t *, const char *psz_log ) );
+#define input_CreateAndStart(a,b,c) input_CreateAndStart(VLC_OBJECT(a),b,c)
VLC_EXPORT( int, input_Start, ( input_thread_t * ) );
VLC_EXPORT( void, input_Stop, ( input_thread_t *, bool b_abort ) );
-#define input_Read(a,b) __input_Read(VLC_OBJECT(a),b)
-VLC_EXPORT( int, __input_Read, ( vlc_object_t *, input_item_t * ) );
+VLC_EXPORT( int, input_Read, ( vlc_object_t *, input_item_t * ) );
+#define input_Read(a,b) input_Read(VLC_OBJECT(a),b)
VLC_EXPORT( int, input_vaControl,( input_thread_t *, int i_query, va_list ) );
VLC_EXPORT( char *, input_CreateFilename, ( vlc_object_t *, const char *psz_path, const char *psz_prefix, const char *psz_extension ) );
/**
- * This function detaches resources from a dead input.
+ * It creates an empty input resource handler.
*
- * It MUST be called on a dead input (p_input->b_dead true) otherwise
- * it will assert.
- * It does not support concurrent calls.
+ * The given object MUST stay alive as long as the input_resource_t is
+ * not deleted.
*/
-VLC_EXPORT(input_resource_t *, input_DetachResource, ( input_thread_t * ) );
+VLC_EXPORT( input_resource_t *, input_resource_New, ( vlc_object_t * ) );
/**
- * This function releases the input resource.
+ * It releases an input resource.
*/
-VLC_EXPORT(void, input_resource_Delete, ( input_resource_t * ) );
+VLC_EXPORT(void, input_resource_Release, ( input_resource_t * ) );
+
+/**
+ * Forcefully destroys the video output (e.g. when the playlist is stopped).
+ */
+VLC_EXPORT(void, input_resource_TerminateVout, ( input_resource_t * ) );
+
+/**
+ * This function releases all resources (object).
+ */
+VLC_EXPORT( void, input_resource_Terminate, ( input_resource_t * ) );
#endif