Browse Source

Revert patch for warnings about missing headers. These are fixed in the latest version of libming.

Sync code for SWFMovie::streamMP3. This function will now return the number of frames in the file.
experimental/5.2-WITH_DRCP
Frank M. Kromann 19 years ago
parent
commit
87b412dc3a
  1. 3
      ext/ming/config.m4
  2. 33
      ext/ming/ming.c

3
ext/ming/config.m4

@ -84,9 +84,6 @@ int main(void) { SWFMovie_output(NULL, NULL, NULL, 0); return 0; }
], [])
CPPFLAGS=$old_CPPFLAGS
AC_CHECK_HEADERS([ming/displaylist.h])
AC_CHECK_HEADERS([ming/movie.h])
PHP_NEW_EXTENSION(ming, ming.c, $ext_shared)
PHP_SUBST(MING_SHARED_LIBADD)
fi

33
ext/ming/ming.c

@ -36,12 +36,6 @@
#include <stdio.h>
#include <math.h>
#include <ming.h>
#ifdef HAVE_MING_DISPLAYLIST_H
# include <ming/displaylist.h>
#endif
#ifdef HAVE_MING_MOVIE_H
# include <ming/movie.h>
#endif
#define FLOAT_Z_DVAL_PP(x) ((float)Z_DVAL_PP(x))
#define BYTE_Z_LVAL_PP(x) ((byte)Z_LVAL_PP(x))
@ -2482,17 +2476,31 @@ PHP_METHOD(swfmovie, setFrames)
/* }}} */
#ifdef HAVE_NEW_MING
/* {{{ proto void swfmovie::streamMP3(mixed file)
Sets sound stream of the SWF movie. The parameter can be stream or string. */
/* {{{ proto int swfmovie::streamMP3(mixed file [, float skip])
Sets sound stream of the SWF movie. The parameter can be stream or string. Retuens the number of frames. */
PHP_METHOD(swfmovie, streamMP3)
{
zval **zfile;
zval **zfile, **zskip;
float skip;
SWFSoundStream sound;
SWFInput input;
SWFMovie movie = getMovie(getThis() TSRMLS_CC);
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &zfile) == FAILURE) {
WRONG_PARAM_COUNT;
switch (ZEND_NUM_ARGS()) {
case 1:
if(zend_get_parameters_ex(1, &zfile) == FAILURE)
WRONG_PARAM_COUNT;
skip = 0;
break;
case 2:
if(zend_get_parameters_ex(2, &zfile, &zskip) == FAILURE)
WRONG_PARAM_COUNT;
convert_to_double_ex(zskip);
skip = Z_DVAL_PP(zskip);
break;
default:
WRONG_PARAM_COUNT;
break;
}
if (Z_TYPE_PP(zfile) != IS_RESOURCE) {
@ -2504,7 +2512,8 @@ PHP_METHOD(swfmovie, streamMP3)
}
sound = newSWFSoundStream_fromInput(input);
SWFMovie_setSoundStream(movie, sound);
SWFMovie_setSoundStreamAt(movie, sound, skip);
RETURN_LONG(SWFSoundStream_getFrames(sound));
}
/* }}} */

Loading…
Cancel
Save