Mercurial > mplayer.hg
view Gui/Makefile @ 18708:9e2b300db17b
Change free_sh_audio() to take demuxer and stream id as parameters
(same as new_sh_audio()) instead of sh_audio_t *, use those to remove
the pointer from demuxer->a_streams[] before freeing it.
Some demuxers use free_sh_audio() to undo the creation of an
already-allocated audio stream in case of error. These uses were unsafe
since free_sh_audio() freed the data structure but left the pointer in
demuxer->a_streams[], leading to double free later in free_demuxer()
(and perhaps use of the freed stream before that, I didn't check).
author | uau |
---|---|
date | Wed, 14 Jun 2006 14:05:59 +0000 |
parents | 42e57ea2b91f |
children | 2dc84d07332c |
line wrap: on
line source
include ../config.mak include config.mak LIBNAME = libgui.a INCDIR = -I. -I.. -I../loader -I./wm -I./skin $(FREETYPE_INC) $(GTKINC) $(EXTRA_INC) OPTIMIZE = $(OPTFLAGS) CFLAGS = $(OPTIMIZE) $(INCDIR) $(DEBUG) SRCS = wm/ws.c \ wm/wsxdnd.c \ app.c \ interface.c \ cfg.c \ bitmap.c \ skin/skin.c \ skin/font.c \ skin/cut.c \ mplayer/widgets.c \ mplayer/play.c \ mplayer/mw.c \ mplayer/sw.c \ mplayer/menu.c \ mplayer/pb.c \ mplayer/common.c \ mplayer/gtk/menu.c \ mplayer/gtk/mb.c \ mplayer/gtk/about.c \ mplayer/gtk/pl.c \ mplayer/gtk/sb.c \ mplayer/gtk/fs.c \ mplayer/gtk/opts.c \ mplayer/gtk/url.c \ mplayer/gtk/eq.c \ mplayer/gtk/common.c \ OBJS = $(SRCS:.c=.o) .SUFFIXES: .c .o .c.o: $(CC) -c $(CFLAGS) -o $@ $< ### TARGETS ### $(LIBNAME): $(OBJS) rm -f $(LIBNAME) $(AR) rc $(LIBNAME) $(OBJS) $(MPLAYEROBJS) $(RANLIB) $(LIBNAME) all: $(LIBNAME) clean: rm -f *.o *.a *~ \ mplayer/*.o mplayer/*~ \ mplayer/gtk/*.o mplayer/gtk/*~ \ skin/*.o skin/*~ \ wm/*.o wm/*~ #dep: depend # #depend: # makedepend -- $(CFLAGS) -- $(SRCS) &>/dev/null # distclean: clean rm -f .depend dep: depend depend: $(CC) -MM $(CFLAGS) $(SRCS) 1>.depend # # include dependency files if they exist # ifneq ($(wildcard .depend),) include .depend endif