summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--gst/smpte/gstsmpte.c6
2 files changed, 13 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 7b85ec25..147d1895 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2007-01-19 Edward Hervey <edward@fluendo.com>
+
+ * gst/smpte/gstsmpte.c: (gst_smpte_collected):
+ Allocate buffers of the right size.
+ The proper size of a I420 buffer in bytes is:
+
+ width * height * 3
+ ------------------
+ 2
+
2007-01-18 Tim-Philipp Müller <tim at centricular dot net>
* gst/smpte/gstsmpte.c: (gst_smpte_init):
diff --git a/gst/smpte/gstsmpte.c b/gst/smpte/gstsmpte.c
index eceb3587..dc0c0a8c 100644
--- a/gst/smpte/gstsmpte.c
+++ b/gst/smpte/gstsmpte.c
@@ -436,17 +436,17 @@ gst_smpte_collected (GstCollectPads * pads, GstSMPTE * smpte)
if (in1 == NULL) {
/* if no input, make picture black */
- in1 = gst_buffer_new_and_alloc (smpte->width * smpte->height * 3);
+ in1 = gst_buffer_new_and_alloc (smpte->width * smpte->height * 3 / 2);
fill_i420 (GST_BUFFER_DATA (in1), smpte->width, smpte->height, 7);
}
if (in2 == NULL) {
/* if no input, make picture white */
- in2 = gst_buffer_new_and_alloc (smpte->width * smpte->height * 3);
+ in2 = gst_buffer_new_and_alloc (smpte->width * smpte->height * 3 / 2);
fill_i420 (GST_BUFFER_DATA (in2), smpte->width, smpte->height, 0);
}
if (smpte->position < smpte->end_position) {
- outbuf = gst_buffer_new_and_alloc (smpte->width * smpte->height * 3);
+ outbuf = gst_buffer_new_and_alloc (smpte->width * smpte->height * 3 / 2);
/* set caps if not done yet */
if (!GST_PAD_CAPS (smpte->srcpad)) {