struct in_addr last;
} FFServerIPAddressACL;
+/**
+ * This holds the stream parameters for an AVStream, it cannot be a AVStream
+ * because AVStreams cannot be instanciated without a AVFormatContext, especially
+ * not outside libavformat.
+ *
+ * The fields of this struct have the same semantics as the fields of an AVStream.
+ */
+typedef struct LayeredAVStream {
+ int index;
+ int id;
+ AVCodecParameters *codecpar;
+ AVCodecContext *codec;
+ AVRational time_base;
+ int pts_wrap_bits;
+ AVRational sample_aspect_ratio;
+ char *recommended_encoder_configuration;
+} LayeredAVStream;
+
/* description of each stream of the ffserver.conf file */
typedef struct FFServerStream {
enum FFServerStreamType stream_type;
int prebuffer; /* Number of milliseconds early to start */
int64_t max_time; /* Number of milliseconds to run */
int send_on_key;
- AVStream *streams[FFSERVER_MAX_STREAMS];
+ LayeredAVStream *streams[FFSERVER_MAX_STREAMS];
int feed_streams[FFSERVER_MAX_STREAMS]; /* index of streams in the feed */
char feed_filename[1024]; /* file name of the feed storage, or
input file name for a stream */
unsigned int nb_max_connections;
uint64_t max_bandwidth;
int debug;
+ int bitexact;
char logfilename[1024];
struct sockaddr_in http_addr;
struct sockaddr_in rtsp_addr;