gnash-commit
[Top][All Lists]
Advanced

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

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


From: Tomas Groth
Subject: [Gnash-commit] gnash ChangeLog backend/sound_handler_sdl.cpp
Date: Fri, 03 Nov 2006 11:17:07 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Tomas Groth <tgc>       06/11/03 11:17:06

Modified files:
        .              : ChangeLog 
        backend        : sound_handler_sdl.cpp 

Log message:
        When using ffmpeg for mp3-decoding, keep trying until error or 
something has been decoded.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1485&r2=1.1486
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/sound_handler_sdl.cpp?cvsroot=gnash&r1=1.33&r2=1.34

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1485
retrieving revision 1.1486
diff -u -b -r1.1485 -r1.1486
--- ChangeLog   3 Nov 2006 08:39:25 -0000       1.1485
+++ ChangeLog   3 Nov 2006 11:17:06 -0000       1.1486
@@ -1,3 +1,9 @@
+2006-11-03 Tomas Groth Christensen <address@hidden>
+
+       * backend/sound_handler_sdl.cpp: When using ffmpeg for 
+         mp3-decoding, keep trying until error or something has been
+         decoded.
+         
 2006-11-03 Sandro Santilli <address@hidden>
 
        * server/: Makefile.am, PropertyList.h, StringPredicates.h:

Index: backend/sound_handler_sdl.cpp
===================================================================
RCS file: /sources/gnash/gnash/backend/sound_handler_sdl.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- backend/sound_handler_sdl.cpp       2 Nov 2006 07:31:34 -0000       1.33
+++ backend/sound_handler_sdl.cpp       3 Nov 2006 11:17:06 -0000       1.34
@@ -760,19 +760,18 @@
                                
                                if (sound->raw_data_size > 0) 
memset(sound->raw_data, 0, sound->raw_data_size);
 
+                               long bytes_decoded = 0;
+
+                               while (outsize == 0) {
                                uint8_t* frame;
                                int framesize;
 
-                               long bytes_decoded = 
av_parser_parse(sound->parser, sound->cc, &frame, &framesize,
+                                       bytes_decoded = 
av_parser_parse(sound->parser, sound->cc, &frame, &framesize,
                                                        (uint8_t *)(sound->data 
+ sound->position), sound->data_size - sound->position,
                                                        0 ,0);  //pts, dts
 
                                int tmp = 0;
-                               tmp = avcodec_decode_audio(sound->cc, 
-                                               (int16_t *)sound->raw_data, 
-                                               &outsize, 
-                                               frame, 
-                                               framesize);
+                                       tmp = avcodec_decode_audio(sound->cc, 
(int16_t *)sound->raw_data, &outsize, frame, framesize);
 
                                if (bytes_decoded < 0) {
                                        gnash::log_error("Error while decoding 
MP3-stream\n");
@@ -782,6 +781,7 @@
                                }
 
                                sound->position += bytes_decoded;
+                               }
 
 #elif defined(USE_MAD)
 




reply via email to

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