Fix the linking of TOOLS/netstream and TOOLS/vivodump.
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>
Fri, 6 Jun 2008 13:28:25 +0000 (13:28 +0000)
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>
Fri, 6 Jun 2008 13:28:25 +0000 (13:28 +0000)
git-svn-id: svn://git.mplayerhq.hu/mplayer/trunk@26995 b3059339-0415-0410-9bf9-f77b7e298cf2

Makefile
TOOLS/netstream.c
TOOLS/vivodump.c
mplayer.c

index 827a355..6872bd4 100644 (file)
--- 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 #######
index d536dc6..c9ab7cd 100644 (file)
 /// 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;
-
-//---------------
index fe1cd90..a89cb3d 100644 (file)
@@ -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 },
index bfe6f69..a5adb72 100644 (file)
--- 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 */