diff options
author | Alessandro Decina <alessandro.d@gmail.com> | 2014-11-12 15:35:36 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2014-11-19 17:24:53 +0100 |
commit | c3acc296e1ab3d1d74e7168b0e385eb655fd67df (patch) | |
tree | 422655129fb48ee8159a976bb8399efa46dd52ef | |
parent | 4b8867138bd1509e688c80c5c99da3cddefb96f0 (diff) | |
download | gstreamer-plugins-bad-c3acc296e1ab3d1d74e7168b0e385eb655fd67df.tar.gz |
coremediabuffer: set ->pixel_buf for CVPixelBuffer buffers
Fix a bug for which we never actually set ->pixel_buf to non-NULL for
CVPixelBuffer buffers.
-rw-r--r-- | sys/applemedia/coremediabuffer.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/applemedia/coremediabuffer.c b/sys/applemedia/coremediabuffer.c index 548f858fb..74b814b9d 100644 --- a/sys/applemedia/coremediabuffer.c +++ b/sys/applemedia/coremediabuffer.c @@ -238,13 +238,11 @@ gst_core_media_buffer_new (CMSampleBufferRef sample_buf, gboolean use_video_meta) { CVImageBufferRef image_buf; - CVPixelBufferRef pixel_buf; CMBlockBufferRef block_buf; GstCoreMediaMeta *meta; GstBuffer *buf; image_buf = CMSampleBufferGetImageBuffer (sample_buf); - pixel_buf = NULL; block_buf = CMSampleBufferGetDataBuffer (sample_buf); buf = gst_buffer_new (); @@ -258,19 +256,19 @@ gst_core_media_buffer_new (CMSampleBufferRef sample_buf, CFRetain (block_buf); meta->sample_buf = sample_buf; meta->image_buf = image_buf; - meta->pixel_buf = pixel_buf; + meta->pixel_buf = NULL; meta->block_buf = block_buf; if (image_buf != NULL && CFGetTypeID (image_buf) == CVPixelBufferGetTypeID ()) { GstVideoInfo info; gboolean has_padding = FALSE; - pixel_buf = (CVPixelBufferRef) image_buf; - if (!gst_video_info_init_from_pixel_buffer (&info, pixel_buf)) { + meta->pixel_buf = (CVPixelBufferRef) image_buf; + if (!gst_video_info_init_from_pixel_buffer (&info, meta->pixel_buf)) { goto error; } - if (!gst_core_media_buffer_wrap_pixel_buffer (buf, &info, pixel_buf, + if (!gst_core_media_buffer_wrap_pixel_buffer (buf, &info, meta->pixel_buf, &has_padding)) { goto error; } |