gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog gnash.vcproj backend/gnash.cpp ...


From: Tomas Groth
Subject: [Gnash-commit] gnash ChangeLog gnash.vcproj backend/gnash.cpp ...
Date: Wed, 26 Jul 2006 21:49:06 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Tomas Groth <tgc>       06/07/26 21:49:06

Modified files:
        .              : ChangeLog gnash.vcproj 
        backend        : gnash.cpp sound_handler_gst.cpp 
                         sound_handler_sdl.cpp 
        plugin         : player.cpp 
        plugin/klash   : klash.cpp 
        server         : gnash.h sound.cpp 
        server/swf     : ASHandlers.cpp 

Log message:
        Use SOUND_GST and SOUND_SDL to select which soundbackend to use. Small 
sound fixes.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.531&r2=1.532
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash.vcproj?cvsroot=gnash&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/gnash.cpp?cvsroot=gnash&r1=1.47&r2=1.48
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/sound_handler_gst.cpp?cvsroot=gnash&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/sound_handler_sdl.cpp?cvsroot=gnash&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/gnash/plugin/player.cpp?cvsroot=gnash&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/gnash/plugin/klash/klash.cpp?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/server/gnash.h?cvsroot=gnash&r1=1.34&r2=1.35
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sound.cpp?cvsroot=gnash&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/ASHandlers.cpp?cvsroot=gnash&r1=1.37&r2=1.38

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.531
retrieving revision 1.532
diff -u -b -r1.531 -r1.532
--- ChangeLog   26 Jul 2006 19:01:45 -0000      1.531
+++ ChangeLog   26 Jul 2006 21:49:05 -0000      1.532
@@ -1,4 +1,15 @@
 
+2006-07-26 Tomas Groth Christensen <address@hidden>
+
+        * gnash.vcproj: Added backend/sound_handler_gst.cpp.
+        * backend/sound_handler_gst.cpp: Use of more gstreamer plugins.
+        * backend/gnash.cpp, backend/sound_handler_sdl.cpp, 
+       plugin/player.cpp, plugin/klash/klash.cpp, server/gnash.h, 
+       server/sound.cpp: Use SOUND_GST and SOUND_SDL to select which
+       soundbackend to use.
+       * server/swf/ASHandlers.cpp: Stop soundplayback when gotoframe
+       and stop is called.
+
 2006-07-26 Sandro Santilli <address@hidden>
 
        * gui/gnash.cpp: use SOUND_GST and SOUND_SDL to switch

Index: gnash.vcproj
===================================================================
RCS file: /sources/gnash/gnash/gnash.vcproj,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- gnash.vcproj        26 Jul 2006 09:22:22 -0000      1.6
+++ gnash.vcproj        26 Jul 2006 21:49:05 -0000      1.7
@@ -446,6 +446,10 @@
                                >
                        </File>
                        <File
+                               RelativePath=".\backend\sound_handler_gst.cpp"
+                               >
+                       </File>
+                       <File
                                RelativePath=".\server\sprite_definition.cpp"
                                >
                        </File>

