summaryrefslogtreecommitdiff
path: root/gst/law
diff options
context:
space:
mode:
Diffstat (limited to 'gst/law')
-rw-r--r--gst/law/alaw-decode.c12
-rw-r--r--gst/law/alaw-encode.c13
-rw-r--r--gst/law/mulaw-decode.c12
-rw-r--r--gst/law/mulaw-encode.c12
4 files changed, 33 insertions, 16 deletions
diff --git a/gst/law/alaw-decode.c b/gst/law/alaw-decode.c
index f88bec831..4ea9612b3 100644
--- a/gst/law/alaw-decode.c
+++ b/gst/law/alaw-decode.c
@@ -307,6 +307,7 @@ static GstFlowReturn
gst_alaw_dec_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
{
GstALawDec *alawdec;
+ GstMapInfo inmap, outmap;
gint16 *linear_data;
guint8 *alaw_data;
gsize alaw_size;
@@ -322,11 +323,14 @@ gst_alaw_dec_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
GST_LOG_OBJECT (alawdec, "buffer with ts=%" GST_TIME_FORMAT,
GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)));
- alaw_data = gst_buffer_map (buffer, &alaw_size, NULL, GST_MAP_READ);
+ gst_buffer_map (buffer, &inmap, GST_MAP_READ);
+ alaw_data = inmap.data;
+ alaw_size = inmap.size;
outbuf = gst_buffer_new_allocate (NULL, alaw_size, 0);
- linear_data = gst_buffer_map (outbuf, NULL, NULL, GST_MAP_WRITE);
+ gst_buffer_map (outbuf, &outmap, GST_MAP_WRITE);
+ linear_data = (gint16 *) outmap.data;
/* copy discont flag */
if (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT))
@@ -339,8 +343,8 @@ gst_alaw_dec_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
linear_data[i] = alaw_to_s16 (alaw_data[i]);
}
- gst_buffer_unmap (outbuf, linear_data, -1);
- gst_buffer_unmap (buffer, alaw_data, -1);
+ gst_buffer_unmap (outbuf, &outmap);
+ gst_buffer_unmap (buffer, &inmap);
gst_buffer_unref (buffer);
ret = gst_pad_push (alawdec->srcpad, outbuf);
diff --git a/gst/law/alaw-encode.c b/gst/law/alaw-encode.c
index 208e53391..104a896b1 100644
--- a/gst/law/alaw-encode.c
+++ b/gst/law/alaw-encode.c
@@ -492,6 +492,7 @@ static GstFlowReturn
gst_alaw_enc_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
{
GstALawEnc *alawenc;
+ GstMapInfo inmap, outmap;
gint16 *linear_data;
gsize linear_size;
guint8 *alaw_data;
@@ -506,7 +507,9 @@ gst_alaw_enc_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
if (G_UNLIKELY (alawenc->rate == 0 || alawenc->channels == 0))
goto not_negotiated;
- linear_data = gst_buffer_map (buffer, &linear_size, NULL, GST_MAP_READ);
+ gst_buffer_map (buffer, &inmap, GST_MAP_READ);
+ linear_data = (gint16 *) inmap.data;
+ linear_size = inmap.size;
alaw_size = linear_size / 2;
@@ -523,7 +526,9 @@ gst_alaw_enc_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
GST_SECOND, alawenc->rate * alawenc->channels);
}
- alaw_data = gst_buffer_map (outbuf, NULL, NULL, GST_MAP_WRITE);
+ gst_buffer_map (outbuf, &outmap, GST_MAP_WRITE);
+ alaw_data = outmap.data;
+ alaw_size = outmap.size;
/* copy discont flag */
if (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT))
@@ -536,8 +541,8 @@ gst_alaw_enc_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
alaw_data[i] = s16_to_alaw (linear_data[i]);
}
- gst_buffer_unmap (outbuf, alaw_data, -1);
- gst_buffer_unmap (buffer, linear_data, -1);
+ gst_buffer_unmap (outbuf, &outmap);
+ gst_buffer_unmap (buffer, &inmap);
gst_buffer_unref (buffer);
ret = gst_pad_push (alawenc->srcpad, outbuf);
diff --git a/gst/law/mulaw-decode.c b/gst/law/mulaw-decode.c
index d98390d13..5e57bd67f 100644
--- a/gst/law/mulaw-decode.c
+++ b/gst/law/mulaw-decode.c
@@ -240,6 +240,7 @@ static GstFlowReturn
gst_mulawdec_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
{
GstMuLawDec *mulawdec;
+ GstMapInfo inmap, outmap;
gint16 *linear_data;
guint8 *mulaw_data;
gsize mulaw_size, linear_size;
@@ -251,12 +252,15 @@ gst_mulawdec_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
if (G_UNLIKELY (mulawdec->rate == 0))
goto not_negotiated;
- mulaw_data = gst_buffer_map (buffer, &mulaw_size, NULL, GST_MAP_READ);
+ gst_buffer_map (buffer, &inmap, GST_MAP_READ);
+ mulaw_data = inmap.data;
+ mulaw_size = inmap.size;
linear_size = mulaw_size * 2;
outbuf = gst_buffer_new_allocate (NULL, linear_size, 0);
- linear_data = gst_buffer_map (outbuf, NULL, NULL, GST_MAP_WRITE);
+ gst_buffer_map (outbuf, &outmap, GST_MAP_WRITE);
+ linear_data = (gint16 *) outmap.data;
/* copy discont flag */
if (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT))
@@ -271,8 +275,8 @@ gst_mulawdec_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
mulaw_decode (mulaw_data, linear_data, mulaw_size);
- gst_buffer_unmap (outbuf, linear_data, -1);
- gst_buffer_unmap (buffer, mulaw_data, -1);
+ gst_buffer_unmap (outbuf, &outmap);
+ gst_buffer_unmap (buffer, &inmap);
gst_buffer_unref (buffer);
ret = gst_pad_push (mulawdec->srcpad, outbuf);
diff --git a/gst/law/mulaw-encode.c b/gst/law/mulaw-encode.c
index feff2b5d1..7db18b1a2 100644
--- a/gst/law/mulaw-encode.c
+++ b/gst/law/mulaw-encode.c
@@ -239,6 +239,7 @@ static GstFlowReturn
gst_mulawenc_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
{
GstMuLawEnc *mulawenc;
+ GstMapInfo inmap, outmap;
gint16 *linear_data;
gsize linear_size;
guint8 *mulaw_data;
@@ -252,7 +253,9 @@ gst_mulawenc_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
if (!mulawenc->rate || !mulawenc->channels)
goto not_negotiated;
- linear_data = gst_buffer_map (buffer, &linear_size, NULL, GST_MAP_READ);
+ gst_buffer_map (buffer, &inmap, GST_MAP_READ);
+ linear_data = (gint16 *) inmap.data;
+ linear_size = inmap.size;
mulaw_size = linear_size / 2;
@@ -266,7 +269,8 @@ gst_mulawenc_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
GST_SECOND, mulawenc->rate * mulawenc->channels);
}
- mulaw_data = gst_buffer_map (outbuf, NULL, NULL, GST_MAP_WRITE);
+ gst_buffer_map (outbuf, &outmap, GST_MAP_WRITE);
+ mulaw_data = outmap.data;
/* copy discont flag */
if (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT))
@@ -277,8 +281,8 @@ gst_mulawenc_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
mulaw_encode (linear_data, mulaw_data, mulaw_size);
- gst_buffer_unmap (outbuf, mulaw_data, -1);
- gst_buffer_unmap (buffer, linear_data, -1);
+ gst_buffer_unmap (outbuf, &outmap);
+ gst_buffer_unmap (buffer, &inmap);
gst_buffer_unref (buffer);
ret = gst_pad_push (mulawenc->srcpad, outbuf);