summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-10-20 18:49:08 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-10-20 18:49:08 +0000
commit881e5d0783d66de0d3efe4b633aa413a277c5b18 (patch)
tree998f3cdd340f82a73f54b1cdc4e22c19dabff4ad
parentdaab5f2480c62bbe684e09e0ae979958b447124b (diff)
downloadmpv-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--Makefile13
-rw-r--r--codec-cfg.h2
-rwxr-xr-xconfigure4
-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.h2
-rw-r--r--libmpdemux/codec-cfg.h0
-rw-r--r--libmpdemux/config.h2
-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.h1
-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.h2
-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.c66
-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
diff --git a/Makefile b/Makefile
index 7b6e76d8f9..00a4ba6e16 100644
--- a/Makefile
+++ b/Makefile
@@ -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];
diff --git a/configure b/configure
index 510b49ba19..16b042b6b1 100755
--- a/configure
+++ b/configure
@@ -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