ChangeLog for ffmpeg-php (ffmpeg-php.sourceforge.net) version 0.5.0 (09/29/2006) Bug Fixes: * Fixed problem with params to av_open_input_file not getting initialized correctly. (Thanks to SilverCode for the fix) version 0.4.9 (09/04/2006) New Features: * Better error reporting when opening a movie fails * INSTALL doc clarifications Bug Fixes: * Fixed compilation error in ffmpeg_animated_gif.c when building against old ffmpeg version 0.4.8 (08/04/2006) New Features: * Added new functions for audio streams: getAudioSampleRate(), getAudioBitRate() (Martin Prangl) * Changed getBitRate function to like getAudioSampleRate() and getAudioBitRate(). Now returns bits per second instead of calculating kb/s. (To get kb/s just do movie->getBitRate() / 1000 in php.) (tkirby) Bug Fixes: * Fix possible error in hasAudio calculation if audio stream is the first stream. (tkirby) version 0.4.7 (06/08/2006) Bug Fixes: * Fixed framerate calculation to be compatible with ffmpeg cvs 6/8/06 (tkirby) version 0.4.6 (08/30/2005) Bug Fixes: * Fixed compatiblity with ffmpeg cvs after 7/30/05 or so (tkirby) version 0.4.5 (07/12/2005) Bug Fixes: * Minor build fixes for older ffmpeg versions (tkirby) version 0.4.4 (06/24/2005) New Features: * Added ability to create animated gifs via new ffmpeg_animated_gif class (tkirby) * Fixed ffmpeg_frame constructor to allow creating ffmpeg_frames from gd images. This allows to make animated gifs directly from a series of gd images. I believe this is currently the only way to make animated gifs using PHP since the bundled version of gd does not support animated gif creation (tkirby) * Added flag to php.ini to allow server admins to disable persistent movies since injudicious use of persistent movies in scripts can eat up server resources quickly (tkirby) * Added frame->isKeyFrame() and movie->getNextKeyFrame() methods (tkirby) * Now displays ffmpeg-php ini values in php_info() table (tkirby) Bug Fixes: * Fixed parsing of 'persistent' boolean flag in ffmpeg_movie constructor * Fixed segfault when a script tries to read more frames than exist in a movie. (tkirby) * Patch to use native time bases. This allows building against libavcodec build 4754+ (Steve Brown) * Patch to corrctly init gd before attempting to fetch gd image resources. This fixes the "togdimage() supplied resource is not a valid Image resource" error that a few people have reported (Steve Brown) version 0.4.3 (03/12/2005) Bug Fixes: * Added ability to open movies as persistent resources. This greatly increases speed of repeatedly accessing the same movie from separate php scripts. This is still somewhat experimental so don't use it unless you have a specific need (tkirby) * Increased strictness of compiler warnings to catch issues like undefined symbol errors. (tkirby) * Track frame number within ffmpeg-php since the frame_number variable in ffmpeg's decoder context seems to give inaccurate results on some 3GP movies. (tkirby) * Fixed bug #1099229 - Stride problems if ffmpeg_frame is resized upwards (tkirby) * Functions now use safe_emalloc() to avoid possible integer overflows (tkirby) * Changed lrint() to a macro to allow compiling on Windows (tkirby) version 0.4.2.1 (02/15/2005) Bug Fixes: * Fixed error handling when ffmpeg_movie object creation fails (tkirby) * Fixed undefined symbol error in ffmpeg_output_movie (tkirby) version 0.4.2 (01/15/2005) New Features: * Added more ID3 methods getAlbum(), getArtist(), getGenre()), getTrackNumber(), getYear() for audio files. (tkirby) * Cleaned up to build without gd (tkirby) * Added ability to build against current ffmpeg cvs (tkirby) Bug Fixes: * Fixed segfault in ffmpeg_movie free when decoder is not found (tkirby) version 0.4.1 (01/08/2005) New Features: * Added getVideoCodec(), getAudioCodec() and getAudioChannels() functions per feature request #1097373 (tkirby) * Added constructor for ffmpeg_frame that allows to create from a gd image. This won't be all that useful until encoding support is added. (tkirby) Bug Fixes: * Fixed incorrect error reporting in get_decoder (tkirby) * Don't error if decoder can't be found, just warn (tkirby) * Fixed nasty memory leak in free ffmpeg_frame (tkirby) * Code cleanup (tkirby) version 0.4.0a "Festivus" (12/23/2004) New Features: * Added ffmpeg_frame object to encapsulate frame specific methods. This cleans up the explosion of getFrame methods and makes eventual encoding support easier (tkirby) Bug Fixes: * Fixed bug where image resampling context was not getting freed (tkirby) * Fixed bug in getDuration() where duration was return as an int, which was causing frame counts to be off (tkirby) version 0.3.8a (12/15/2004) New Features: * Added getFrameIntoImage() function to reuse the same gd image for speed (tkirby) Bug Fixes: * Fixed bug in getFrameResampled() argument parsing (tkirby) * Fixed broken alias for getBitRate() function (tkirby) * Fixed memory leak in gd image allocation function (tkirby) version 0.3.7a (12/05/2004) New Features: * Added support for PHP5 Bug Fixes: * Fixed incorrect module initialization that was causing segfault in PHP5 (tkirby) version 0.3.6a (12/04/2004) New Features: * More malloc optimizations in frame conversion/resampling (tkirby) * Added cropping support to getFrameResampled() and getFrame() (tkirby) Bug Fixes: * Fixed bug #1079237 getFrame fails when getting the same frame twice (tkirby) * Fixed memory leak when freeing ffmpeg_movie objects (tkirby) * Fixed bug #1078753 cropping doesn't work correctly if image is not resized (tkirby) * Fixed bug #1077952 Segfault with multiple calls to getFrameResampled() (tkirby) * Fixed tiny memory leak in _php_get_gd_image() (tkirby) * Added configure warning if trying to build against php 5 since it is not supported yet. (tkirby) version 0.3.5a (11/29/2004): New Features: * Can now be built independently of PHP sources. (tkirby) * Added ebuild goodness for the Gentoo Type/R crowd (tkirby - Gentoo User :-) Bug Fixes: * Fixed a couple of really stupid conversion bugs in getFrame() and getFrameResampled() (tkirby) version 0.3.4a (11/28/2004): New Features: * Added new method getFrameResampled() which returns a frame resized using ffmpeg's resampling. ffmpeg resmpling IMHO is better than GD's resampling and will speed up greatly returning say a thumbnail sized frame since less data has to be copied into the returned GD image. The only caveat to ffmpeg based resampling is that the width and height of the resized image must be even numbers (tkirby) * Initial support for audio only files such as mp3 (tkirby) * getDuration() now works for mp3 files (tkirby) * getVideoBitrate() will return bit rate for mp3 files though this will change in the future when more audio specific methods are added (tkirby) version 0.3.3a (11/25/2004): New Features: * Added PHP constants for libavcodec version and build numbers (tkirby) * Added getVideoBitRate() method (tkirby) * More optimizations for successive calls to getFrame() (tkirby) Bug Fixes: * Don't error if stream params not found since some formats don't need them (tkirby) * Return zero if can't get a valid duration for the movie (tkirby) * Zero out alpha channel when copying frame to gd so gd will not try to apply alpha when image is passed to gdImageCopyResampled() (tkirby) * getFrame() no longer bounds checks the framenumber param against framecount since framecount may not always be accurate (tkirby) * getFrame() now returns false if the wanted frame is not found instead of generating an error (tkirby) version 0.3.2a (11/22/2004): New Features: * Added getPixelFormat() method (tkirby) * Added hasAudio() method (tkirby) * Optimized getFrame() method so that reading successive frames is much faster (tkirby) * getFrame() can now be called without an argument to get the next frame in the stream (tkirby) Bug Fixes: * Fixed getFrame() returning one frame off of the requested frame (tkirby) version 0.3.1a (11/19/2004): Bug Fixes: * Full getFrame() rework, should now work with all ffmpeg movie types (tkirby) version 0.3.0a (11/17/2004): New Features: * Initial support for framer() (tkirby)