const int NUM_SAMPLES = 1600; /* 4 bytes (stereo 16-bit) per sample */
if (!seeking) {
+ GstMapInfo map;
+
out = gst_buffer_new_and_alloc (NUM_SAMPLES * 4);
- gst_buffer_set_caps (out, GST_PAD_CAPS (pad));
GST_BUFFER_TIMESTAMP (out) = gme_tell (gme->player) * GST_MSECOND;
- gme_err =
- gme_play (gme->player, NUM_SAMPLES * 2,
- (short *) GST_BUFFER_DATA (out));
+ gst_buffer_map (out, &map, GST_MAP_WRITE);
+ gme_err = gme_play (gme->player, NUM_SAMPLES * 2, (short *) map.data);
+ gst_buffer_unmap (out, &map);
+
if (gme_err) {
- GST_ELEMENT_ERROR (gme, STREAM, DEMUX, (NULL), (gme_err));
+ GST_ELEMENT_ERROR (gme, STREAM, DEMUX, (NULL), ("%s", gme_err));
gst_pad_pause_task (pad);
gst_pad_push_event (pad, gst_event_new_eos ());
gst_object_unref (gme);
parse = GST_OPUS_PARSE (base);
- data = GST_BUFFER_DATA (frame->buffer);
- size = GST_BUFFER_SIZE (frame->buffer);
+ data = gst_buffer_map (frame->buffer, &size, NULL, GST_MAP_READ);
- GST_DEBUG_OBJECT (parse, "Checking for frame, %u bytes in buffer", size);
+ GST_DEBUG_OBJECT (parse,
+ "Checking for frame, %" G_GSIZE_FORMAT " bytes in buffer", size);
/* check for headers */
is_idheader = gst_opus_header_is_id_header (frame->buffer);