Update to mpeg player (smalltalk, source code, plugin)

Lex Spoon lex at cc.gatech.edu
Mon Nov 20 15:26:12 UTC 2000


A lot of these are my fault.  I'll fix these, at this poin there is a severe version
management problem.  I'll post *how* to fix them.  Anyway, here goes.

> * Makefile is overly complex

Simplicity is wonderful.  However, this complicated setup is pretty nice!

	1. The plugin can be dropped in to a VM build tree without hacking
files outside the plugin.

	2. The rules for building libmpeg are kept separate from those for
Squeak's MpegPlugin.  ie, libmpeg's directory can be dropped into a
foreign build tree without too much trouble.  (I'm starting to think all
C packages should have makefiles like this.)


Any simplification should at least maintain the first item, IMHO.  The
second is merely nice, but, why not?


> * no INSTALL description

Good point, someone need to write this.  :|  For Unix, to build 
the plugin, it is simply "unpack in src/, rerun configure, and
type 'make install'".  A README.UNIX or INSTALL.UNIX would
be great.


> * Mac binaries in src archive (mpeglibAudioVideo)

> * libpthread is linked even if disabled

Ooops.  This is kindof a pain, actually, because our plugin needs to
pick up the setting from the library.

The way to fix it, is to have libmpeg's mkMakefile define some makefile
variable if pthreads should be used, and for MpegPlugin's mkMakeInc to
use that variable.


> * cc must use -O3 because of inlined functions (and speed, of course)

True.  I wonder why this worked for me.....  But anyway, this would be
fixed in mkMakeInc; change the -O2 to -O3.

And of course, libmpeg should really be fixed, as well.


> * someone broke pthreads. if enabled, video playback is just blank
>   green!


I think it's okay.  Just make sure you do a "make clean".  And make sure
the make clean actually worked.  :)

I once spent about an hour debugging this, until I realized I had
changed the makefile without doing a full recompile.  What a pain. 



> * crashes VM when unloading the module while playing

Eww.  I guess we need to make sure all open mpeg streams get closed
before unloading the module.  Hrm....



-Lex





More information about the Squeak-dev mailing list