Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5138870d authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

[media] ivtv: add control event support

parent c7a52f8d
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -750,6 +750,7 @@ unsigned int ivtv_v4l2_enc_poll(struct file *filp, poll_table * wait)
	struct ivtv *itv = id->itv;
	struct ivtv_stream *s = &itv->streams[id->type];
	int eof = test_bit(IVTV_F_S_STREAMOFF, &s->s_flags);
	unsigned res = 0;

	/* Start a capture if there is none */
	if (!eof && !test_bit(IVTV_F_S_STREAMING, &s->s_flags)) {
@@ -769,12 +770,16 @@ unsigned int ivtv_v4l2_enc_poll(struct file *filp, poll_table * wait)
	/* add stream's waitq to the poll list */
	IVTV_DEBUG_HI_FILE("Encoder poll\n");
	poll_wait(filp, &s->waitq, wait);
	if (v4l2_event_pending(&id->fh))
		res |= POLLPRI;
	else
		poll_wait(filp, &id->fh.events->wait, wait);

	if (s->q_full.length || s->q_io.length)
		return POLLIN | POLLRDNORM;
		return res | POLLIN | POLLRDNORM;
	if (eof)
		return POLLHUP;
	return 0;
		return res | POLLHUP;
	return res;
}

void ivtv_stop_capture(struct ivtv_open_id *id, int gop_end)
+2 −0
Original line number Diff line number Diff line
@@ -1451,6 +1451,8 @@ static int ivtv_subscribe_event(struct v4l2_fh *fh, struct v4l2_event_subscripti
	case V4L2_EVENT_VSYNC:
	case V4L2_EVENT_EOS:
		break;
	case V4L2_EVENT_CTRL:
		return v4l2_ctrl_subscribe_fh(fh, sub, 0);
	default:
		return -EINVAL;
	}