]> granicus.if.org Git - php/commitdiff
MFB 5_2:
authorFrank M. Kromann <fmk@php.net>
Thu, 9 Nov 2006 09:24:18 +0000 (09:24 +0000)
committerFrank M. Kromann <fmk@php.net>
Thu, 9 Nov 2006 09:24:18 +0000 (09:24 +0000)
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.

ext/ming/config.m4
ext/ming/ming.c

index 4cf3d9c5c296bca422cac78e1a068fcf0dd81385..bc92e239a99c0e37c66f2cd48072111d3b2aac23 100644 (file)
@@ -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
index c2d3758d8e90a0c67d3b1b175ebc80618f1353d1..88ac1bc4182c445ed8966e9d0cc0f5ca92964762 100644 (file)
 #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))
@@ -2480,17 +2474,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) {
@@ -2502,7 +2510,8 @@ PHP_METHOD(swfmovie, streamMP3)
        }
        
        sound = newSWFSoundStream_fromInput(input);
-       SWFMovie_setSoundStream(movie, sound);
+       SWFMovie_setSoundStreamAt(movie, sound, skip);
+       RETURN_LONG(SWFSoundStream_getFrames(sound));
 }
 /* }}} */