From: Laurent Aimar Date: Tue, 22 Jun 2004 19:29:19 +0000 (+0000) Subject: * all: rework of the input. X-Git-Tag: 0.8.0~1107 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=53b4094ff62fe490d6714e5987ff481a98c2ff60;p=vlc * all: rework of the input. --- diff --git a/include/input_ext-dec.h b/include/input_ext-dec.h deleted file mode 100644 index e2acfa5878..0000000000 --- a/include/input_ext-dec.h +++ /dev/null @@ -1,88 +0,0 @@ -/***************************************************************************** - * input_ext-dec.h: structures exported to the VideoLAN decoders - ***************************************************************************** - * Copyright (C) 1999-2001 VideoLAN - * $Id: input_ext-dec.h,v 1.83 2003/11/24 00:39:00 fenrir Exp $ - * - * Authors: Christophe Massiot - * Michel Kaempf - * - * 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, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - -#ifndef _VLC_INPUT_EXT_DEC_H -#define _VLC_INPUT_EXT_DEC_H 1 - -/* Structures exported to the decoders */ - -/***************************************************************************** - * data_packet_t - ***************************************************************************** - * Describe a data packet. - *****************************************************************************/ -struct data_packet_t -{ - /* Used to chain the packets that carry data for a same PES or PSI */ - data_packet_t * p_next; - - /* start of the PS or TS packet */ - byte_t * p_demux_start; - /* start of the PES payload in this packet */ - byte_t * p_payload_start; - byte_t * p_payload_end; /* guess ? :-) */ - /* is the packet messed up ? */ - vlc_bool_t b_discard_payload; - - /* pointer to the real data */ - data_buffer_t * p_buffer; -}; - -/***************************************************************************** - * pes_packet_t - ***************************************************************************** - * Describes an PES packet, with its properties, and pointers to the TS packets - * containing it. - *****************************************************************************/ -struct pes_packet_t -{ - /* Chained list to the next PES packet (depending on the context) */ - pes_packet_t * p_next; - - /* PES properties */ - vlc_bool_t b_data_alignment; /* used to find the beginning of - * a video or audio unit */ - vlc_bool_t b_discontinuity; /* This packet doesn't follow the - * previous one */ - - mtime_t i_pts; /* PTS for this packet (zero if unset) */ - mtime_t i_dts; /* DTS for this packet (zero if unset) */ - int i_rate; /* current reading pace (see stream_control.h) */ - - unsigned int i_pes_size; /* size of the current PES packet */ - - /* Chained list to packets */ - data_packet_t * p_first; /* The first packet contained by this - * PES (used by decoders). */ - data_packet_t * p_last; /* The last packet contained by this - * PES (used by the buffer allocator) */ - unsigned int i_nb_data; /* Number of data packets in the chained list */ -}; - -/***************************************************************************** - * Prototypes from input_ext-dec.c - *****************************************************************************/ -VLC_EXPORT( void, input_DeletePES, ( input_buffers_t *, pes_packet_t * ) ); - -#endif /* "input_ext-dec.h" */ diff --git a/include/input_ext-intf.h b/include/input_ext-intf.h deleted file mode 100644 index bf261ec0b4..0000000000 --- a/include/input_ext-intf.h +++ /dev/null @@ -1,360 +0,0 @@ -/***************************************************************************** - * input_ext-intf.h: structures of the input exported to the interface - * This header provides structures to read the stream descriptors and - * control the pace of reading. - ***************************************************************************** - * Copyright (C) 1999, 2000, 2003 VideoLAN - * $Id$ - * - * Authors: Christophe Massiot - * - * 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, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - -#ifndef _VLC_INPUT_EXT_INTF_H -#define _VLC_INPUT_EXT_INTF_H 1 - -#include "vlc_block.h" -#include "ninput.h" - -/* - * Communication input -> interface - */ -/* FIXME ! */ -#define REQUESTED_MPEG 1 -#define REQUESTED_A52 2 -#define REQUESTED_LPCM 3 -#define REQUESTED_DTS 4 -#define REQUESTED_NOAUDIO 255 - -/***************************************************************************** - * es_descriptor_t: elementary stream descriptor - ***************************************************************************** - * Describes an elementary stream, and includes fields required to handle and - * demultiplex this elementary stream. - *****************************************************************************/ -struct es_descriptor_t -{ - uint16_t i_id; /* stream ID for PS, PID for TS */ - uint8_t i_stream_id; /* stream ID defined in the PES */ - vlc_fourcc_t i_fourcc; /* stream type */ - uint8_t i_cat; /* stream category (audio, video, spu) */ - int i_demux_fd; /* used to store demux device - file handle */ - char *psz_desc; /* description of ES: audio language - * for instance ; NULL if not - * available */ - - /* Demultiplexer information */ - es_sys_t * p_demux_data; - pgrm_descriptor_t * p_pgrm; /* very convenient in the demultiplexer */ - - /* PES parser information */ - pes_packet_t * p_pes; /* Current PES */ - unsigned int i_pes_real_size; /* as indicated by the header */ - - /* Decoder information */ - es_format_t fmt; - void * p_waveformatex; - void * p_bitmapinfoheader; - void * p_spuinfo; - /* Decoder */ - decoder_t * p_dec; - - count_t c_packets; /* total packets read */ - count_t c_invalid_packets; /* invalid packets read */ - - /* XXX hack: to force a decoder instead of mode based on sout */ - vlc_bool_t b_force_decoder; -}; - -/***************************************************************************** - * pgrm_descriptor_t - ***************************************************************************** - * Describes a program and list associated elementary streams. It is build by - * the PSI decoder upon the informations carried in program map sections - *****************************************************************************/ -struct pgrm_descriptor_t -{ - /* Program characteristics */ - uint16_t i_number; /* program number */ - uint8_t i_version; /* version number */ - vlc_bool_t b_is_ok; /* Is the description up to date ? */ - - /* Service Descriptor (program name) - DVB extension */ - uint8_t i_srv_type; - char * psz_srv_name; - - /* Synchronization information */ - mtime_t delta_cr; - mtime_t cr_ref, sysdate_ref; - mtime_t last_cr; /* reference to detect unexpected stream - * discontinuities */ - mtime_t last_pts; - count_t c_average_count; - /* counter used to compute dynamic average values */ - int i_synchro_state; - - /* Demultiplexer data */ - pgrm_sys_t * p_demux_data; - - unsigned int i_es_number; /* size of the following array */ - es_descriptor_t ** pp_es; /* array of pointers to ES */ -}; - -/* Synchro states */ -#define SYNCHRO_OK 0 -#define SYNCHRO_START 1 -#define SYNCHRO_REINIT 2 - -/***************************************************************************** - * input_area_t - ***************************************************************************** - * Attributes for current area (title for DVD) - *****************************************************************************/ -struct input_area_t -{ - /* selected area attributes */ - unsigned int i_id; /* identificator for area */ - off_t i_start; /* start offset of area */ - off_t i_size; /* total size of the area - * (in arbitrary units) */ - - /* navigation parameters */ - off_t i_tell; /* actual location in the area - * (in arbitrary units) */ - off_t i_seek; /* next requested location - * (changed by the interface thread */ - - /* area subdivision */ - unsigned int i_part_nb; /* number of parts (chapter for DVD)*/ - unsigned int i_part; /* currently selected part */ - - - /* offset to plugin related data */ - off_t i_plugin_data; -}; - -/***************************************************************************** - * stream_descriptor_t - ***************************************************************************** - * Describes a stream and list its associated programs. Build upon - * the information carried in program association sections (for instance) - *****************************************************************************/ -struct stream_descriptor_t -{ - uint16_t i_stream_id; /* stream id */ - vlc_bool_t b_changed; /* if stream has been changed, - we have to inform the interface */ - vlc_mutex_t stream_lock; /* to be taken every time you read - * or modify stream, pgrm or es */ - - /* Input method data */ - unsigned int i_method; /* input method for stream: file, - disc or network */ - vlc_bool_t b_pace_control; /* can we read when we want ? */ - vlc_bool_t b_seekable; /* can we do lseek() ? */ - - /* if (b_seekable) : */ - unsigned int i_area_nb; - input_area_t ** pp_areas; /* list of areas in stream == offset - * interval with own properties */ - input_area_t * p_selected_area; - input_area_t * p_new_area; /* Newly selected area from - * the interface */ - - uint32_t i_mux_rate; /* the rate we read the stream (in - * units of 50 bytes/s) ; 0 if undef */ - - /* New status and rate requested by the interface */ - unsigned int i_new_status, i_new_rate; - int b_new_mute; /* int because it can be -1 */ - vlc_cond_t stream_wait; /* interface -> input in case of a - * status change request */ - /* Demultiplexer data */ - void * p_demux_data; - - /* Programs descriptions */ - unsigned int i_pgrm_number; /* size of the following array */ - pgrm_descriptor_t ** pp_programs; /* array of pointers to pgrm */ - pgrm_descriptor_t * p_selected_program; /* currently - selected program */ - pgrm_descriptor_t * p_new_program; /* Newly selected program */ - /* ES descriptions */ - unsigned int i_es_number; - es_descriptor_t ** pp_es; /* carried elementary streams */ - unsigned int i_selected_es_number; - es_descriptor_t ** pp_selected_es; /* ES with a decoder */ - es_descriptor_t * p_newly_selected_es; /* ES selected from - * the interface */ - es_descriptor_t * p_removed_es; /* ES removed from the interface */ - - /* Stream control */ - stream_ctrl_t control; - - /* Optional stream output */ - sout_instance_t * p_sout; - - /* Statistics */ - count_t c_packets_read; /* packets read */ - count_t c_packets_trashed; /* trashed packets */ -}; - -#define MUTE_NO_CHANGE -1 - -/***************************************************************************** - * info_t - *****************************************************************************/ - -/** - * Info item - */ - -struct info_t -{ - char *psz_name; /**< Name of this info */ - char *psz_value; /**< Value of the info */ -}; - -/** - * Info category - * \see info_t - */ -struct info_category_t -{ - char *psz_name; /**< Name of this category */ - int i_infos; /**< Number of infos in the category */ - struct info_t **pp_infos; /**< Pointer to an array of infos */ -}; - -/***************************************************************************** - * input_item_t - ***************************************************************************** - * Describes an input and is used to spawn input_thread_t objects. - *****************************************************************************/ -struct input_item_t -{ - char *psz_name; /**< text describing this item */ - char *psz_uri; /**< mrl of this item */ - - int i_options; /**< Number of input options */ - char **ppsz_options; /**< Array of input options */ - - mtime_t i_duration; /**< A hint about the duration of this - * item, in milliseconds*/ - - int i_categories; /**< Number of info categories */ - info_category_t **pp_categories; /**< Pointer to the first info category */ - - vlc_mutex_t lock; /**< Item cannot be changed without this lock */ -}; - -/***************************************************************************** - * input_thread_t - ***************************************************************************** - * This structure includes all the local static variables of an input thread - *****************************************************************************/ -struct input_thread_t -{ - VLC_COMMON_MEMBERS - - /* Thread properties */ - vlc_bool_t b_eof; - vlc_bool_t b_out_pace_control; - - /* Access module */ - module_t * p_access; - ssize_t (* pf_read ) ( input_thread_t *, byte_t *, size_t ); - int (* pf_set_program )( input_thread_t *, pgrm_descriptor_t * ); - int (* pf_set_area )( input_thread_t *, input_area_t * ); - void (* pf_seek ) ( input_thread_t *, off_t ); - int (* pf_access_control )( input_thread_t *, int, va_list ); - access_sys_t * p_access_data; - size_t i_mtu; - int i_pts_delay; /* internal caching */ - int i_cr_average; - - /* Stream */ - stream_t *s; - - /* Demux module */ - module_t * p_demux; - int (* pf_demux ) ( input_thread_t * ); - int (* pf_rewind ) ( input_thread_t * ); - /* NULL if we don't support going * - * backwards (it's gonna be fun) */ - int (* pf_demux_control ) ( input_thread_t *, int, va_list ); - demux_sys_t * p_demux_data; /* data of the demux */ - - /* es out */ - es_out_t *p_es_out; - - /* Buffer manager */ - input_buffers_t *p_method_data; /* data of the packet manager */ - data_buffer_t * p_data_buffer; - byte_t * p_current_data; - byte_t * p_last_data; - size_t i_bufsize; - - /* General stream description */ - stream_descriptor_t stream; - - /* Input item description */ - input_item_t *p_item; - - /* Playlist item */ - char * psz_source; - char * psz_dupsource; - char * psz_access; - char * psz_demux; - char * psz_name; - - count_t c_loops; - - /* User bookmarks */ - int i_bookmarks; - seekpoint_t **pp_bookmarks; - - /* private, do not touch it */ - input_thread_sys_t *p_sys; -}; - -/* Input methods */ -/* The first figure is a general method that can be used in interface plugins ; - * The second figure is a detailed sub-method */ -#define INPUT_METHOD_NONE 0x0 /* input thread is inactive */ -#define INPUT_METHOD_FILE 0x10 /* stream is read from file p_source */ -#define INPUT_METHOD_DISC 0x20 /* stream is read directly from disc */ -#define INPUT_METHOD_DVD 0x21 /* stream is read from DVD */ -#define INPUT_METHOD_VCD 0x22 /* stream is read from VCD */ -#define INPUT_METHOD_CDDA 0x23 /* stream is read from CDDA */ -#define INPUT_METHOD_NETWORK 0x30 /* stream is read from network */ -#define INPUT_METHOD_UCAST 0x31 /* UDP unicast */ -#define INPUT_METHOD_MCAST 0x32 /* UDP multicast */ -#define INPUT_METHOD_BCAST 0x33 /* UDP broadcast */ -#define INPUT_METHOD_VLAN_BCAST 0x34 /* UDP broadcast with VLANs */ -#define INPUT_METHOD_SATELLITE 0x40 /* stream is read from a */ - /* satellite card */ -#define INPUT_METHOD_SLP 0x50 /* SLP stream */ - -/***************************************************************************** - * Prototypes - *****************************************************************************/ -#define input_CreateThread(a,b) __input_CreateThread(VLC_OBJECT(a),b) -VLC_EXPORT( input_thread_t *, __input_CreateThread, ( vlc_object_t *, input_item_t * ) ); -VLC_EXPORT( void, input_StopThread, ( input_thread_t * ) ); -VLC_EXPORT( void, input_DestroyThread, ( input_thread_t * ) ); - -#endif /* "input_ext-intf.h" */ diff --git a/include/input_ext-plugins.h b/include/input_ext-plugins.h deleted file mode 100644 index 07a6d67629..0000000000 --- a/include/input_ext-plugins.h +++ /dev/null @@ -1,117 +0,0 @@ -/***************************************************************************** - * input_ext-plugins.h: structures of the input not exported to other modules, - * but exported to plug-ins - ***************************************************************************** - * Copyright (C) 1999-2002 VideoLAN - * $Id$ - * - * Authors: Christophe Massiot - * - * 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, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - -/* - * Communication plugin -> input - */ - -/* FIXME: you've gotta move this move this, you've gotta move this move this */ -#define PADDING_PACKET_SIZE 188 /* Size of the NULL packet inserted in case - * of data loss (this should be < 188). */ -#define PADDING_PACKET_NUMBER 10 /* Number of padding packets top insert to - * escape a decoder. */ -#define INPUT_DEFAULT_BUFSIZE 65536 /* Default buffer size to use when none - * is natural. */ -#define NO_SEEK -1 - -/***************************************************************************** - * Prototypes from input_programs.c - *****************************************************************************/ -VLC_EXPORT( int, input_InitStream,( input_thread_t *, size_t ) ); -VLC_EXPORT( void, input_EndStream, ( input_thread_t * ) ); -VLC_EXPORT( pgrm_descriptor_t *, input_FindProgram,( input_thread_t *, uint16_t ) ); -VLC_EXPORT( pgrm_descriptor_t *, input_AddProgram, ( input_thread_t *, uint16_t, size_t ) ); -VLC_EXPORT( void, input_DelProgram,( input_thread_t *, pgrm_descriptor_t * ) ); -VLC_EXPORT( int, input_SetProgram,( input_thread_t *, pgrm_descriptor_t * ) ); -VLC_EXPORT( input_area_t *, input_AddArea,( input_thread_t *, uint16_t, uint16_t ) ); -VLC_EXPORT( void, input_DelArea, ( input_thread_t *, input_area_t * ) ); -VLC_EXPORT( es_descriptor_t *, input_FindES,( input_thread_t *, uint16_t ) ); -VLC_EXPORT( es_descriptor_t *, input_AddES, ( input_thread_t *, pgrm_descriptor_t *, uint16_t, int, char const *, size_t ) ); -VLC_EXPORT( void, input_DelES, ( input_thread_t *, es_descriptor_t * ) ); -VLC_EXPORT( int, input_SelectES, ( input_thread_t *, es_descriptor_t * ) ); -VLC_EXPORT( int, input_UnselectES,( input_thread_t *, es_descriptor_t * ) ); - -/***************************************************************************** - * Prototypes from input_dec.c - *****************************************************************************/ -VLC_EXPORT( decoder_t *, input_RunDecoder, ( input_thread_t *, es_descriptor_t * ) ); -VLC_EXPORT( void, input_EndDecoder, ( input_thread_t *, es_descriptor_t * ) ); - -VLC_EXPORT( void, input_DecodePES, ( decoder_t *, pes_packet_t * ) ); -VLC_EXPORT( void, input_DecodeBlock,( decoder_t *, block_t * ) ); - -void input_EscapeDiscontinuity( input_thread_t * ); -void input_EscapeAudioDiscontinuity( input_thread_t * ); - -/***************************************************************************** - * Prototypes from es_out.c - *****************************************************************************/ -/* input internal use only */ -es_out_t *input_EsOutNew( input_thread_t * ); -void input_EsOutDelete( es_out_t * ); - -stream_t *input_StreamNew( input_thread_t * ); -void input_StreamDelete( stream_t * ); - -/***************************************************************************** - * Prototypes from input_clock.c - *****************************************************************************/ -void input_ClockInit( pgrm_descriptor_t * ); -VLC_EXPORT( int, input_ClockManageControl, ( input_thread_t *, pgrm_descriptor_t *, mtime_t ) ); -VLC_EXPORT( void, input_ClockManageRef, ( input_thread_t *, pgrm_descriptor_t *, mtime_t ) ); -VLC_EXPORT( mtime_t, input_ClockGetTS, ( input_thread_t *, pgrm_descriptor_t *, mtime_t ) ); - -/***************************************************************************** - * Prototypes from input_ext-plugins.h (buffers management) - *****************************************************************************/ -#define input_BuffersInit(a) __input_BuffersInit(VLC_OBJECT(a)) -void * __input_BuffersInit( vlc_object_t * ); -VLC_EXPORT( void, input_BuffersEnd, ( input_thread_t *, input_buffers_t * ) ); - -VLC_EXPORT( data_buffer_t *, input_NewBuffer, ( input_buffers_t *, size_t ) ); -VLC_EXPORT( void, input_ReleaseBuffer, ( input_buffers_t *, data_buffer_t * ) ); -VLC_EXPORT( data_packet_t *, input_ShareBuffer, ( input_buffers_t *, data_buffer_t * ) ); -VLC_EXPORT( data_packet_t *, input_NewPacket, ( input_buffers_t *, size_t ) ); -VLC_EXPORT( void, input_DeletePacket, ( input_buffers_t *, data_packet_t * ) ); -VLC_EXPORT( pes_packet_t *, input_NewPES, ( input_buffers_t * ) ); -VLC_EXPORT( ssize_t, input_FillBuffer, ( input_thread_t * ) ); -VLC_EXPORT( ssize_t, input_Peek, ( input_thread_t *, byte_t **, size_t ) ); -VLC_EXPORT( ssize_t, input_SplitBuffer, ( input_thread_t *, data_packet_t **, size_t ) ); -VLC_EXPORT( int, input_AccessInit, ( input_thread_t * ) ); -VLC_EXPORT( void, input_AccessReinit, ( input_thread_t * ) ); -VLC_EXPORT( void, input_AccessEnd, ( input_thread_t * ) ); - -/* - * Optional standard file descriptor operations (input_ext-plugins.h) - */ - -/***************************************************************************** - * input_socket_t: private access plug-in data - *****************************************************************************/ -struct input_socket_t -{ - /* Unbuffered file descriptor */ - int i_handle; -}; - diff --git a/include/stream_control.h b/include/stream_control.h deleted file mode 100644 index 9a14f896d2..0000000000 --- a/include/stream_control.h +++ /dev/null @@ -1,65 +0,0 @@ -/***************************************************************************** - * stream_control.h: structures of the input exported everywhere - * This header provides a structure so that everybody knows the state - * of the reading. - ***************************************************************************** - * Copyright (C) 1999, 2000 VideoLAN - * $Id: stream_control.h,v 1.12 2004/01/25 18:17:08 zorglub Exp $ - * - * Authors: Christophe Massiot - * - * 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, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - -#ifndef _STREAM_CONTROL_H -#define _STREAM_CONTROL_H 1 - -/* Structures exported to interface, input and decoders */ - -/***************************************************************************** - * stream_ctrl_t - ***************************************************************************** - * Describe the state of a program stream. - *****************************************************************************/ -struct stream_ctrl_t -{ - vlc_mutex_t control_lock; - - int i_status; - /* if i_status == FORWARD_S or BACKWARD_S */ - int i_rate; - - vlc_bool_t b_mute; - vlc_bool_t b_grayscale; /* use color or grayscale */ -}; - -/* Possible status : */ -enum stream_status_e -{ - UNDEF_S = 0, - PLAYING_S = 1, - PAUSE_S = 2, - FORWARD_S = 3, - BACKWARD_S = 4, - - INIT_S = 10, - END_S = 11 -}; - -#define DEFAULT_RATE 1000 -#define MINIMAL_RATE 31 /* Up to 32/1 */ -#define MAXIMAL_RATE 8000 /* Up to 1/8 */ - -#endif /* "stream_control.h" */ diff --git a/include/vlc/decoder.h b/include/vlc/decoder.h index 1ad6867ecb..4da5cd75a5 100644 --- a/include/vlc/decoder.h +++ b/include/vlc/decoder.h @@ -2,7 +2,7 @@ * decoder.h: header for vlc decoders ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: decoder.h,v 1.4 2004/01/25 18:17:08 zorglub Exp $ + * $Id$ * * 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 @@ -35,8 +35,6 @@ extern "C" { * Required internal headers *****************************************************************************/ #include "vlc_block.h" -#include "stream_control.h" -#include "input_ext-dec.h" #include "vlc_video.h" #include "audio_output.h" #include "vlc_codec.h" diff --git a/include/vlc/input.h b/include/vlc/input.h index 66e00639a5..89c3262200 100644 --- a/include/vlc/input.h +++ b/include/vlc/input.h @@ -2,7 +2,7 @@ * input.h: input modules header for vlc ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: input.h,v 1.4 2004/01/25 18:17:08 zorglub Exp $ + * $Id$ * * 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 @@ -35,11 +35,15 @@ extern "C" { * Required internal headers *****************************************************************************/ #include "vlc_block.h" -#include "stream_control.h" -#include "input_ext-intf.h" /* input_thread_s */ -#include "input_ext-dec.h" /* data_packet_s */ -#include "input_ext-plugins.h" -#include "ninput.h" + +#include "vlc_es.h" +#include "vlc_es_out.h" + +#include "vlc_input.h" + +#include "vlc_access.h" +#include "vlc_stream.h" +#include "vlc_demux.h" # ifdef __cplusplus } diff --git a/include/vlc/intf.h b/include/vlc/intf.h index 1c254d4629..5751594a76 100644 --- a/include/vlc/intf.h +++ b/include/vlc/intf.h @@ -35,9 +35,8 @@ extern "C" { * Required internal headers *****************************************************************************/ #include "vlc_interface.h" +#include "vlc_input.h" #include "intf_eject.h" -#include "stream_control.h" -#include "input_ext-intf.h" #include "vlc_playlist.h" # ifdef __cplusplus diff --git a/include/vlc_codec.h b/include/vlc_codec.h index 7302ce2f1c..4454b7725e 100644 --- a/include/vlc_codec.h +++ b/include/vlc_codec.h @@ -23,8 +23,6 @@ #ifndef _VLC_CODEC_H #define _VLC_CODEC_H 1 -#include "ninput.h" - /** * \file * This file defines the structure and types used by decoders and encoders diff --git a/include/vlc_objects.h b/include/vlc_objects.h index ea9c1d0bb6..2758a2b0e2 100644 --- a/include/vlc_objects.h +++ b/include/vlc_objects.h @@ -51,6 +51,7 @@ #define VLC_OBJECT_ANNOUNCE (-17) #define VLC_OBJECT_DEMUX (-18) #define VLC_OBJECT_ACCESS (-19) +#define VLC_OBJECT_STREAM (-20) #define VLC_OBJECT_GENERIC (-666)