struct QueueBufferInput : public Flattenable<QueueBufferInput> {
    friend class Flattenable<QueueBufferInput>;
    explicit inline QueueBufferInput(const Parcel& parcel);

    // timestamp - a monotonically increasing value in nanoseconds
    // isAutoTimestamp - if the timestamp was synthesized at queue time
    // dataSpace - description of the contents, interpretation depends on format
    // crop - a crop rectangle that's used as a hint to the consumer
    // scalingMode - a set of flags from NATIVE_WINDOW_SCALING_* in <window.h>
    // transform - a set of flags from NATIVE_WINDOW_TRANSFORM_* in <window.h>
    // fence - a fence that the consumer must wait on before reading the buffer,
    //         set this to Fence::NO_FENCE if the buffer is ready immediately
    // sticky - the sticky transform set in Surface (only used by the LEGACY
    //          camera mode).
    // getFrameTimestamps - whether or not the latest frame timestamps
    //                      should be retrieved from the consumer.
    inline QueueBufferInput(int64_t _timestamp, bool _isAutoTimestamp,
            android_dataspace _dataSpace, const Rect& _crop,
            int _scalingMode, uint32_t _transform, const sp<Fence>& _fence,
            uint32_t _sticky = 0, bool _getFrameTimestamps = false)
            : timestamp(_timestamp), isAutoTimestamp(_isAutoTimestamp),
              dataSpace(_dataSpace), crop(_crop), scalingMode(_scalingMode),
              transform(_transform), stickyTransform(_sticky), fence(_fence),
              surfaceDamage(), getFrameTimestamps(_getFrameTimestamps) { }
    ...
};

QueueBufferInput 定义在 IGraphicBufferProducer.h,它是 BufferQueueProducer::queueBuffer() 的参数,提供 buffer 的一些信息。