When "num-buffers" property of basesrc is set, the last buffer cannot be pushed. baseparse tries buffer pulling to get the buffer with 64KB from gstbasesrc and a parser element makes the buffer of right pulling size and calculates the right offset. When baseparse tries buffer pulling in case of the last buffer, the size of buffer is lesser than original pulling size. So gstbaseparse buffer pulling again to get the buffer with the remaining size. Because of this behavior, gst_base_src_get_range() for the last buffer is called twice.