[libcamera-devel] [PATCH] gstreamer: Be pedantic on srcpads access
Umang Jain
umang.jain at ideasonboard.com
Thu Jun 30 08:02:12 CEST 2022
Hi Laurent,
On 6/30/22 05:49, Laurent Pinchart wrote:
> Hi Umang,
>
> Thank you for the patch.
>
> On Wed, Jun 29, 2022 at 06:25:51PM +0530, Umang Jain via libcamera-devel wrote:
>> While the "src" pad is added to the element, it is accessed
>> via a index number. If multiple pads are added(in future)
>> and tracked in state->srcpads_, the index might need re-adjusting.
> Don't we already support multiple pads ? I don't foresee
> libcamera_src_init() adding more than one pad, the other ones should be
> added dynamically by gst_libcamera_src_request_new_pad() as far as I
> understand.
Ah yes, that's correct. I didn't come across request_new_pad() earlier.
>
>> Use the std::vector::back() instead of index, which corresponds
>> to std::vector::push_back() for tracking of pads. It also slightly
>> helps with readability.
>>
>> No functional changes intended.
>>
>> Signed-off-by: Umang Jain <umang.jain at ideasonboard.com>
>> ---
>> src/gstreamer/gstlibcamerasrc.cpp | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/gstreamer/gstlibcamerasrc.cpp b/src/gstreamer/gstlibcamerasrc.cpp
>> index 46fd02d2..4813ab96 100644
>> --- a/src/gstreamer/gstlibcamerasrc.cpp
>> +++ b/src/gstreamer/gstlibcamerasrc.cpp
>> @@ -631,7 +631,7 @@ gst_libcamera_src_init(GstLibcameraSrc *self)
>> gst_task_set_lock(self->task, &self->stream_lock);
>>
>> state->srcpads_.push_back(gst_pad_new_from_template(templ, "src"));
>> - gst_element_add_pad(GST_ELEMENT(self), state->srcpads_[0]);
>> + gst_element_add_pad(GST_ELEMENT(self), state->srcpads_.back());
> I'm fine with the code change, but the commit message should be reworded
> if my understanding is right and this function will never add more than
> one pad.
Submitting v1.1 with commit message change.
>
>>
>> /* C-style friend. */
>> state->src_ = self;
More information about the libcamera-devel
mailing list