[mythtv] Ticket #1619: DVB: backend won't tune after the first channel tune
Mark Buechler
mark.buechler at gmail.com
Tue Apr 11 20:04:00 UTC 2006
I think the problem is that the only only place where SetVersionPAT(-1) gets
called in the signal monitor is from SetPAT(). SetPAT() gets called from a
signal coming from ProcessPAT in mpegstreamdata. Since ProcessPAT doesn't
get called due to the versions matching, SetPAT never has a change to set
the version to -1.
- Mark.
On 4/11/06, Mark Buechler <mark.buechler at gmail.com> wrote:
>
> Ok, I added a couple verboses to mpeg/mpegstreamdata.cpp in IsRedundant()
> and in /mpeg/pmegstreamdata.h in SetVersionPAT(). As you can see below,
> SetVersionPAT is only called once due to an invalid PAT. Again, this is
> tuning to a different transport on the same NIT.
>
> The ">>>>>>>>>>>>> 0 <> 0" is the verbose I added comparing the PAT
> versions.
>
> 2006-04-11 15:39:55.012 DummyRec: Restart! Frames seen 12
> 2006-04-11 15:39: 55.031 >>>>>>>>>> -1 <> 0
> 2006-04-11 15:39:55.032 >>>>>>>>>> -1 <> 0
> 2006-04-11 15:39:55.032 >>>>>>> SetVersionPAT() version == 0
> 2006-04-11 15:39:55.032 ProcessPAT: PAT is missing program, setting
> timeout
> 2006-04-11 15:39:55.032 SM(0)::AddFlags: Seen(PAT,) Match() Wait()
> 2006-04-11 15:39:55.033 >>>>>>> SetVersionPAT() version == -1
> 2006-04-11 15:39:55.033 Program #9475 not found in PAT!
> Program Association Table
> PSIP tableID(0x0) length(25) extension(0x1af)
> version(0) current(1) section(0) last_section(0)
> tsid: 431
> programCount: 4
> program number 0 has PID 0x 10 data 0x0 0x0 0x224 0x16
> program number 9478 has PID 0x 21 data 0x37 0x6 0x224 0x33
> program number 9485 has PID 0x 21 data 0x37 0x13 0x224 0x33
> program number 9486 has PID 0x 21 data 0x37 0x14 0x224 0x33
>
>
> 2006-04-11 15:39:55.034 CreatePATSingleProgram()
> 2006-04-11 15:39:55.034 PAT in input stream
> 2006-04-11 15:39:55.034 Program Association Table
> PSIP tableID(0x0) length(25) extension(0x1af)
> version(0) current(1) section(0) last_section(0)
> tsid: 431
> programCount: 4
> program number 0 has PID 0x 10 data 0x0 0x0 0x224 0x16
> program number 9478 has PID 0x 21 data 0x37 0x6 0x224 0x33
> program number 9485 has PID 0x 21 data 0x37 0x13 0x224 0x33
> program number 9486 has PID 0x 21 data 0x37 0x14 0x224 0x33
>
> 2006-04-11 15:39:55.035 desired_program(9475) pid(0x0)
> 2006-04-11 15:39: 55.035 Desired program #9475 not found in PAT.
> Can Not create single program PAT.
> 2006-04-11 15:39:55.083 DummyRec: Restart! Frames seen 24
> 2006-04-11 15:39:55.116 DummyRec: Restart! Frames seen 36
> 2006-04-11 15:39:55.137 >>>>>>>>>> -1 <> 0
> 2006-04-11 15:39:55.138 >>>>>>>>>> -1 <> 0
> 2006-04-11 15:39:55.138 >>>>>>> SetVersionPAT() version == 0
> 2006-04-11 15:39:55.149 DummyRec: Restart! Frames seen 48
> 2006-04-11 15:39:55.191 DummyRec: Restart! Frames seen 60
> 2006-04-11 15:39:55.235 DummyRec: Restart! Frames seen 72
> 2006-04-11 15:39:55.240 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:55.343 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:55.393 DiSEqC(0): 1.3 Motor - Goto Angular Position -129
> 2006-04-11 15:39:55.411 DiSEqC(0): Sending 1.0 Command: e0 31 6e d3
> 2006-04-11 15:39:55.446 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:55.511 DiSEqC(0): Sending 1.3 Repeat Command: e0 31 6e d3
> 8a
> 2006-04-11 15:39:55.549 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:55.652 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:55.687 DummyRec: Restart! Frames seen 84
> 2006-04-11 15:39:55.757 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:55.860 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:55.963 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:56.066 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:56.169 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:56.191 DummyRec: Restart! Frames seen 96
> 2006-04-11 15:39:56.249 DiSEqC(0): 1.1 Switch (4 ports) - Port 0 - Tone ON
> 13V
> 2006-04-11 15:39:56.267 DiSEqC(0): Sending 1.0 Command: e0 10 38 f1
> 2006-04-11 15:39:56.272 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:56.354 DiSEqC(0): Sending 1.3 Repeat Command: e0 10 38
> f1 0
> 2006-04-11 15:39:56.375 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:56.478 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:56.581 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:56.587 DVB#0 Old Params: freq(12647000) type(QPSK)
> 2006-04-11 15:39:56.587 DVB#0 New Params: freq(12369000) type(QPSK)
> 2006-04-11 15:39:56.746 DummyRec: Restart! Frames seen 108
> 2006-04-11 15:39: 56.788 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:56.891 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:56.994 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:57.097 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:57.148 Got Key type(69) idx: 1, pid: 0
> 2006-04-11 15:39:57.148 Got Key type(79) idx: 1, pid: 0
> 2006-04-11 15:39:57.200 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:57.258 DummyRec: Restart! Frames seen 120
> 2006-04-11 15:39:57.303 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:57.390 dvbchannel.cpp:wait_for_backend: Status:
> Signal,Carrier,FEC Stable,Sync,Lock,
> 2006-04-11 15:39:57.391 DVB#0 DVBChannel::Tune: Frequency tuning
> successful.
> 2006-04-11 15:39:57.391 TVRec(4): SetChannel() -- end
> 2006-04-11 15:39: 57.406 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:57.509 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:57.560 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:57.663 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:57.766 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:57.819 DummyRec: Restart! Frames seen 132
> 2006-04-11 15:39:57.870 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:57.973 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:58.076 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:58.179 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:58.282 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:58.385 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:58.386 DummyRec: Restart! Frames seen 144
> 2006-04-11 15:39:58.488 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:58.591 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:58.694 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:58.797 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:58.893 DummyRec: Restart! Frames seen 156
> 2006-04-11 15:39:58.901 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:59.004 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:59.107 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:59.210 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:59.313 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:59.416 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:59.459 DummyRec: Restart! Frames seen 168
> 2006-04-11 15:39:59.519 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:59.570 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:59.673 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:59.776 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:59.879 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:39:59.968 DummyRec: Restart! Frames seen 180
> 2006-04-11 15:39:59.982 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:00.085 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:00.188 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:00.291 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:00.394 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:00.497 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:00.531 DummyRec: Restart! Frames seen 192
> 2006-04-11 15:40:00.600 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:00.704 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:00.808 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:00.911 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:01.014 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:01.094 DummyRec: Restart! Frames seen 204
> 2006-04-11 15:40:01.117 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:01.220 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:01.324 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:01.428 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:01.479 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:01.583 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:01.610 DummyRec: Restart! Frames seen 216
> 2006-04-11 15:40:01.688 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:01.791 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:01.896 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:01.999 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:02.103 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:02.205 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:02.214 DummyRec: Restart! Frames seen 228
> 2006-04-11 15:40:02.307 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:02.409 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:02.432 Got Key type(79) idx: 1, pid: 0
> 2006-04-11 15:40:02.511 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:02.613 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:02.715 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:02.720 DummyRec: Restart! Frames seen 240
> 2006-04-11 15:40:02.817 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:02.919 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:03.021 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:03.123 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:03.225 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:03.272 DummyRec: Restart! Frames seen 252
> 2006-04-11 15:40:03.327 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:03.429 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:03.531 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:03.633 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:03.735 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:03.824 DummyRec: Restart! Frames seen 264
> 2006-04-11 15:40:03.837 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:03.939 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:03.989 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:04.091 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:04.193 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:04.295 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:04.326 DummyRec: Restart! Frames seen 276
> 2006-04-11 15:40:04.397 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:04.499 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:04.601 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:04.703 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:04.805 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:04.878 DummyRec: Restart! Frames seen 288
> 2006-04-11 15:40:04.907 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:05.009 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:05.112 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:05.213 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:05.315 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:05.376 DummyRec: Restart! Frames seen 300
> 2006-04-11 15:40:05.391 DiSEqC(0): 1.3 Motor - Goto Angular Position -129
> 2006-04-11 15:40:05.408 DiSEqC(0): Sending 1.0 Command: e0 31 6e d3
> 2006-04-11 15:40:05.417 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:05.508 DiSEqC(0): Sending 1.3 Repeat Command: e0 31 6e d3
> 8a
> 2006-04-11 15:40:05.519 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:05.621 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:05.723 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:05.825 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:05.926 DummyRec: Restart! Frames seen 312
> 2006-04-11 15:40:05.927 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:06.029 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:06.131 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:06.233 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:06.240 DiSEqC(0): 1.1 Switch (4 ports) - Port 0 - Tone ON
> 13V
> 2006-04-11 15:40:06.257 DiSEqC(0): Sending 1.0 Command: e0 10 38 f1
> 2006-04-11 15:40:06.335 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:06.343 DiSEqC(0): Sending 1.3 Repeat Command: e0 10 38
> f1 0
> 2006-04-11 15:40:06.437 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:06.479 DummyRec: Restart! Frames seen 324
> 2006-04-11 15:40:06.539 >>>>>>>>>> 0 <> 0
> 2006-04-11 15:40:06.572 DVB#0 Old Params: freq(12369000) type(QPSK)
> 2006-04-11 15:40: 06.573 DVB#0 New Params: freq(12369000) type(QPSK)
> 2006-04-11 15:40:06.977 DummyRec: Restart! Frames seen 336
> 2006-04-11 15:40:07.375 dvbchannel.cpp:wait_for_backend: Status:
> Signal,Carrier,FEC Stable,Sync,Lock,
> 2006-04-11 15:40:07.375 DVB#0 DVBChannel::Tune: Frequency tuning
> successful.
> 2006-04-11 15:40:07.530 DummyRec: Restart! Frames seen 348
> 2006-04-11 15:40:08.032 DummyRec: Restart! Frames seen 360
> 2006-04-11 15:40: 08.585 DummyRec: Restart! Frames seen 372
> 2006-04-11 15:40:09.141 DummyRec: Restart! Frames seen 384
> 2006-04-11 15:40:09.639 DummyRec: Restart! Frames seen 396
> 2006-04-11 15:40:10.193 DummyRec: Restart! Frames seen 408
> 2006-04-11 15:40:10.700 DummyRec: Restart! Frames seen 420
> 2006-04-11 15:40:11.263 DummyRec: Restart! Frames seen 432
> 2006-04-11 15:40:11.816 DummyRec: Restart! Frames seen 444
>
> On 4/11/06, Mark Buechler <mark.buechler at gmail.com> wrote:
>
> > I think there's something more to this. The two channels I'm going
> > between which effect this are 1 of two scenarios:
> >
> > 1. Both channels are on the same NIT, different transports (and
> > differing tsid)
> > 2. Both channels on different NITs with different transports with no
> > common tsid in between (I use a rotor).
> >
> > Given #1, I can't agree with you in that the NIT has anything to do with
> > this. It was #1 last night which prompted me to look into this problem
> > because it was very reproducable at the time.
> >
> > - Mark.
> >
> >
> > On 4/11/06, Daniel Kristjansson <danielk at cuymedia.net > wrote:
> > >
> > > On Tue, 2006-04-11 at 14:03 -0400, Mark Buechler wrote:
> > > > BTW, when you say the zero version number is a coincidence, it's not
> > > > that it's 0, it's that both multiplexes have the same version
> > > number.
> > > > That is the cause behind the PAT never getting re-parsed after the
> > > > first time.
> > >
> > > See the reply I just sent to Stuart's message. The version check
> > > is not designed to check for transport changes. The users of the
> > > class, in this case tv_rec and dvbsignalmonitor, are responsible
> > > for resetting the class on transport changes, and resetting the
> > > known PAT version on a channel mismatch. It looks like it is
> > > doing this, but a PAT mismatch only happens when the MPEG program
> > > number doesn't match the expected value. But the program number
> > > is by no means unique across transports. Hence you need address
> > > ticket #1049 to address this properly, fixing it will allow
> > > monitoring the transportid, networkid and serviceid...
> > >
> > > -- Daniel
> > >
> > > _______________________________________________
> > > mythtv-dev mailing list
> > > mythtv-dev at mythtv.org
> > > http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
> > >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-dev/attachments/20060411/9458b50a/attachment.htm
More information about the mythtv-dev
mailing list