Index: backend/gnash.cpp
===================================================================
RCS file: /sources/gnash/gnash/backend/gnash.cpp,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- backend/gnash.cpp   24 Jul 2006 13:30:50 -0000      1.47
+++ backend/gnash.cpp   26 Jul 2006 21:49:05 -0000      1.48
@@ -425,11 +425,11 @@
     gnash::sound_handler  *sound = NULL;
     if (do_render) {
         if (do_sound) {
-#ifdef HAVE_SDL_MIXER_H
+#ifdef SOUND_SDL
             sound = gnash::create_sound_handler_sdl();
             gnash::set_sound_handler(sound);
 #endif
-#ifdef HAVE_GST_GST_H
+#ifdef SOUND_GST
             sound = gnash::create_sound_handler_gst();
             gnash::set_sound_handler(sound);
 #endif

Index: backend/sound_handler_gst.cpp
===================================================================
RCS file: /sources/gnash/gnash/backend/sound_handler_gst.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- backend/sound_handler_gst.cpp       26 Jul 2006 00:21:40 -0000      1.6
+++ backend/sound_handler_gst.cpp       26 Jul 2006 21:49:05 -0000      1.7
@@ -138,8 +138,9 @@
                adder = gst_element_factory_make ("adder", NULL);
 
                // create an audio sink - use oss, alsa or...? make a 
commandline option?
-               // we first try alsa, then oss, then esd, then...?
-               audiosink = gst_element_factory_make ("alsasink", NULL);
+               // we first try atudetect, then alsa, then oss, then esd, 
then...?
+               audiosink = gst_element_factory_make ("autoaudiosink", NULL);
+               if (!audiosink) audiosink = gst_element_factory_make 
("alsasink", NULL);
                if (!audiosink) audiosink = gst_element_factory_make 
("osssink", NULL);
                if (!audiosink) audiosink = gst_element_factory_make 
("esdsink", NULL);
 
@@ -181,9 +182,6 @@
        // can be use for playing it.
        {
 
-               int16_t* adjusted_data = 0;
-               int     adjusted_size = 0;
-
                sound_data *sounddata = new sound_data;
                if (!sounddata) {
                        gnash::log_error("could not allocate memory for 
sounddata !\n");
@@ -417,9 +415,10 @@
                // Create a gstreamer decoder for the chosen sound.
 
                if (m_sound_data[sound_handle]->format == FORMAT_MP3) { // || 
sound_data[m_sound_handle]->format == FORMAT_VORBIS) {
+
                        gst_element->decoder = gst_element_factory_make ("mad", 
NULL);
-                       if (!gst_element->decoder) gst_element_factory_make 
("ffdec_mp3", NULL);
-                       //if (!gst_element->decoder) gst_element_factory_make 
("ffdec_mp3", NULL); what is the fluendo decoder called?
+                       if (gst_element->decoder == NULL) gst_element->decoder 
= gst_element_factory_make ("ffdec_mp3", NULL);
+                       if (gst_element->decoder == NULL) gst_element->decoder 
= gst_element_factory_make ("flump3dec", NULL);
 
                        // Check if the element was correctly created
                        if (!gst_element->decoder) {

Index: backend/sound_handler_sdl.cpp
===================================================================
RCS file: /sources/gnash/gnash/backend/sound_handler_sdl.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- backend/sound_handler_sdl.cpp       25 Jul 2006 19:27:54 -0000      1.14
+++ backend/sound_handler_sdl.cpp       26 Jul 2006 21:49:05 -0000      1.15
@@ -9,7 +9,8 @@
 #include "config.h"
 #endif
 
-#ifdef HAVE_SDL_MIXER_H
+//#ifdef HAVE_SDL_MIXER_H
+#ifdef SOUND_SDL
 #include "gnash.h"
 #include "container.h"
 #include "SDL_mixer.h"

Index: plugin/player.cpp
===================================================================
RCS file: /sources/gnash/gnash/plugin/player.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- plugin/player.cpp   24 Jul 2006 13:30:50 -0000      1.15
+++ plugin/player.cpp   26 Jul 2006 21:49:05 -0000      1.16
@@ -334,13 +334,13 @@
     
     gnash::sound_handler  *sound = NULL;
     gnash::render_handler *render = NULL;
-#ifdef HAVE_SDL_MIXER_H
+#ifdef SOUND_SDL
     if (do_sound) {
        sound = gnash::create_sound_handler_sdl();
        gnash::set_sound_handler(sound);
     }
 #endif
-#ifdef HAVE_GST_GST_H
+#ifdef SOUND_GST
     if (do_sound) {
        sound = gnash::create_sound_handler_sdl();
        gnash::set_sound_handler(sound);

Index: plugin/klash/klash.cpp
===================================================================
RCS file: /sources/gnash/gnash/plugin/klash/klash.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- plugin/klash/klash.cpp      8 Jun 2006 05:24:02 -0000       1.8
+++ plugin/klash/klash.cpp      26 Jul 2006 21:49:05 -0000      1.9
@@ -445,10 +445,14 @@
     gnash::render_handler *render = NULL;
     if (do_render) {
         if (do_sound) {
-#ifdef HAVE_SDL_MIXER_H
+#ifdef SOUND_SDL
             sound = gnash::create_sound_handler_sdl();
             gnash::set_sound_handler(sound);
 #endif
+#ifdef SOUND_GST
+            sound = gnash::create_sound_handler_gst();
+            gnash::set_sound_handler(sound);
+#endif
         }
         render = gnash::create_render_handler_ogl();
         gnash::set_render_handler(render);

Index: server/gnash.h
===================================================================
RCS file: /sources/gnash/gnash/server/gnash.h,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- server/gnash.h      24 Jul 2006 18:59:40 -0000      1.34
+++ server/gnash.h      26 Jul 2006 21:49:06 -0000      1.35
@@ -407,7 +407,7 @@
                int             sample_rate,    /* one of 5512, 11025, 22050, 
44100 */
                bool            stereo
                ) = 0;
-#ifdef HAVE_GST_GST_H
+#ifdef SOUND_GST
        // gnash calls this to fill up soundstreams data
        virtual long    fill_stream_data(void* data, int data_bytes, int 
handle_id) = 0;
 #endif

Index: server/sound.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sound.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- server/sound.cpp    25 Jul 2006 19:27:55 -0000      1.13
+++ server/sound.cpp    26 Jul 2006 21:49:06 -0000      1.14
@@ -112,7 +112,7 @@
                }
        };
 
-#ifdef HAVE_GST_GST_H
+#ifdef SOUND_GST
        /// SWF Tag SoundStreamBlock (19) 
        struct start_stream_sound_tag : public execute_tag
        {
@@ -484,7 +484,7 @@
 void
 sound_stream_head_loader(stream* in, tag_type tag, movie_definition* m)
 {
-#ifdef HAVE_GST_GST_H
+#ifdef SOUND_GST
        assert(tag == 18 || tag == 45);
 
        // FIXME:
@@ -541,7 +541,7 @@
 void
 sound_stream_block_loader(stream* in, tag_type tag, movie_definition* m)
 {
-#ifdef HAVE_GST_GST_H
+#ifdef SOUND_GST
        assert(tag == 19);
 
 

Index: server/swf/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/ASHandlers.cpp,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- server/swf/ASHandlers.cpp   24 Jul 2006 14:53:25 -0000      1.37
+++ server/swf/ASHandlers.cpp   26 Jul 2006 21:49:06 -0000      1.38
@@ -537,6 +537,12 @@
     as_environment& env = thread.env;
     const action_buffer& code = thread.code;
 
+    sound_handler* s = get_sound_handler();
+    if (s)
+    {
+        s->stop_all_sounds();
+    }
+
     assert( code[thread.pc] == SWF::ACTION_STOP );
     env.get_target()->set_play_state(movie::STOP);
 }
@@ -582,6 +588,16 @@
 
        int frame = code.read_int16(thread.pc+3);
 
+       // If the frame we goto isn't the next in line, all sounds are stopped.
+       if (env.get_target()->get_current_frame()+1 != frame) {
+
+               sound_handler* s = get_sound_handler();
+               if (s)
+               {
+                       s->stop_all_sounds();
+               }
+       }
+
        // 0-based already?
        //// Convert from 1-based to 0-based
        //frame--;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]