}
media_format_set_video_width(output_fmt, 1280);
media_format_set_video_height(output_fmt, 720);
- if (media_format_set_video_frame_rate(output_fmt, 30)) {
- g_print("media_format_set_video_frame_rate failed\n");
- return NULL;
- }
+ media_format_set_video_frame_rate(output_fmt, 30);
} else {
media_format_set_audio_mime(output_fmt, MEDIA_FORMAT_PCM);
media_format_set_audio_channel(output_fmt, 1);
return out_pkt;
}
+static void _consume_completed_cb(void *buffer , void *user_data)
+{
+ media_packet_h pkt = NULL;
+ media_format_h fmt = NULL;
+ LOGD("_consume_completed_cb : Used mediapacket will be free");
+
+ pkt = buffer;
+ media_packet_get_format(pkt, &fmt);
+ media_format_unref(fmt);
+ media_packet_destroy(pkt);
+ return;
+}
+
void feed_video_es(GstElement *element, GstBuffer *buffer, GstPad *pad, gpointer data)
{
guint n;
gst_memory_map(mem, &map, GST_MAP_READ);
out_pkt = streamrecorder_make_media_packet(1, map.data, map.size);
gst_memory_unmap(mem, &map);
+ gst_buffer_unref(buffer);
if (out_pkt) {
media_packet_set_pts(out_pkt, buffer->pts);
media_packet_set_extra(out_pkt, buffer);
return -1;
}
+ err = streamrecorder_set_buffer_consume_completed_cb(hmstreamrecorder->recorder, _consume_completed_cb, NULL);
+
g_timer_reset(timer);
err = streamrecorder_prepare(hmstreamrecorder->recorder);