|
@@ -78,7 +78,7 @@ static int ivtv_claim_stream(struct ivtv_open_id *id, int type)
|
|
|
if (type == IVTV_DEC_STREAM_TYPE_MPG) {
|
|
|
vbi_type = IVTV_DEC_STREAM_TYPE_VBI;
|
|
|
} else if (type == IVTV_ENC_STREAM_TYPE_MPG &&
|
|
|
- itv->vbi.insert_mpeg && itv->vbi.sliced_in->service_set) {
|
|
|
+ itv->vbi.insert_mpeg && !ivtv_raw_vbi(itv)) {
|
|
|
vbi_type = IVTV_ENC_STREAM_TYPE_VBI;
|
|
|
} else {
|
|
|
return 0;
|
|
@@ -305,7 +305,7 @@ static size_t ivtv_copy_buf_to_user(struct ivtv_stream *s, struct ivtv_buffer *b
|
|
|
|
|
|
if (len > ucount) len = ucount;
|
|
|
if (itv->vbi.insert_mpeg && s->type == IVTV_ENC_STREAM_TYPE_MPG &&
|
|
|
- itv->vbi.sliced_in->service_set && buf != &itv->vbi.sliced_mpeg_buf) {
|
|
|
+ !ivtv_raw_vbi(itv) && buf != &itv->vbi.sliced_mpeg_buf) {
|
|
|
const char *start = buf->buf + buf->readpos;
|
|
|
const char *p = start + 1;
|
|
|
const u8 *q;
|
|
@@ -372,7 +372,7 @@ static ssize_t ivtv_read(struct ivtv_stream *s, char __user *ubuf, size_t tot_co
|
|
|
/* Each VBI buffer is one frame, the v4l2 API says that for VBI the frames should
|
|
|
arrive one-by-one, so make sure we never output more than one VBI frame at a time */
|
|
|
if (s->type == IVTV_DEC_STREAM_TYPE_VBI ||
|
|
|
- (s->type == IVTV_ENC_STREAM_TYPE_VBI && itv->vbi.sliced_in->service_set))
|
|
|
+ (s->type == IVTV_ENC_STREAM_TYPE_VBI && !ivtv_raw_vbi(itv)))
|
|
|
single_frame = 1;
|
|
|
|
|
|
for (;;) {
|