From dceb8aefd10b386535f2823af973c837d05370d5 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Tue, 24 Mar 2015 19:05:00 +0530 Subject: [PATCH] videoaggregator: Document why buffer_vinfo is needed --- gst-libs/gst/video/gstvideoaggregatorpad.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gst-libs/gst/video/gstvideoaggregatorpad.h b/gst-libs/gst/video/gstvideoaggregatorpad.h index 8fd061b8a1..1839740269 100644 --- a/gst-libs/gst/video/gstvideoaggregatorpad.h +++ b/gst-libs/gst/video/gstvideoaggregatorpad.h @@ -61,6 +61,12 @@ struct _GstVideoAggregatorPad GstVideoInfo info; GstBuffer *buffer; + /* The caps on the pad may not match the buffer above because of two reasons: + * 1) When caps change, the info above will get updated, but the buffer might + * not since it might be pending on the GstAggregatorPad + * 2) We might reject the new buffer in fill_queues() and reuse a previous + * buffer which has older GstVideoInfo + * Hence, we need to maintain a GstVideoInfo for mapping buffers separately */ GstVideoInfo buffer_vinfo; GstVideoFrame *aggregated_frame;