]> git.sesse.net Git - vlc/commitdiff
* all: rework of the input.
authorLaurent Aimar <fenrir@videolan.org>
Tue, 22 Jun 2004 19:29:19 +0000 (19:29 +0000)
committerLaurent Aimar <fenrir@videolan.org>
Tue, 22 Jun 2004 19:29:19 +0000 (19:29 +0000)
include/input_ext-dec.h [deleted file]
include/input_ext-intf.h [deleted file]
include/input_ext-plugins.h [deleted file]
include/stream_control.h [deleted file]
include/vlc/decoder.h
include/vlc/input.h
include/vlc/intf.h
include/vlc_codec.h
include/vlc_objects.h

diff --git a/include/input_ext-dec.h b/include/input_ext-dec.h
deleted file mode 100644 (file)
index e2acfa5..0000000
+++ /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 <massiot@via.ecp.fr>
- *          Michel Kaempf <maxx@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
- * (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 (file)
index bf261ec..0000000
+++ /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 <massiot@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
- * (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 (file)
index 07a6d67..0000000
+++ /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 <massiot@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
- * (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 (file)
index 9a14f89..0000000
+++ /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 <massiot@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
- * (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" */
index 1ad6867ecb79ceccd70b3262abfe7ddaa8061d46..4da5cd75a5c456ccf72f957781242df7cd31de92 100644 (file)
@@ -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"
index 66e00639a567e1b6de68db6a539c533bc31fec0f..89c32622000d43a8b8cb27d729c3a2ceff2b0f8f 100644 (file)
@@ -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
 }
index 1c254d4629136a781fb35a35cd77dab9ddf90ea6..5751594a7632d085b81abec3d65bf8d8898bbcb7 100644 (file)
@@ -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
index 7302ce2f1cb1d61c2bd9cab406f66a8d8cb5c95c..4454b7725e23a5097339c88001f8285731c32347 100644 (file)
@@ -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
index ea9c1d0bb61aa7ebe9f611a7096ad4bf18b14cf4..2758a2b0e239fa44d606b5cbc3a3a15199e7a12a 100644 (file)
@@ -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)