# HG changeset patch # User michael # Date 1180966314 0 # Node ID 2b2f5fc314e0a473187e6a5ecd9224c1264e69cd # Parent c8e642dd5f9c51b632ce30dfb875f89682ce1fa4 move structs and enums to top of file so they can be used diff -r c8e642dd5f9c -r 2b2f5fc314e0 mpegts.c --- a/mpegts.c Mon Jun 04 13:57:00 2007 +0000 +++ b/mpegts.c Mon Jun 04 14:11:54 2007 +0000 @@ -117,6 +117,34 @@ MpegTSFilter *pids[NB_PID_MAX]; }; +/* TS stream handling */ + +enum MpegTSState { + MPEGTS_HEADER = 0, + MPEGTS_PESHEADER_FILL, + MPEGTS_PAYLOAD, + MPEGTS_SKIP, +}; + +/* enough for PES header + length */ +#define PES_START_SIZE 9 +#define MAX_PES_HEADER_SIZE (9 + 255) + +struct PESContext { + int pid; + int stream_type; + MpegTSContext *ts; + AVFormatContext *stream; + AVStream *st; + enum MpegTSState state; + /* used to get the format */ + int data_index; + int total_size; + int pes_header_size; + int64_t pts, dts; + uint8_t header[MAX_PES_HEADER_SIZE]; +}; + /** * Assembles PES packets out of TS packets, and then calls the "section_cb" * function when they are complete. @@ -717,34 +745,6 @@ pat_scan_cb, ts, 1); } -/* TS stream handling */ - -enum MpegTSState { - MPEGTS_HEADER = 0, - MPEGTS_PESHEADER_FILL, - MPEGTS_PAYLOAD, - MPEGTS_SKIP, -}; - -/* enough for PES header + length */ -#define PES_START_SIZE 9 -#define MAX_PES_HEADER_SIZE (9 + 255) - -struct PESContext { - int pid; - int stream_type; - MpegTSContext *ts; - AVFormatContext *stream; - AVStream *st; - enum MpegTSState state; - /* used to get the format */ - int data_index; - int total_size; - int pes_header_size; - int64_t pts, dts; - uint8_t header[MAX_PES_HEADER_SIZE]; -}; - static int64_t get_pts(const uint8_t *p) { int64_t pts;