diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-01-25 07:24:59 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-01-25 11:57:07 +0100 |
commit | 56a07a14b59bb891355c407457e327f94f337392 (patch) | |
tree | b8d9deedfa3e923bb8632009d5c486f2f048cdc3 /ext/twolame/gsttwolamemp2enc.c | |
parent | eeea3f27ea36abd38d51199a66feed0b187f9f9c (diff) |
port to new memory API
Diffstat (limited to 'ext/twolame/gsttwolamemp2enc.c')
-rw-r--r-- | ext/twolame/gsttwolamemp2enc.c | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/ext/twolame/gsttwolamemp2enc.c b/ext/twolame/gsttwolamemp2enc.c index 67f91d75..c879edb8 100644 --- a/ext/twolame/gsttwolamemp2enc.c +++ b/ext/twolame/gsttwolamemp2enc.c @@ -613,7 +613,7 @@ static GstFlowReturn gst_two_lame_flush_full (GstTwoLame * lame, gboolean push) { GstBuffer *buf; - guint8 *data; + GstMapInfo map; gint size; GstFlowReturn result = GST_FLOW_OK; @@ -621,9 +621,9 @@ gst_two_lame_flush_full (GstTwoLame * lame, gboolean push) return GST_FLOW_OK; buf = gst_buffer_new_and_alloc (16384); - data = gst_buffer_map (buf, NULL, NULL, GST_MAP_WRITE); - size = twolame_encode_flush (lame->glopts, data, 16384); - gst_buffer_unmap (buf, data, 16384); + gst_buffer_map (buf, &map, GST_MAP_WRITE); + size = twolame_encode_flush (lame->glopts, map.data, 16384); + gst_buffer_unmap (buf, &map); if (size > 0 && push) { gst_buffer_set_size (buf, size); @@ -647,13 +647,11 @@ static GstFlowReturn gst_two_lame_handle_frame (GstAudioEncoder * enc, GstBuffer * buf) { GstTwoLame *twolame; - guchar *mp3_data; gint mp3_buffer_size, mp3_size; GstBuffer *mp3_buf; GstFlowReturn result; gint num_samples; - guint8 *data; - gsize size; + GstMapInfo map, mp3_map; twolame = GST_TWO_LAME (enc); @@ -661,43 +659,43 @@ gst_two_lame_handle_frame (GstAudioEncoder * enc, GstBuffer * buf) if (G_UNLIKELY (buf == NULL)) return gst_two_lame_flush_full (twolame, TRUE); - data = gst_buffer_map (buf, &size, NULL, GST_MAP_READ); + gst_buffer_map (buf, &map, GST_MAP_READ); if (twolame->float_input) - num_samples = size / 4; + num_samples = map.size / 4; else - num_samples = size / 2; + num_samples = map.size / 2; /* allocate space for output */ mp3_buffer_size = 1.25 * num_samples + 16384; mp3_buf = gst_buffer_new_and_alloc (mp3_buffer_size); - mp3_data = gst_buffer_map (mp3_buf, NULL, NULL, GST_MAP_WRITE); + gst_buffer_map (mp3_buf, &mp3_map, GST_MAP_WRITE); if (twolame->num_channels == 1) { if (twolame->float_input) mp3_size = twolame_encode_buffer_float32 (twolame->glopts, - (float *) data, - (float *) data, num_samples, mp3_data, mp3_buffer_size); + (float *) map.data, + (float *) map.data, num_samples, mp3_map.data, mp3_buffer_size); else mp3_size = twolame_encode_buffer (twolame->glopts, - (short int *) data, - (short int *) data, num_samples, mp3_data, mp3_buffer_size); + (short int *) map.data, + (short int *) map.data, num_samples, mp3_map.data, mp3_buffer_size); } else { if (twolame->float_input) mp3_size = twolame_encode_buffer_float32_interleaved (twolame->glopts, - (float *) data, - num_samples / twolame->num_channels, mp3_data, mp3_buffer_size); + (float *) map.data, + num_samples / twolame->num_channels, mp3_map.data, mp3_buffer_size); else mp3_size = twolame_encode_buffer_interleaved (twolame->glopts, - (short int *) data, - num_samples / twolame->num_channels, mp3_data, mp3_buffer_size); + (short int *) map.data, + num_samples / twolame->num_channels, mp3_map.data, mp3_buffer_size); } GST_LOG_OBJECT (twolame, "encoded %" G_GSIZE_FORMAT " bytes of audio " - "to %d bytes of mp3", size, mp3_size); + "to %d bytes of mp3", map.size, mp3_size); - gst_buffer_unmap (buf, data, -1); - gst_buffer_unmap (mp3_buf, mp3_data, -1); + gst_buffer_unmap (buf, &map); + gst_buffer_unmap (mp3_buf, &mp3_map); if (mp3_size > 0) { gst_buffer_set_size (mp3_buf, mp3_size); |