[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog backend/sound_handler_gst.cpp
From: |
Bastiaan Jacques |
Subject: |
[Gnash-commit] gnash ChangeLog backend/sound_handler_gst.cpp |
Date: |
Tue, 25 Jul 2006 23:05:13 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Bastiaan Jacques <bjacques> 06/07/25 23:05:12
Modified files:
. : ChangeLog
backend : sound_handler_gst.cpp
Log message:
When reallocating, don't forget to copy the buffer contents.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.520&r2=1.521
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/sound_handler_gst.cpp?cvsroot=gnash&r1=1.4&r2=1.5
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.520
retrieving revision 1.521
diff -u -b -r1.520 -r1.521
--- ChangeLog 25 Jul 2006 22:46:36 -0000 1.520
+++ ChangeLog 25 Jul 2006 23:05:12 -0000 1.521
@@ -1,3 +1,8 @@
+2006-07-26 Bastiaan Jacques <address@hidden>
+
+ * backend/sound_handler_gst.cpp: When reallocating, don't forget to
+ copy the old buffer contents.
+
2006-07-25 Sandro Santilli <address@hidden>
* configure.ac: move XML2 and GLIB macro calls before gstreamer
Index: backend/sound_handler_gst.cpp
===================================================================
RCS file: /sources/gnash/gnash/backend/sound_handler_gst.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- backend/sound_handler_gst.cpp 25 Jul 2006 19:27:54 -0000 1.4
+++ backend/sound_handler_gst.cpp 25 Jul 2006 23:05:12 -0000 1.5
@@ -257,15 +257,17 @@
if (handle_id >= 0 && handle_id < m_sound_data.size())
{
- sound_data* cur_data = m_sound_data[handle_id]->data;
- unsigned int cur_data_size = cur_data->data_size;
// Reallocate the required memory.
- delete [] cur_data;
- cur_data = new guint8[data_bytes + cur_data_size];
- cur_data_size += data_bytes;
+ guint8* tmp_data = new guint8[data_bytes +
m_sound_data[handle_id]->data_size];
+ memcpy(tmp_data, m_sound_data[handle_id]->data,
m_sound_data[handle_id]->data_size);
+ memcpy(tmp_data + m_sound_data[handle_id]->data_size,
data, data_bytes);
+ delete [] m_sound_data[handle_id]->data;
+ m_sound_data[handle_id]->data = tmp_data;
- return cur_data_size - data_bytes;
+ m_sound_data[handle_id]->data_size += data_bytes;
+
+ return m_sound_data[handle_id]->data_size - data_bytes;
}
return 0;
// FIXME: if the playback of the stream has already started
we'll need to update the struct
@@ -288,10 +290,12 @@
GST_BUFFER_SIZE(buffer) =
gstelements->data_size;
}
- unsigned int buf_size = GST_BUFFER_SIZE(buffer);
+ // Reallocate the required memory.
+ guint8* tmp_buf = new guint8[GST_BUFFER_SIZE(buffer)];
+ memcpy(tmp_buf, GST_BUFFER_DATA(buffer),
sizeof(buffer));
delete [] GST_BUFFER_DATA(buffer);
- GST_BUFFER_DATA(buffer) = new guint8[buf_size];
+ GST_BUFFER_DATA(buffer) = tmp_buf;
}
// This shouldn't happen
- [Gnash-commit] gnash ChangeLog backend/sound_handler_gst.cpp,
Bastiaan Jacques <=