Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37554482
en ru br
Репозитории ALT
S:0.4.5-alt4.svn20120121
5.1: 0.4.4-alt7
4.1: 0.4.4-alt7
4.0: 0.4.4-alt7
3.0: 0.4.4-alt5
www.altlinux.org/Changes

Группа :: Видео
Пакет: smpeg

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: smpeg-0.4.4-fixes.patch
Скачать


Index: MPEG.cpp
===================================================================
RCS file: /cvs/cvsroot/smpeg/MPEG.cpp,v
retrieving revision 1.29
retrieving revision 1.31
diff -u -u -r1.29 -r1.31
--- MPEG.cpp	2001/06/18 20:59:57	1.29
+++ MPEG.cpp	2003/01/26 00:21:41	1.31
@@ -98,7 +98,8 @@
     videoaction = NULL;
     audio = NULL;
     video = NULL;
-    audioaction_enabled = videoaction_enabled = false;
+    audioaction_enabled = SDLaudio;
+    videoaction_enabled = false;
     loop = false;
     pause = false;
 
@@ -133,6 +134,7 @@
     video = NULL;
     system = NULL;
     error = NULL;
+    source = NULL;
 
     audiostream = videostream = NULL;
     audioaction = NULL;
Index: MPEGaudio.h
===================================================================
RCS file: /cvs/cvsroot/smpeg/MPEGaudio.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -u -r1.22 -r1.23
--- MPEGaudio.h	2001/04/04 20:42:40	1.22
+++ MPEGaudio.h	2001/07/17 19:52:24	1.23
@@ -212,6 +212,7 @@
   /* MPEG header variables */
   /*************************/
 private:
+  int last_speed;
   int layer,protection,bitrateindex,padding,extendedmode;
   enum _mpegversion  {mpeg1,mpeg2}                               version;
   enum _mode    {fullstereo,joint,dual,single}                   mode;
Index: MPEGlist.cpp
===================================================================
RCS file: /cvs/cvsroot/smpeg/MPEGlist.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -u -r1.5 -r1.6
--- MPEGlist.cpp	2000/06/06 01:51:43	1.5
+++ MPEGlist.cpp	2003/01/26 00:21:41	1.6
@@ -16,7 +16,7 @@
   if(prev) prev->next = next;
   if(data)
   {
-    delete data;
+    delete[] data;
     data = 0;
   }
 }
Index: MPEGsystem.cpp
===================================================================
RCS file: /cvs/cvsroot/smpeg/MPEGsystem.cpp,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -u -r1.37 -r1.38
--- MPEGsystem.cpp	2001/04/27 23:12:17	1.37
+++ MPEGsystem.cpp	2003/01/26 00:21:41	1.38
@@ -1165,8 +1165,8 @@
       time = -1;
   }
 
-  delete buffer;
+  delete[] buffer;
 
   /* Get back to saved position */
   if((pos = SDL_RWseek(source, pos, SEEK_SET)) < 0)
Index: glmovie.c
===================================================================
RCS file: /cvs/cvsroot/smpeg/glmovie.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -u -r1.5 -r1.6
--- glmovie.c	2000/10/04 17:38:03	1.5
+++ glmovie.c	2002/07/10 02:38:48	1.6
@@ -8,8 +8,8 @@
 #include <stdlib.h>
 #include <malloc.h>
 #include <string.h>
-#include <unistd.h>
+/*#include <unistd.h>*/
 #include "glmovie.h"
 
 static void glmpeg_update( SDL_Surface*, Sint32, Sint32, Uint32, Uint32 );
Index: audio/MPEGaudio.cpp
===================================================================
RCS file: /cvs/cvsroot/smpeg/audio/MPEGaudio.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -u -r1.28 -r1.29
--- audio/MPEGaudio.cpp	2001/04/04 20:42:40	1.28
+++ audio/MPEGaudio.cpp	2002/06/08 09:53:51	1.29
@@ -200,9 +200,13 @@
 MPEGaudio:: Stop(void)
 {
     if ( valid_stream ) {
-        SDL_LockAudio();
+        if ( sdl_audio )
+            SDL_LockAudio();
+
         playing = false;
-        SDL_UnlockAudio();
+
+        if ( sdl_audio )
+            SDL_UnlockAudio();
     }
     ResetPause();
 }
Index: audio/mpegtoraw.cpp
===================================================================
RCS file: /cvs/cvsroot/smpeg/audio/mpegtoraw.cpp,v
retrieving revision 1.33
retrieving revision 1.35
diff -u -u -r1.33 -r1.35
--- audio/mpegtoraw.cpp	2001/04/05 20:27:48	1.33
+++ audio/mpegtoraw.cpp	2003/02/15 02:01:15	1.35
@@ -84,6 +84,7 @@
   register REAL *s1,*s2;
   REAL *s3,*s4;
 
+  last_speed = 0;
   stereo = true;
   forcetomonoflag = false;
   forcetostereoflag = false;
@@ -271,6 +272,20 @@
     getbyte();                      // CRC, Not check!!
     getbyte();
   }
+
+  // Sam 7/17 - skip sequences of quickly varying frequencies
+  int speed = frequencies[version][frequency];
+  if ( speed != last_speed ) {
+    last_speed = speed;
+    if ( rawdatawriteoffset ) {
+        ++decodedframe;
+#ifndef THREADED_AUDIO
+        ++currentframe;
+#endif
+    }
+    return loadheader();
+  }
+
   return true;
 }
 
@@ -350,7 +365,6 @@
     }
 
     audio->decoding = false;
-    audio->decode_thread = NULL;
     return(0);
 }
 #endif /* THREADED_AUDIO */
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin