Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#4632 closed defect (fixed)

disabling active EIT scan breaks passive EIT gathering

Reported by: Janne Grunau Owned by: Janne Grunau
Priority: minor Milestone: 0.21
Component: eit Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

With disabled active EIT scan, no events are inserted into the DB during LiveTV. stuartm reported the same earlier.

Attachments (1)

passiveeit.patch (3.3 KB) - added by dm@… 11 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 11 years ago by Janne Grunau

Status: newaccepted

comment:2 Changed 11 years ago by dm@…

I discovered a couple of bugs related to EIT handling, one of which might have this effect. The attached patch fixes both. Since I have a Nova T-500 I have disabled active scanning and rely on passive scanning.

I found that passive scanning worked to begin with but changing channel, or perhaps only when changing multiplex, stopped it working. I forget the exact cause but it was something like TVRec::TuningFrequency? calls MPEGStreamData::SetDesiredProgram? which calls MpegRecorder::Reset which calls _pids_listening.clear(), removing the EIT listener. Meanwhile _eit_pids in DVBStreamHandler was unaffected so the EIT listener was not reinstated. The fix is simply to call _eit_pids.clear() in one of the functions in DVBStreamHandler that get called when there is a channel change.

The other fix is not critical but affects the handler of present/following EIT. "Present" and "Following" are sent as different packets on the same PID but with different section numbers. When a programme changes updated versions of each are sent and generally the same version number is used for the new present and new following packet. To avoid one being lost the Section ID needs to be included in the version map.

David.

Changed 11 years ago by dm@…

Attachment: passiveeit.patch added

comment:3 Changed 11 years ago by stuartm

Patch makes no difference for me. No EIT events are being inserted in LiveTV.

comment:4 Changed 11 years ago by stuartm

Sorry, looks like I forgot to actually install the patched version .. whoops. Testing it properly now.

comment:5 Changed 11 years ago by stuartm

Ok. In an hour of LiveTV with the patch applied not one event was inserted into the database. Nothing in the logs regarding EIT.

comment:6 Changed 11 years ago by Janne Grunau

Resolution: fixed
Status: acceptedclosed

(In [16277]) reset eit pids in dvbstreamhandler, fixes passive eit after channel changing

From <dm prolingua co uk>

minor EIT verbose message changes by me

Fixes #4632

comment:7 Changed 11 years ago by Janne Grunau

(In [16278]) Merges revision [16277] from trunk: reset eit pids in dvbstreamhandler, fixes passive eit after channel changing

From <dm prolingua co uk>

minor EIT verbose message changes by me

Fixes #4632

comment:8 in reply to:  2 Changed 11 years ago by Janne Grunau

Replying to dm@prolingua.co.uk:

The other fix is not critical but affects the handler of present/following EIT. "Present" and "Following" are sent as different packets on the same PID but with different section numbers. When a programme changes updated versions of each are sent and generally the same version number is used for the new present and new following packet. To avoid one being lost the Section ID needs to be included in the version map.

_eit_section_seen was not resetted when the version changed, [16281] fixes it.

Note: See TracTickets for help on using tickets.