aboutsummaryrefslogtreecommitdiff
path: root/audio/quelcom/files/patch-lib::qwavheader.hh
diff options
context:
space:
mode:
Diffstat (limited to 'audio/quelcom/files/patch-lib::qwavheader.hh')
-rw-r--r--audio/quelcom/files/patch-lib::qwavheader.hh66
1 files changed, 66 insertions, 0 deletions
diff --git a/audio/quelcom/files/patch-lib::qwavheader.hh b/audio/quelcom/files/patch-lib::qwavheader.hh
new file mode 100644
index 000000000000..b96f41280404
--- /dev/null
+++ b/audio/quelcom/files/patch-lib::qwavheader.hh
@@ -0,0 +1,66 @@
+--- lib/qwavheader.hh.orig Fri Feb 23 21:29:12 2001
++++ lib/qwavheader.hh Fri Feb 13 19:17:38 2004
+@@ -20,9 +20,11 @@
+ /*!
+ * \brief struct for wav headers
+ *
+- * this struct is defined to match exactly with a 'canonical' wav header with no change on a little-endian machine
++ * this struct is defined to match exactly with a 'canonical' wav header with no
++ * change on a little-endian machine; on other architectures the alignment will
++ * match but int values will need conversion
+ */
+- struct header {
++ struct wavheader {
+
+ // riff chunk
+ char riff[4]; /*!< should be 'RIFF' */
+@@ -41,10 +43,19 @@
+
+ char data[4]; /*!< should be 'data' */
+ u_int32_t datalength; /*!< data block length (file size - 44) */
+- };
++
++ wavheader(caddr_t p) { headerCopy(p); }
++
++ /*!
++ * Copies WAV header from little-endian to host order
++ * \param p the memory address where the header is located
++ * \param nativeendian whether the struct is already in native byte ordering
++ */
++ void headerCopy(caddr_t p);
++ } __attribute__ ((__packed__));
+
+ //! pointer to the header (memory location where it is located)
+- struct header *header;
++ wavheader *header, *mappedheader;
+
+ public:
+
+@@ -58,6 +69,15 @@
+ */
+ qwavheader (caddr_t p, u_int32_t length=0);
+
++ /*! deep-copy */
++ qwavheader (const qwavheader& qwh)
++ :header(new wavheader(*qwh.header)), mappedheader(qwh.mappedheader) {}
++
++ /*!
++ * releases storage allocated for header
++ */
++ ~qwavheader();
++
+ /*!
+ * \brief gets the number of samples
+ * \return the number of samples
+@@ -147,11 +167,6 @@
+ * \return whether is valid or not
+ */
+ bool validLength(u_int32_t length);
+- /*!
+- * \brief write (copy) the header to the given address
+- * \param a the memory address where to write the header
+- */
+- void write(caddr_t );
+ };
+
+ # endif