Re: dvbv5-tzap with pctv 290e/292e needs EAGAIN for pat/pmt to work when recording.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Tue, 02 Jun 2015 23:25:31 +0100
Andy Furniss <adf.lists@xxxxxxxxx> escreveu:

> Running kernel 3.18.14 with git master v4l-utils and a pctv290e + a 292e.
> 
> If I try to record with dvbv5-zap and include the "p" option to get
> pat/pmt I get -
> 
> read_sections: read error: Resource temporarily unavailable
> couldn't find pmt-pid for sid 10bf
> 
> Doing this this fixes it for me (obviously not meant to be a a proper 
> patch).

You forgot to send your Signed-off-by on this patch ;)

Anyway, there are other places where EAGAIN may happen. So, the best
is to fix it globally.

Just applied a fix for it:
	http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=c7c9af17163f282a147ea76f1a3c0e9a0a86e7fa

It will retry up to 10 times. This should very likely be enough if the
driver doesn't have any bug.

Please let me know if this fixes the issue.

Regards,
Mauro

> 
> diff --git a/lib/libdvbv5/dvb-demux.c b/lib/libdvbv5/dvb-demux.c
> index 30d4eda..b520948 100644
> --- a/lib/libdvbv5/dvb-demux.c
> +++ b/lib/libdvbv5/dvb-demux.c
> @@ -151,8 +151,10 @@ int dvb_get_pmt_pid(int patfd, int sid)
>                  if (((count = read(patfd, buf, sizeof(buft))) < 0) && 
> errno == EOVERFLOW)
>                  count = read(patfd, buf, sizeof(buft));
>                  if (count < 0) {
> -               perror("read_sections: read error");
> -               return -1;
> +                       if (errno == EAGAIN) /*ADF*/
> +                               continue;
> +                       perror("read_sections: read error");
> +                       return -1;
>                  }
> 
>                  section_length = ((buf[1] & 0x0f) << 8) | buf[2];
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux