diff options
Diffstat (limited to 'test/streamrecorder_test.c')
-rw-r--r-- | test/streamrecorder_test.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/streamrecorder_test.c b/test/streamrecorder_test.c index a349ca6..47484ab 100644 --- a/test/streamrecorder_test.c +++ b/test/streamrecorder_test.c @@ -290,6 +290,10 @@ void feed_video_es(GstElement *element, GstBuffer *buffer, GstPad *pad, gpointer n = gst_buffer_n_memory(buffer); + if (n <= 0) { + g_print("buffer has no memory block!\n"); + goto ERROR; + } mem = gst_buffer_peek_memory(buffer, n-1); gst_memory_map(mem, &map, GST_MAP_READ); @@ -302,6 +306,10 @@ void feed_video_es(GstElement *element, GstBuffer *buffer, GstPad *pad, gpointer streamrecorder_push_stream_buffer(hmstreamrecorder->recorder, out_pkt); } return; + +ERROR: + gst_buffer_unref(buffer); + return; } GstElement *vpipeline, *vconvert, *vsrc, *vfakesink, *vcaps; |