]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxMMedia/sndfrmt.h
fixed somebody's poorly done StreamSize-->GetSize transition
[wxWidgets.git] / utils / wxMMedia / sndfrmt.h
index 1e4249bf9e889ab5ae769b1cfa9872c54456d84c..6a67db7de2f23ea3fd0117499cbfc7901bce6d3b 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__
 
@@ -27,6 +36,7 @@ class wxSoundDataFormat {
   void SetChannels(int channels);
   void SetStereo(bool on);
   void SetCodecNo(int no);
+  int GetCodecNo() { return m_codno; }
   void SetCodecCreate(bool create) { m_codcreate = create; }
 
   int GetSampleRate() const { return m_srate; }
@@ -62,6 +72,12 @@ class wxSoundDataFormat {
 
 class wxSoundCodec : public wxObject, public wxStreamBase {
   DECLARE_ABSTRACT_CLASS(wxSoundCodec)
+ public:
+  typedef enum {
+    WAITING = 0,
+    ENCODING,
+    DECODING
+  } ModeType;
  public:
   wxSoundCodec();
   virtual ~wxSoundCodec();
@@ -70,8 +86,7 @@ class wxSoundCodec : public wxObject, public wxStreamBase {
   size_t Available();
 
   void InitIO(const wxSoundDataFormat& format);
-  void InitMode(int mode);
-  void ExitMode();
+  virtual void InitWith(const wxSoundDataFormat& format) {}
 
   inline void SetInStream(wxStreamBuffer *s)
           { m_in_sound = s; }
@@ -87,6 +102,8 @@ class wxSoundCodec : public wxObject, public wxStreamBase {
   virtual size_t GetByteRate() const = 0; 
   virtual wxSoundDataFormat GetPreferredFormat(int codec = 0) const = 0; 
 
+  virtual void InitMode(ModeType mode);
+  virtual void ExitMode();
   virtual void Decode() = 0;
   virtual void Encode() = 0;
 
@@ -113,11 +130,7 @@ class wxSoundCodec : public wxObject, public wxStreamBase {
   wxStreamBuffer *m_in_sound, *m_out_sound;
   wxSoundCodec *m_chain_codec;
   bool m_init, m_chain_before;
-
-  enum {
-    ENCODING = 0,
-    DECODING
-  } m_mode;
+  ModeType m_mode;
 };
 
 #endif