summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-06-06 13:28:25 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-06-06 13:28:25 +0000
commitf9810c0dfb769caa7e67660e59727aaf6b00fdbc (patch)
treeb3bba789c738aedb04f65dc9c8859b1f0a0a644d
parent92f79295d22d4d8810c7c02a006c47f3ab8dd8ab (diff)
downloadmpv-f9810c0dfb769caa7e67660e59727aaf6b00fdbc.tar.bz2
mpv-f9810c0dfb769caa7e67660e59727aaf6b00fdbc.tar.xz
Fix the linking of TOOLS/netstream and TOOLS/vivodump.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26995 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--Makefile23
-rw-r--r--TOOLS/netstream.c65
-rw-r--r--TOOLS/vivodump.c5
-rw-r--r--mplayer.c4
4 files changed, 30 insertions, 67 deletions
diff --git a/Makefile b/Makefile
index 827a3553e5..6872bd4676 100644
--- a/Makefile
+++ b/Makefile
@@ -898,7 +898,9 @@ TOOLS = TOOLS/alaw-gen$(EXESUF) \
TOOLS/compare$(EXESUF) \
TOOLS/dump_mp4$(EXESUF) \
TOOLS/movinfo$(EXESUF) \
+ TOOLS/netstream$(EXESUF) \
TOOLS/subrip$(EXESUF) \
+ TOOLS/vivodump$(EXESUF) \
ifdef ARCH_X86
TOOLS += TOOLS/modify_reg$(EXESUF)
@@ -907,8 +909,6 @@ endif
ALLTOOLS = $(TOOLS) \
TOOLS/bmovl-test$(EXESUF) \
TOOLS/vfw2menc$(EXESUF) \
- TOOLS/vivodump$(EXESUF) \
- TOOLS/netstream$(EXESUF) \
tools: $(TOOLS)
alltools: $(ALLTOOLS)
@@ -924,8 +924,13 @@ TOOLS/subrip$(EXESUF): TOOLS/subrip.c vobsub.o spudec.o unrar_exec.o \
TOOLS/vfw2menc$(EXESUF): TOOLS/vfw2menc.c -lwinmm -lole32
-#FIXME: Linking is broken, help welcome.
-TOOLS/vivodump$(EXESUF): TOOLS/vivodump.c $(TEST_OBJS)
+mplayer-nomain.o: mplayer.c
+ $(CC) $(CFLAGS) -DDISABLE_MAIN -c -o $@ $<
+
+TOOLS/netstream$(EXESUF): TOOLS/netstream.c $(subst mplayer.o,mplayer-nomain.o,$(OBJS_MPLAYER)) $(filter-out %mencoder.o,$(OBJS_MENCODER)) $(OBJS_COMMON) $(COMMON_LIBS)
+TOOLS/vivodump$(EXESUF): TOOLS/vivodump.c $(subst mplayer.o,mplayer-nomain.o,$(OBJS_MPLAYER)) $(filter-out %mencoder.o,$(OBJS_MENCODER)) $(OBJS_COMMON) $(COMMON_LIBS)
+TOOLS/netstream$(EXESUF) TOOLS/vivodump$(EXESUF):
+ $(CC) $(CFLAGS) -o $@ $^ $(EXTRALIBS_MPLAYER) $(EXTRALIBS_MENCODER) $(COMMON_LDFLAGS)
fastmemcpybench: TOOLS/fastmemcpybench.c
$(CC) $(CFLAGS) $< -o TOOLS/fastmem-mmx$(EXESUF) -DNAME=\"mmx\" -DHAVE_MMX
@@ -947,16 +952,6 @@ fastmemcpybench realcodecs: CFLAGS += -g
%.so.6.0: %.o
ld -shared -o $@ $< -ldl -lc
-# FIXME: netstream linking is a mess that should be fixed properly some day.
-# It does not work with either GUI, LIVE555, libavformat, cdparanoia enabled.
-NETSTREAM_DEPS = libavutil/libavutil.a \
- m_option.o \
- m_struct.o \
- $(TEST_OBJS)
-
-TOOLS/netstream$(EXESUF): TOOLS/netstream.o $(NETSTREAM_DEPS)
- $(CC) $(CFLAGS) -o $@ $^
-
###### drivers #######
diff --git a/TOOLS/netstream.c b/TOOLS/netstream.c
index d536dc6373..c9ab7cdec7 100644
--- a/TOOLS/netstream.c
+++ b/TOOLS/netstream.c
@@ -46,16 +46,18 @@
/// Netstream packets def and some helpers
#include "stream/netstream.h"
-
-//Set some standard variables
-char* dvdsub_lang=NULL;
-char* audio_lang=NULL;
-int sub_justify=0;
-int identify=0;
-int dvdsub_id=0;
-int audio_id=0;
-int video_id=0;
-void af_fmt2str() {};
+// linking hacks
+char *info_name;
+char *info_artist;
+char *info_genre;
+char *info_subject;
+char *info_copyright;
+char *info_sourceform;
+char *info_comment;
+
+char* out_filename = NULL;
+char* force_fourcc=NULL;
+char* passtmpfile="divx2pass.log";
#ifdef __MINGW32__
#define usleep sleep
@@ -367,46 +369,3 @@ int main(void) {
}
return main_loop(listen_fd);
}
-
-
-
-//---- For libmpdemux
-
-float stream_cache_seek_min_percent=50.0;
-float stream_cache_min_percent=20.0;
-
-#include <libmpdemux/demuxer.h>
-#include <libmpdemux/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){
- sh_audio=NULL;
-}
-void resync_audio_stream(sh_audio_t *sh_audio){
- sh_audio=NULL;
-}
-
-int mp_input_check_interrupt(int time){
- if(time) usleep(time);
- return 0;
-}
-
-// for libdvdread:
-#include "get_path.c"
-
-// linking hacks
-int stream_cache_size=0;
-int index_mode=0;
-
-// for demux_ogg:
-void* vo_sub=NULL;
-int vo_osd_changed(int new_value){ new_value++; return 0;}
-int subcc_enabled=0;
-
-float sub_fps=0;
-int sub_utf8=0;
-int suboverlap_enabled = 1;
-float sub_delay=0;
-
-//---------------
diff --git a/TOOLS/vivodump.c b/TOOLS/vivodump.c
index fe1cd90d77..a89cb3da2a 100644
--- a/TOOLS/vivodump.c
+++ b/TOOLS/vivodump.c
@@ -10,6 +10,7 @@
#include "libmpdemux/muxer.h"
#include "libmpdemux/demuxer.h"
+/* linking hacks */
char *info_name;
char *info_artist;
char *info_genre;
@@ -18,6 +19,10 @@ char *info_copyright;
char *info_sourceform;
char *info_comment;
+char* out_filename = NULL;
+char* force_fourcc=NULL;
+char* passtmpfile="divx2pass.log";
+
static const short h263_format[8][2] = {
{ 0, 0 },
{ 128, 96 },
diff --git a/mplayer.c b/mplayer.c
index bfe6f695c8..a5adb72918 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -2537,6 +2537,9 @@ static int seek(MPContext *mpctx, double amount, int style)
return 0;
}
+/* This preprocessor directive is a hack to generate a mplayer-nomain.o object
+ * file for some tools to link against. */
+#ifndef DISABLE_MAIN
int main(int argc,char* argv[]){
@@ -4038,3 +4041,4 @@ exit_player_with_rc(MSGTR_Exit_eof, 0);
return 1;
}
+#endif /* DISABLE_MAIN */