]> git.saurik.com Git - wxWidgets.git/commitdiff
* Fixes (AIF works on Linux)
authorGuilhem Lavaux <lavaux@easynet.fr>
Sat, 26 Dec 1998 15:36:45 +0000 (15:36 +0000)
committerGuilhem Lavaux <lavaux@easynet.fr>
Sat, 26 Dec 1998 15:36:45 +0000 (15:36 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/list.cpp
src/common/stream.cpp
utils/wxMMedia/Makefile.in
utils/wxMMedia/sndfrmt.cpp
utils/wxMMedia/sndfrmt.h
utils/wxMMedia/sndmulaw.cpp
utils/wxMMedia/sndsnd.cpp
utils/wxMMedia/snduss.cpp

index a98385159dc3b7d2f80fea8b1729654e1422abac..c4c2e2078a9aeaa041f167eb01859d9bbf0088dd 100644 (file)
@@ -620,9 +620,10 @@ void wxStringList::Sort()
 {
     size_t N = GetCount();
     char **array = new char *[N];
+    wxStringListNode *node;
 
     size_t i = 0;
-    for ( wxStringListNode *node = GetFirst(); node; node = node->GetNext() )
+    for ( node = GetFirst(); node; node = node->GetNext() )
     {
         array[i++] = node->GetData();
     }
index 4f24cfc97aeab89cf40b0362a65e701d6e20f1a8..8754cc7c3a38e29700314d0f1fcb848923d5fb41 100644 (file)
@@ -136,6 +136,7 @@ void wxStreamBuffer::SetBufferIO(size_t bufsize)
 
 void wxStreamBuffer::ResetBuffer()
 {
+  m_stream->m_lasterror = wxStream_NOERROR;
   if (m_mode == read)
     m_buffer_pos = m_buffer_end;
   else
@@ -285,6 +286,7 @@ size_t wxStreamBuffer::Read(void *buffer, size_t size)
   // Buffering disabled
   // ------------------
 
+  m_stream->m_lasterror = wxStream_NOERROR;
   m_stream->m_lastcount = GetWBack((char *)buffer, size);
   size -= m_stream->m_lastcount;
   if (size == 0)
@@ -345,6 +347,7 @@ size_t wxStreamBuffer::Write(const void *buffer, size_t size)
   // Buffering disabled
   // ------------------
 
+  m_stream->m_lasterror = wxStream_NOERROR;
   if (!m_buffer_size)
     return (m_stream->m_lastcount = m_stream->OnSysWrite(buffer, size));
 
index e4effa22d318741784010acdfe4a0208226fa980..8c4c7ac9b1d8ba25f332321e31b3ade459a7f447 100644 (file)
@@ -17,9 +17,9 @@ ADPCM_SRC=\
 g711.cpp g721.cpp g723_24.cpp g723_40.cpp g72x.cpp
 
 MMEDIA_SRC=\
-mmdata.cpp mmfile.cpp mmsolve.cpp sndsnd.cpp sndfrmt.cpp sndpcm.o \
+mmdata.cpp mmfile.cpp mmsolve.cpp sndsnd.cpp sndfrmt.cpp sndpcm.cpp \
 snduss.cpp sndfile.cpp sndwav.cpp mmriff.cpp vidbase.cpp vidxanm.cpp \
-cdbase.cpp cdunix.cpp
+cdbase.cpp cdunix.cpp sndaiff.cpp sndmulaw.cpp sndau.cpp
 
 LIB_SRC= $(ADPCM_SRC:%.cpp=adpcm/%.cpp) $(MMEDIA_SRC)
 
index 750f17c83b34effe4bee52b089c4a07d070184e2..2c446375ea81dbb6c07cf016db3e0cdc0a59cfb2 100644 (file)
@@ -1,3 +1,12 @@
+////////////////////////////////////////////////////////////////////////////////
+// Name:       sndfrmt.cpp
+// Purpose:    wxMMedia
+// Author:     Guilhem Lavaux
+// Created:    1998
+// Updated:    December 1998
+// Copyright:  (C) 1997, 1998, Guilhem Lavaux
+// License:    wxWindows license
+////////////////////////////////////////////////////////////////////////////////
 #ifdef __GNUG__
 #pragma implementation "sndfrmt.h"
 #endif
@@ -81,6 +90,7 @@ wxSoundCodec *wxSoundDataFormat::GetCodec()
 
   m_codchange = FALSE;
   m_codec = wxSoundCodec::Get(m_codno);
+  CodecChange();
 
   return m_codec;
 }
index bb95535089e575f72340af8fc8876600284de969..69635c0e6dcc4a09a3ce3d618ba702e0803867b4 100644 (file)
@@ -1,3 +1,12 @@
+////////////////////////////////////////////////////////////////////////////////
+// Name:       sndfrmt.h
+// Purpose:    wxMMedia
+// Author:     Guilhem Lavaux
+// Created:    1998
+// Updated:    December 1998
+// Copyright:  (C) 1997, 1998, Guilhem Lavaux
+// License:    wxWindows license
+////////////////////////////////////////////////////////////////////////////////
 #ifndef __SNDFRMT_H__
 #define __SNDFRMT_H__
 
index 0cb1823077870bb26045b2ac5da5f0233af80fb2..3f45098f4060db0a3267a7c7abdccf683ad8f575 100644 (file)
@@ -1,3 +1,12 @@
+////////////////////////////////////////////////////////////////////////////////
+// Name:       sndmulaw.cpp
+// Purpose:    wxMMedia
+// Author:     Guilhem Lavaux
+// Created:    1997
+// Updated:    December 1998
+// Copyright:  (C) 1997, 1998, Guilhem Lavaux
+// License:    wxWindows license
+////////////////////////////////////////////////////////////////////////////////
 #ifdef __GNUG__
 #pragma implementation "sndmulaw.h"
 #endif
index 3422b7249f8ab5a4f0b66471b0b17cbe3e651ca5..b938f0a0b00a26007e17789a254b53a66b74fbec 100644 (file)
@@ -101,8 +101,6 @@ void wxSndBuffer::HardUnlock()
 
 void wxSndBuffer::ChangeCodec(int no)
 {
-  wxDELETE(m_sndcodec);
-
   m_sndformat.SetCodecNo(no);
   m_sndcodec = m_sndformat.GetCodec();
   m_sndcodec->SetIOBuffer(this);
index 9a03817bedc3dced341ff122dca241a6826afb55..100cd2a855c009bf1753e1a78b11357cf60a8d0d 100644 (file)
@@ -106,8 +106,6 @@ bool wxUssSound::DoInput(wxSndBuffer *buf)
   wxSoundCodec *codec = buf->GetCurrentCodec();
 
   m_sndbuf->ResetBuffer();
-  codec->SetInStream(m_sndbuf);
-  codec->InitIO(m_ussformat);
 
   bufsize = codec->Available();
   if (bufsize > m_max_bufsize)
@@ -152,11 +150,18 @@ bool wxUssSound::InitBuffer(wxSndBuffer *buf)
   }
 
   codec = buf->GetCurrentCodec();
-  codec->SetOutStream(m_sndbuf);
-  codec->InitIO(m_ussformat);
-  // TODO: We need more tests here.
-  codec->InitMode((m_mode == wxSND_OUTPUT) ? wxSoundCodec::DECODING : wxSoundCodec::ENCODING);
-
+  switch (m_mode) {
+  case wxSND_INPUT:
+    codec->SetInStream(m_sndbuf);
+    codec->InitIO(m_ussformat);
+    codec->InitMode(wxSoundCodec::ENCODING);
+    break;
+  case wxSND_OUTPUT:
+    codec->SetOutStream(m_sndbuf);
+    codec->InitIO(m_ussformat);
+    codec->InitMode(wxSoundCodec::DECODING);
+    break;
+  }
   return TRUE;
 }