diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2011-03-21 18:13:55 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2011-03-28 20:08:45 +0200 |
commit | d82c8bd2aff0f10425da24c1b20043f3fd081dab (patch) | |
tree | 971d9113bdf942c8fd01798450af33a4c9363cbf /docs/manual | |
parent | 1eed0785afcde564992cb16374d37160483a0a8a (diff) |
memory: port code to new buffer data API
Diffstat (limited to 'docs/manual')
-rw-r--r-- | docs/manual/advanced-dataaccess.xml | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/docs/manual/advanced-dataaccess.xml b/docs/manual/advanced-dataaccess.xml index 0db6e3cdb..60d1f7233 100644 --- a/docs/manual/advanced-dataaccess.xml +++ b/docs/manual/advanced-dataaccess.xml @@ -56,17 +56,23 @@ cb_have_data (GstPad *pad, gpointer u_data) { gint x, y; - guint16 *data = (guint16 *) GST_BUFFER_DATA (buffer), t; + guint16 *data, *ptr, t; + gsize size; + + data = gst_buffer_map (buffer, &size, NULL, GST_MAP_WRITE); + ptr = data; /* invert data */ for (y = 0; y < 288; y++) { for (x = 0; x < 384 / 2; x++) { - t = data[384 - 1 - x]; - data[384 - 1 - x] = data[x]; - data[x] = t; + t = ptr[384 - 1 - x]; + ptr[384 - 1 - x] = ptr[x]; + ptr[x] = t; } - data += 384; + ptr += 384; } + gst_buffer_unmap (buffer, data, size); + return TRUE; } @@ -282,11 +288,16 @@ cb_handoff (GstElement *fakesrc, gpointer user_data) { static gboolean white = FALSE; + gpointer data; + gsize size; + + data = gst_buffer_map (buffer, &size, NULL, GST_MAP_WRITE); /* this makes the image black/white */ - memset (GST_BUFFER_DATA (buffer), white ? 0xff : 0x0, - GST_BUFFER_SIZE (buffer)); + memset (data, white ? 0xff : 0x0, size); white = !white; + + gst_buffer_unmap (buffer, data, size); } gint |