* This header provides structures to read the stream descriptors and
* control the pace of reading.
*****************************************************************************
- * Copyright (C) 1999, 2000 VideoLAN
- * $Id: input_ext-intf.h,v 1.91 2003/05/31 12:24:39 titer Exp $
+ * Copyright (C) 1999, 2000, 2003 VideoLAN
+ * $Id: input_ext-intf.h,v 1.102 2003/12/03 13:27:51 rocky Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
#ifndef _VLC_INPUT_EXT_INTF_H
#define _VLC_INPUT_EXT_INTF_H 1
+#include "ninput.h"
+
/*
* Communication input -> interface
*/
#define REQUESTED_DTS 4
#define REQUESTED_NOAUDIO 255
-#define OFFSETTOTIME_MAX_SIZE 10
-
/*****************************************************************************
* es_descriptor_t: elementary stream descriptor
*****************************************************************************
unsigned int i_pes_real_size; /* as indicated by the header */
/* Decoder information */
- decoder_fifo_t * p_decoder_fifo;
+ 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 */
#define CONDITIONNAL_ACCESS_TABLE_PID 0x0001 /* not used */
#define EMPTY_ID 0xffff /* empty record in a table */
-
-/* ES Categories to be used by interface plugins */
-#define UNKNOWN_ES 0x00
-#define VIDEO_ES 0x01
-#define AUDIO_ES 0x02
-#define SPU_ES 0x03
-#define NAV_ES 0x04
-
/*****************************************************************************
* pgrm_descriptor_t
*****************************************************************************
mtime_t cr_ref, sysdate_ref;
mtime_t last_cr; /* reference to detect unexpected stream
* discontinuities */
- mtime_t last_syscr;
+ mtime_t last_pts;
count_t c_average_count;
/* counter used to compute dynamic average values */
int i_synchro_state;
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_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;
char * psz_name;
count_t c_loops;
+
+ /* private, do not touch it */
+ input_thread_sys_t *p_sys;
};
/* Input methods */