u32 fmt;
enum solo_enc_types type;
+ u32 sequence;
struct vb2_queue vidq;
struct list_head vidq_active;
int desc_count;
/* Buffer handling */
struct vb2_queue vidq;
struct vb2_alloc_ctx *alloc_ctx;
+ u32 sequence;
struct task_struct *kthread;
struct mutex lock;
spinlock_t slock;
/* Make sure to do a bandwidth check */
if (solo_enc->bw_weight > solo_dev->enc_bw_remain)
return -EBUSY;
+ solo_enc->sequence = 0;
solo_dev->enc_bw_remain -= solo_enc->bw_weight;
if (solo_enc->type == SOLO_ENC_TYPE_EXT)
ret = solo_fill_jpeg(solo_enc, vb, vh);
if (!ret) {
- vb->v4l2_buf.sequence++;
+ vb->v4l2_buf.sequence = solo_enc->sequence++;
vb->v4l2_buf.timestamp.tv_sec = vh->sec;
vb->v4l2_buf.timestamp.tv_usec = vh->usec;
}
if (!error) {
vb2_set_plane_payload(vb, 0,
solo_vlines(solo_dev) * solo_bytesperline(solo_dev));
- vb->v4l2_buf.sequence++;
+ vb->v4l2_buf.sequence = solo_dev->sequence++;
v4l2_get_timestamp(&vb->v4l2_buf.timestamp);
}
{
struct solo_dev *solo_dev = vb2_get_drv_priv(q);
+ solo_dev->sequence = 0;
return solo_start_thread(solo_dev);
}