diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-20 18:49:08 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-20 18:49:08 +0000 |
commit | 881e5d0783d66de0d3efe4b633aa413a277c5b18 (patch) | |
tree | 998f3cdd340f82a73f54b1cdc4e22c19dabff4ad | |
parent | daab5f2480c62bbe684e09e0ae979958b447124b (diff) | |
download | mpv-881e5d0783d66de0d3efe4b633aa413a277c5b18.tar.bz2 mpv-881e5d0783d66de0d3efe4b633aa413a277c5b18.tar.xz |
libdemuxer...
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2311 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | Makefile | 13 | ||||
-rw-r--r-- | codec-cfg.h | 2 | ||||
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | libmpdemux/asf.h (renamed from asf.h) | 0 | ||||
-rw-r--r-- | libmpdemux/asf_streaming.c (renamed from asf_streaming.c) | 0 | ||||
-rw-r--r-- | libmpdemux/asfheader.c (renamed from asfheader.c) | 0 | ||||
-rw-r--r-- | libmpdemux/aviheader.c (renamed from aviheader.c) | 0 | ||||
-rw-r--r-- | libmpdemux/aviheader.h (renamed from aviheader.h) | 0 | ||||
-rw-r--r-- | libmpdemux/aviprint.c (renamed from aviprint.c) | 0 | ||||
-rw-r--r-- | libmpdemux/aviwrite.c (renamed from aviwrite.c) | 0 | ||||
-rw-r--r-- | libmpdemux/bswap.h | 2 | ||||
-rw-r--r-- | libmpdemux/codec-cfg.h | 0 | ||||
-rw-r--r-- | libmpdemux/config.h | 2 | ||||
-rw-r--r-- | libmpdemux/demux_asf.c (renamed from demux_asf.c) | 0 | ||||
-rw-r--r-- | libmpdemux/demux_avi.c (renamed from demux_avi.c) | 0 | ||||
-rw-r--r-- | libmpdemux/demux_mov.c (renamed from demux_mov.c) | 0 | ||||
-rw-r--r-- | libmpdemux/demux_mpg.c (renamed from demux_mpg.c) | 0 | ||||
-rw-r--r-- | libmpdemux/demuxer.c (renamed from demuxer.c) | 0 | ||||
-rw-r--r-- | libmpdemux/demuxer.h (renamed from demuxer.h) | 0 | ||||
-rw-r--r-- | libmpdemux/dvdauth.c (renamed from dvdauth.c) | 0 | ||||
-rw-r--r-- | libmpdemux/dvdauth.h (renamed from dvdauth.h) | 0 | ||||
-rw-r--r-- | libmpdemux/help_mp.h | 1 | ||||
-rw-r--r-- | libmpdemux/http.c (renamed from http.c) | 0 | ||||
-rw-r--r-- | libmpdemux/http.h (renamed from http.h) | 0 | ||||
-rw-r--r-- | libmpdemux/mp_msg.h | 2 | ||||
-rw-r--r-- | libmpdemux/network.c (renamed from network.c) | 0 | ||||
-rw-r--r-- | libmpdemux/network.h (renamed from network.h) | 0 | ||||
-rw-r--r-- | libmpdemux/open.c (renamed from open.c) | 0 | ||||
-rw-r--r-- | libmpdemux/parse_es.c (renamed from parse_es.c) | 0 | ||||
-rw-r--r-- | libmpdemux/parse_es.h (renamed from parse_es.h) | 0 | ||||
-rw-r--r-- | libmpdemux/stheader.h (renamed from stheader.h) | 4 | ||||
-rw-r--r-- | libmpdemux/stream.c (renamed from stream.c) | 4 | ||||
-rw-r--r-- | libmpdemux/stream.h (renamed from stream.h) | 0 | ||||
-rw-r--r-- | libmpdemux/test.c | 66 | ||||
-rw-r--r-- | libmpdemux/url.c (renamed from url.c) | 0 | ||||
-rw-r--r-- | libmpdemux/url.h (renamed from url.h) | 0 | ||||
-rw-r--r-- | libmpdemux/vcd_read.h (renamed from vcd_read.h) | 0 | ||||
-rw-r--r-- | libmpdemux/vcd_read_fbsd.h (renamed from vcd_read_fbsd.h) | 0 |
38 files changed, 88 insertions, 12 deletions
@@ -16,13 +16,13 @@ PRG_CFG = codec-cfg #prefix = /usr/local BINDIR = ${prefix}/bin # BINDIR = /usr/local/bin -SRCS = cpudetect.c postproc/swscale.c postproc/postprocess.c mp_msg.c open.c parse_es.c ac3-iec958.c find_sub.c aviprint.c dec_audio.c dec_video.c aviwrite.c aviheader.c asfheader.c demux_avi.c demux_asf.c demux_mpg.c demux_mov.c demuxer.c stream.c codec-cfg.c subreader.c linux/getch2.c linux/timer-lx.c linux/shmem.c xa/xa_gsm.c xa/rle8.c lirc_mp.c cfgparser.c mixer.c dvdauth.c spudec.c $(STREAM_SRCS) +SRCS = cpudetect.c postproc/swscale.c postproc/postprocess.c mp_msg.c ac3-iec958.c find_sub.c dec_audio.c dec_video.c codec-cfg.c subreader.c linux/getch2.c linux/timer-lx.c linux/shmem.c xa/xa_gsm.c xa/rle8.c lirc_mp.c cfgparser.c mixer.c spudec.c OBJS = $(SRCS:.c=.o) -CFLAGS = $(OPTFLAGS) -Iloader -Ilibvo $(CSS_INC) $(EXTRA_INC) # -Wall +CFLAGS = $(OPTFLAGS) -Ilibmpdemux -Iloader -Ilibvo $(CSS_INC) $(EXTRA_INC) # -Wall A_LIBS = -Lmp3lib -lMP3 -Llibac3 -lac3 $(ALSA_LIB) $(ESD_LIB) VO_LIBS = -Llibvo -lvo $(MLIB_LIB) $(X_LIBS) -PARTS = mp3lib libac3 libmpeg2 opendivx libavcodec encore libvo libao2 drivers drivers/syncfb +PARTS = libmpdemux mp3lib libac3 libmpeg2 opendivx libavcodec encore libvo libao2 drivers drivers/syncfb ifeq ($(GUI),yes) PARTS += Gui endif @@ -50,11 +50,14 @@ all: $(ALL_PRG) .c.o: $(CC) -c $(CFLAGS) -o $@ $< -COMMONLIBS = libvo/libvo.a libao2/libao2.a libac3/libac3.a mp3lib/libMP3.a libmpeg2/libmpeg2.a opendivx/libdecore.a encore/libencore.a +COMMONLIBS = libmpdemux/libmpdemux.a libvo/libvo.a libao2/libao2.a libac3/libac3.a mp3lib/libMP3.a libmpeg2/libmpeg2.a opendivx/libdecore.a encore/libencore.a loader/libloader.a: $(MAKE) -C loader +libmpdemux/libmpdemux.a: + $(MAKE) -C libmpdemux + loader/DirectShow/libDS_Filter.a: $(MAKE) -C loader/DirectShow @@ -93,7 +96,7 @@ mplayerwithoutlink: $(MPLAYER_DEP) @for a in $(PARTS); do $(MAKE) -C $$a all ; done $(PRG): $(MPLAYER_DEP) - $(CC) $(CFLAGS) -o $(PRG) mplayer.o $(OBJS) $(XMM_LIBS) $(LIRC_LIBS) $(A_LIBS) -lm $(TERMCAP_LIB) $(LIB_LOADER) $(AV_LIB) -Llibmpeg2 -lmpeg2 -Llibao2 -lao2 $(VO_LIBS) $(CSS_LIB) -Lencore -lencore $(DECORE_LIBS) $(GUI_LIBS) $(ARCH_LIBS) + $(CC) $(CFLAGS) -o $(PRG) mplayer.o -Llibmpdemux -lmpdemux $(OBJS) $(XMM_LIBS) $(LIRC_LIBS) $(A_LIBS) -lm $(TERMCAP_LIB) $(LIB_LOADER) $(AV_LIB) -Llibmpeg2 -lmpeg2 -Llibao2 -lao2 $(VO_LIBS) $(CSS_LIB) -Lencore -lencore $(DECORE_LIBS) $(GUI_LIBS) $(ARCH_LIBS) $(PRG_FIBMAP): fibmap_mplayer.o $(CC) -o $(PRG_FIBMAP) fibmap_mplayer.o diff --git a/codec-cfg.h b/codec-cfg.h index a97868cfd2..1086b23ed5 100644 --- a/codec-cfg.h +++ b/codec-cfg.h @@ -51,7 +51,7 @@ typedef struct { #endif -typedef struct { +typedef struct codecs_st { unsigned int fourcc[CODECS_MAX_FOURCC]; unsigned int fourccmap[CODECS_MAX_FOURCC]; unsigned int outfmt[CODECS_MAX_OUTFMT]; @@ -1734,7 +1734,7 @@ fi _streamingdef='#undef STREAMING' if test "$_streaming" = yes ; then - _streamingsrcs='asf_streaming.c network.c url.c http.c' +# _streamingsrcs='asf_streaming.c network.c url.c http.c' _streamingdef='#define STREAMING' fi @@ -2271,7 +2271,7 @@ AV_LIB = $_lavclib ALSA_LIB = $_alsalib ESD_LIB = $_esdlib ARCH_LIBS = $_archlibs $_iconvlib -STREAM_SRCS = $_streamingsrcs +STREAMING=$_streaming DECORE_LIBS = $_decorelibs DIVX4LINUX=$_divx4linux MLIB_INC = $_mlibinc diff --git a/asf.h b/libmpdemux/asf.h index 8d35563cda..8d35563cda 100644 --- a/asf.h +++ b/libmpdemux/asf.h diff --git a/asf_streaming.c b/libmpdemux/asf_streaming.c index 5205a143b6..5205a143b6 100644 --- a/asf_streaming.c +++ b/libmpdemux/asf_streaming.c diff --git a/asfheader.c b/libmpdemux/asfheader.c index d8349c6499..d8349c6499 100644 --- a/asfheader.c +++ b/libmpdemux/asfheader.c diff --git a/aviheader.c b/libmpdemux/aviheader.c index a3c073185f..a3c073185f 100644 --- a/aviheader.c +++ b/libmpdemux/aviheader.c diff --git a/aviheader.h b/libmpdemux/aviheader.h index d3d129b691..d3d129b691 100644 --- a/aviheader.h +++ b/libmpdemux/aviheader.h diff --git a/aviprint.c b/libmpdemux/aviprint.c index c8fdceea15..c8fdceea15 100644 --- a/aviprint.c +++ b/libmpdemux/aviprint.c diff --git a/aviwrite.c b/libmpdemux/aviwrite.c index beb431af8b..beb431af8b 100644 --- a/aviwrite.c +++ b/libmpdemux/aviwrite.c diff --git a/libmpdemux/bswap.h b/libmpdemux/bswap.h new file mode 100644 index 0000000000..21072f676a --- /dev/null +++ b/libmpdemux/bswap.h @@ -0,0 +1,2 @@ +/* Let it be for now*/ +#include "../bswap.h" diff --git a/libmpdemux/codec-cfg.h b/libmpdemux/codec-cfg.h new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/libmpdemux/codec-cfg.h diff --git a/libmpdemux/config.h b/libmpdemux/config.h new file mode 100644 index 0000000000..319abb0131 --- /dev/null +++ b/libmpdemux/config.h @@ -0,0 +1,2 @@ +/* Let it be for now*/ +#include "../config.h" diff --git a/demux_asf.c b/libmpdemux/demux_asf.c index 94787171cb..94787171cb 100644 --- a/demux_asf.c +++ b/libmpdemux/demux_asf.c diff --git a/demux_avi.c b/libmpdemux/demux_avi.c index 1583371b48..1583371b48 100644 --- a/demux_avi.c +++ b/libmpdemux/demux_avi.c diff --git a/demux_mov.c b/libmpdemux/demux_mov.c index 76b85c9473..76b85c9473 100644 --- a/demux_mov.c +++ b/libmpdemux/demux_mov.c diff --git a/demux_mpg.c b/libmpdemux/demux_mpg.c index dc4cc7f438..dc4cc7f438 100644 --- a/demux_mpg.c +++ b/libmpdemux/demux_mpg.c diff --git a/demuxer.c b/libmpdemux/demuxer.c index f573ef7860..f573ef7860 100644 --- a/demuxer.c +++ b/libmpdemux/demuxer.c diff --git a/demuxer.h b/libmpdemux/demuxer.h index 0cb3eea22e..0cb3eea22e 100644 --- a/demuxer.h +++ b/libmpdemux/demuxer.h diff --git a/dvdauth.c b/libmpdemux/dvdauth.c index 65801d6dda..65801d6dda 100644 --- a/dvdauth.c +++ b/libmpdemux/dvdauth.c diff --git a/dvdauth.h b/libmpdemux/dvdauth.h index 68ad752c0a..68ad752c0a 100644 --- a/dvdauth.h +++ b/libmpdemux/dvdauth.h diff --git a/libmpdemux/help_mp.h b/libmpdemux/help_mp.h new file mode 100644 index 0000000000..c714314853 --- /dev/null +++ b/libmpdemux/help_mp.h @@ -0,0 +1 @@ +#include "../help_mp.h" diff --git a/http.c b/libmpdemux/http.c index 75157fccf0..75157fccf0 100644 --- a/http.c +++ b/libmpdemux/http.c diff --git a/http.h b/libmpdemux/http.h index f8919288ae..f8919288ae 100644 --- a/http.h +++ b/libmpdemux/http.h diff --git a/libmpdemux/mp_msg.h b/libmpdemux/mp_msg.h new file mode 100644 index 0000000000..0f8ceae361 --- /dev/null +++ b/libmpdemux/mp_msg.h @@ -0,0 +1,2 @@ +/* Let it be for now*/ +#include "../mp_msg.h" diff --git a/network.c b/libmpdemux/network.c index 45299b8e4d..45299b8e4d 100644 --- a/network.c +++ b/libmpdemux/network.c diff --git a/network.h b/libmpdemux/network.h index 4ef14500e7..4ef14500e7 100644 --- a/network.h +++ b/libmpdemux/network.h diff --git a/open.c b/libmpdemux/open.c index 774e65c32c..774e65c32c 100644 --- a/open.c +++ b/libmpdemux/open.c diff --git a/parse_es.c b/libmpdemux/parse_es.c index 310b1c976d..310b1c976d 100644 --- a/parse_es.c +++ b/libmpdemux/parse_es.c diff --git a/parse_es.h b/libmpdemux/parse_es.h index 45936b396a..45936b396a 100644 --- a/parse_es.h +++ b/libmpdemux/parse_es.h diff --git a/stheader.h b/libmpdemux/stheader.h index 891331b032..0e83c53d84 100644 --- a/stheader.h +++ b/libmpdemux/stheader.h @@ -28,7 +28,7 @@ typedef struct { typedef struct { demux_stream_t *ds; unsigned int format; - codecs_t *codec; + struct codecs_st *codec; int inited; // output format: float timer; // value of old a_frame @@ -66,7 +66,7 @@ typedef struct { typedef struct { demux_stream_t *ds; unsigned int format; - codecs_t *codec; + struct codecs_st *codec; int inited; // output format: float timer; // value of old v_frame diff --git a/stream.c b/libmpdemux/stream.c index 34cc42bf9c..de138cef02 100644 --- a/stream.c +++ b/libmpdemux/stream.c @@ -17,9 +17,9 @@ extern int verbose; // defined in mplayer.c #ifdef __FreeBSD__ -#include "vcd_read_fbsd.c" +#include "vcd_read_fbsd.h" #else -#include "vcd_read.c" +#include "vcd_read.h" #endif #ifdef USE_DVDREAD diff --git a/stream.h b/libmpdemux/stream.h index 2859b68bc4..2859b68bc4 100644 --- a/stream.h +++ b/libmpdemux/stream.h diff --git a/libmpdemux/test.c b/libmpdemux/test.c new file mode 100644 index 0000000000..ce59b19228 --- /dev/null +++ b/libmpdemux/test.c @@ -0,0 +1,66 @@ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "mp_msg.h" + +#include "stream.h" +#include "demuxer.h" + +#include "wine/mmreg.h" +#include "wine/avifmt.h" +#include "wine/vfw.h" +#include "codec-cfg.h" +#include "stheader.h" + +//-------------------------- + +// audio stream skip/resync functions requires only for seeking. +// (they should be implemented in the audio codec layer) +void skip_audio_frame(sh_audio_t *sh_audio){ +} +void resync_audio_stream(sh_audio_t *sh_audio){ +} + +// some globals: +int verbose=1; + +// AVI demuxer parameters: +int index_mode=-1; // -1=untouched 0=don't use index 1=use (geneate) index +int force_ni=0; // force non-interleaved AVI parsing +int pts_from_bps=1; // PTS: 0=interleaved 1=BPS-based + +//--------------- + +extern stream_t* open_stream(char* filename,int vcd_track,int* file_format); + +int main(int argc,char* argv[]){ + +stream_t* stream=NULL; +demuxer_t* demuxer=NULL; +int file_format=DEMUXER_TYPE_UNKNOWN; + + mp_msg_init(verbose+MSGL_STATUS); + + if(argc>1) + stream=open_stream(argv[1],0,&file_format); + else +// stream=open_stream("/3d/divx/405divx_sm_v2[1].avi",0,&file_format); + stream=open_stream("/dev/cdrom",2,&file_format); // VCD track 2 + + if(!stream){ + printf("Cannot open file/device\n"); + exit(1); + } + + printf("success: format: %d data: 0x%X - 0x%X\n",file_format, (int)(stream->start_pos),(int)(stream->end_pos)); + + demuxer=demux_open(stream,file_format,-1,-1,-1); + if(!demuxer){ + printf("Cannot open demuxer\n"); + exit(1); + } + + +} diff --git a/url.c b/libmpdemux/url.c index f4a506ec72..f4a506ec72 100644 --- a/url.c +++ b/libmpdemux/url.c diff --git a/url.h b/libmpdemux/url.h index 5855296c38..5855296c38 100644 --- a/url.h +++ b/libmpdemux/url.h diff --git a/vcd_read.h b/libmpdemux/vcd_read.h index 9d6564be7a..9d6564be7a 100644 --- a/vcd_read.h +++ b/libmpdemux/vcd_read.h diff --git a/vcd_read_fbsd.h b/libmpdemux/vcd_read_fbsd.h index f21fb10b48..f21fb10b48 100644 --- a/vcd_read_fbsd.h +++ b/libmpdemux/vcd_read_fbsd.h |