A good week ago I started to gather input from others as they build linux and windows versions of the plugins. I consolidated all this and decided today to submit it back to the list. Things aren't quite "out of the box" ready so to speak, but almost.
Incorporated changes to make the mpeg code compile on Linux, macintosh, and Windows. More work is still pending.
For the Smalltalk code we changed the follow:
Added logic to set the color model based on endiness Changed C define names to better match what we are doing Reworked accessors for all Mpegfile attributes for accessibility in the MpegPlayer Added accessors for more instance variables Added logic to set sound volume Fiddled with delay logic once again Will drop more than 3 frames if video is too slow Rewrote logic that dealt with frame forward/backwards logic Added suggestions to play full screen if desired Added sanity checks to the C code
Thanks to: Bert Freudenberg Lex Spoon Stephen Pair Karl Ramberg Douglas Brebner (hope I didn't miss anyone)
Please refer to my mpeg page http://www.smalltalkconsulting.com/html/mpeg3source.html
Remember you'll need the new macintosh plugin, the change set and the mpeg morphic player change set. Hopefully I've not broken too many things (heh heh). Remember to feedback any issues
Thanks.
On Sat, 18 Nov 2000, John M McIntosh wrote:
Incorporated changes to make the mpeg code compile on Linux, macintosh, and Windows. More work is still pending.
Hopefully I've not broken too many things (heh heh).
Well ... it took me almost as long to get it to compile and run now as it took me to port to Linux the first time. Here's my list:
* Mpeg3Plugin.c is still misnamed (lower case P in Mpeg3plugin.c) * Icon^M.bin (CR in name - what's that file anyway?) * CRs instead of LF in files COPYING, changesForSqueak.h, Mpeg3Plugin.[hc] * Makefile is overly complex * no INSTALL description * Mac binaries in src archive (mpeglibAudioVideo) * video, audio must be subdirectories of libmpeg, docs should be * mkMakefile and other tools do not have execute permissions. You could use a suitable archive format (.tar.gz) or restore permissions in the Makefile (chmod +x ...) or use "sh -s < mkMakefile" or ... * "stuff = free(stuff);" should be "free(stuff);" in changesForSqueak.c * tabs at line start in Mpeg3Plugin.h must be deleted * mantissa.c in Makefile must be removed * libpthread is linked even if disabled * cc must use -O3 because of inlined functions (and speed, of course) * someone added underscores to the MMX code in output.c, slice.c, etc. (mpeg3_MMX_80w etc) which become undefined symbols when loading Mpeg3Plugin.so, causing the module load to fail * someone broke pthreads. if enabled, video playback is just blank green!
After this (I hope I didn't forget too many things) and with an other makefile it compiled and worked. I hope you still work with Lex to fix that stuff? One other issue:
* crashes VM when unloading the module while playing
-- Bert
Bert --
I just tried the latest version on the Mac with Karl's MPEGMorph and it works fine -- expect that it freeze frames when you try to make it bigger while it is playing (the sound keeps going), and you cannot rewind by dragging the slider backwards.
Cheers,
Alan
----
At 5:31 PM +0100 11/19/00, Bert Freudenberg wrote:
On Sat, 18 Nov 2000, John M McIntosh wrote:
Incorporated changes to make the mpeg code compile on Linux, macintosh, and Windows. More work is still pending.
Hopefully I've not broken too many things (heh heh).
Well ... it took me almost as long to get it to compile and run now as it took me to port to Linux the first time. Here's my list:
- Mpeg3Plugin.c is still misnamed (lower case P in Mpeg3plugin.c)
- Icon^M.bin (CR in name - what's that file anyway?)
- CRs instead of LF in files COPYING, changesForSqueak.h, Mpeg3Plugin.[hc]
- Makefile is overly complex
- no INSTALL description
- Mac binaries in src archive (mpeglibAudioVideo)
- video, audio must be subdirectories of libmpeg, docs should be
- mkMakefile and other tools do not have execute permissions. You could use a suitable archive format (.tar.gz) or restore permissions in the Makefile (chmod +x ...) or use "sh -s < mkMakefile" or ...
- "stuff = free(stuff);" should be "free(stuff);" in changesForSqueak.c
- tabs at line start in Mpeg3Plugin.h must be deleted
- mantissa.c in Makefile must be removed
- libpthread is linked even if disabled
- cc must use -O3 because of inlined functions (and speed, of course)
- someone added underscores to the MMX code in output.c, slice.c, etc. (mpeg3_MMX_80w etc) which become undefined symbols when loading Mpeg3Plugin.so, causing the module load to fail
- someone broke pthreads. if enabled, video playback is just blank green!
After this (I hope I didn't forget too many things) and with an other makefile it compiled and worked. I hope you still work with Lex to fix that stuff? One other issue:
- crashes VM when unloading the module while playing
-- Bert
On Sun, 19 Nov 2000, Alan Kay wrote:
I just tried the latest version on the Mac with Karl's MPEGMorph and it works fine
Ah, yes, I guess I forgot to mention this is on Linux. If someone needs a binary immediately: http://isgwww.cs.uni-magdeburg.de/~bert/squeak/mpeg/
-- expect that it freeze frames when you try to make it bigger while it is playing (the sound keeps going), and you cannot rewind by dragging the slider backwards.
I found another problem. With this file the player hangs, it only starts playing after an user interrupt (Alt-.):
http://www.fileplanet.com/index.asp?search=unrealtechdemo.mpg
-- Bert
Bert Freudenberg wrote:
I found another problem. With this file the player hangs, it only starts playing after an user interrupt (Alt-.):
http://www.fileplanet.com/index.asp?search=unrealtechdemo.mpg
I've played with file for a couple of days and it seems to be some incompabilitys with the MPEGPlugin. No matter how I try, sound gets choppy. Choppyness happens when the plugin reads from the mpeg. On the good side, I finetuned the audio playback settings in player a lot :-)
Karl
squeak-dev@lists.squeakfoundation.org