[mythtv-users] DVBChan errors not causing recordings to fail?

Michael Thomson michthom at gmail.com
Mon Nov 22 01:13:39 UTC 2010


Hello all

I've recently done a fresh MythBuntu 10.10 + MythTV 0.24-fixes reinstall. I'd hoped it might fix an annoying issue with recordings that fail but it still seems to be happening sometimes.

The scheduled recording starts, can't get data from the tuner for some reason (see below) but instead of failing the recording it carries on with no recording file and leaves a recorded database entry as if all went well.
This happens iregularly every few recordings and I get a 'file for this recording cannot be found' error when I try to play back from the 'Watch recordings' list (and no thumbnail image either)

I have an HVR-2200 (2 physical tuners) defined as follows:
> Encoder 1 [ DVB : /dev/dvb/adapter0/frontend0 ] is local on attic and is not recording.
> Encoder 2 [ DVB : /dev/dvb/adapter0/frontend0 ] is local on attic and is not recording.
> Encoder 3 [ DVB : /dev/dvb/adapter1/frontend0 ] is local on attic and is not recording.
> Encoder 4 [ DVB : /dev/dvb/adapter1/frontend0 ] is local on attic and is not recording.

Looking in the logs for tonight I see:

> 2010-11-20 18:59:00.822 Reschedule requested for id 0.
> 2010-11-20 18:59:03.123 Scheduled 271 items in 2.2 = 0.05 match + 2.14 place
> 2010-11-20 18:59:29.571 TVRec(4): ASK_RECORDING 4 29 0 0
> 2010-11-20 18:59:29.739 TVRec(3): ASK_RECORDING 3 29 0 0
> 2010-11-20 19:00:02.610 TVRec(4): Changing from None to RecordingOnly
> 2010-11-20 19:00:02.646 TVRec(4): HW Tuner: 4->4
> 2010-11-20 19:00:02.882 AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 7 min
> 2010-11-20 19:00:02.950 Started recording: "Grand Designs": channel 1004 on cardid 4, sourceid 1
> 2010-11-20 19:00:47.043 DVBChan(3:/dev/dvb/adapter1/frontend0) Error: SetChannelByString(82): Multiplex is not available
> 2010-11-20 19:00:47.290 SignalMonitor: channel change failed
> (repeated several times)

I'd have thought (naively?) that failure to tune the desired channel / get the multiplex would be fatal to the recording in question, but the backend seems to carry on.
"Grand Designs" now seems to be a zombie recording... (1004_20101120190000.mpg)

> 2010-11-20 19:29:00.487 Reschedule requested for id 0.
> 2010-11-20 19:29:02.712 Scheduled 269 items in 2.1 = 0.04 match + 2.06 place
> 2010-11-20 19:29:30.274 TVRec(4): ASK_RECORDING 4 29 0 0
> 2010-11-20 19:29:30.491 TVRec(3): ASK_RECORDING 3 29 0 0
> 2010-11-20 19:30:02.354 TVRec(3): Changing from None to RecordingOnly
> 2010-11-20 19:30:02.399 TVRec(3): HW Tuner: 3->3
> 2010-11-20 19:30:02.995 AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 4 min
> 2010-11-20 19:30:03.048 Started recording: "The Big Bang Theory":"The Zazzy Substitution": channel 1028 on cardid 3, sourceid 1
> 2010-11-20 19:30:03.423 ProgramInfo(1028_20101119210000.mpg), Error: GetPlaybackURL: '1028_20101119210000.mpg' should be local, but it can not be found.
> 2010-11-20 19:30:03.463 ProgramInfo(1028_20101120193000.mpg), Error: GetPlaybackURL: '1028_20101120193000.mpg' should be local, but it can not be found.
> 2010-11-20 19:30:03.513 ProgramInfo(1025_20101119190000.mpg), Error: GetPlaybackURL: '1025_20101119190000.mpg' should be local, but it can not be found.
> 2010-11-20 19:30:03.565 ProgramInfo(1028_20101119230500.mpg), Error: GetPlaybackURL: '1028_20101119230500.mpg' should be local, but it can not be found.
> 2010-11-20 19:30:03.614 ProgramInfo(1072_20101120074000.mpg), Error: GetPlaybackURL: '1072_20101120074000.mpg' should be local, but it can not be found.
> 2010-11-20 19:30:03.663 ProgramInfo(1028_20101120092500.mpg), Error: GetPlaybackURL: '1028_20101120092500.mpg' should be local, but it can not be found.
> 2010-11-20 19:30:03.721 ProgramInfo(1004_20101120190000.mpg), Error: GetPlaybackURL: '1004_20101120190000.mpg' should be local, but it can not be found.
> 2010-11-20 19:30:03.818 ProgramInfo(1004_20101120190000.mpg), Error: GetPlaybackURL: '1004_20101120190000.mpg' should be local, but it can not be found.
> 2010-11-20 19:30:04.015 ProgramInfo(1028_20101120193000.mpg), Error: GetPlaybackURL: '1028_20101120193000.mpg' should be local, but it can not be found.
> 2010-11-20 19:30:04.238 ProgramInfo(1028_20101120193000.mpg), Error: GetPlaybackURL: '1028_20101120193000.mpg' should be local, but it can not be found.

Further evidence of previous failed recordings. The good news was that "The Big Bang Theory" did record (it had failed previously earlier in the week in the same way as "Grand Designs" above)

> 2010-11-20 20:00:00.151 TVRec(3): Changing from RecordingOnly to None
> 2010-11-20 20:00:00.499 Updating status for "The Big Bang Theory":"The Zazzy Substitution" on cardid 3 (Tuning => Recorded)
> 2010-11-20 20:00:00.502 Finished recording The Big Bang Theory "The Zazzy Substitution": channel 1028
> 2010-11-20 20:00:00.665 TVRec(4): Changing from RecordingOnly to None
> 2010-11-20 20:00:00.741 Updating status for "Grand Designs" on cardid 4 (Tuning => Recorded)
> 2010-11-20 20:00:00.745 Finished recording Grand Designs: channel 1004
> 2010-11-20 20:00:00.755 ProgramInfo(1028_20101120193000.mpg), Error: GetPlaybackURL: '1028_20101120193000.mpg' should be local, but it can not be found.
> 2010-11-20 20:00:01.061 ProgramInfo(1004_20101120190000.mpg), Error: GetPlaybackURL: '1004_20101120190000.mpg' should be local, but it can not be found.
> 2010-11-20 20:00:01.154 Reschedule requested for id 0.
> 2010-11-20 20:00:01.190 Reschedule requested for id 0.
> 2010-11-20 20:00:02.421 Scheduled 266 items in 1.2 = 0.07 match + 1.15 place

And Grand Designs gets to the expected finish time, but isn't marked as failed or rescheduled for re-recording.
So I'm asking for help in where to look for the cause of this.

Has my initial channel scanning / channel editing from Mythtv-setup broken things?
- I'm guessing the backend believes channels 1004 and 1028 can both be extracted from the same multiplex which is why it's used virtual tuners 3 and 4 (both on /dev/dvb/adapter1/frontend0)
- How to I check if this is a false assumption?

Since the first recording (Grand Designs) failed but the second (Big Bang Theory) succeeded:
- Does this just mean I need to increase the tuning timeout / delays on those cards? What are sensible numbers for the HVR2200? 
- I currently use the defaults:

> mysql> select videodevice,signal_timeout,channel_timeout,dvb_tuning_delay from capturecard;
> +-----------------------------+----------------+-----------------+------------------+
> | videodevice                 | signal_timeout | channel_timeout | dvb_tuning_delay |
> +-----------------------------+----------------+-----------------+------------------+
> | /dev/dvb/adapter0/frontend0 |           1000 |            3000 |                0 |
> | /dev/dvb/adapter0/frontend0 |           1000 |            3000 |                0 |
> | /dev/dvb/adapter1/frontend0 |           1000 |            3000 |                0 |
> | /dev/dvb/adapter1/frontend0 |           1000 |            3000 |                0 |
> +-----------------------------+----------------+-----------------+------------------+
> 4 rows in set (0.00 sec)

I'm guessing that dvb_tuning_delay is my first thing to change - I've seen values of 100ms to 400ms in use elsewhere.

Following some other posts I'm going to try setting the timeouts for the two tuners slightly differently.
I've also increased the dvb_tuning_delay to max (or thereabouts) in mythtv-setup.

> mysql> select videodevice,signal_timeout,channel_timeout,dvb_tuning_delay from capturecard;
> +-----------------------------+----------------+-----------------+------------------+
> | videodevice                 | signal_timeout | channel_timeout | dvb_tuning_delay |
> +-----------------------------+----------------+-----------------+------------------+
> | /dev/dvb/adapter0/frontend0 |            750 |            2750 |             1975 |
> | /dev/dvb/adapter0/frontend0 |            750 |            2750 |             1975 |
> | /dev/dvb/adapter1/frontend0 |           1000 |            3000 |             2000 |
> | /dev/dvb/adapter1/frontend0 |           1000 |            3000 |             2000 |
> +-----------------------------+----------------+-----------------+------------------+
> 4 rows in set (0.00 sec)

So does this look reasonable? Which other avenues should I be exploring? Thanks for any pointers

Mike Thomson


More information about the mythtv-users mailing list