Opened 18 years ago
Closed 18 years ago
#892 closed patch (fixed)
Add better support for single-transponder EIT
Reported by: | Owned by: | danielk | |
---|---|---|---|
Priority: | minor | Milestone: | 0.20 |
Component: | dvb | Version: | head |
Severity: | medium | Keywords: | eit |
Cc: | Ticket locked: | no |
Description
My provider sends all EIT data on a single transponder for the multi-day info. This is a problem because siparser can emit 1000 events/sec but eitscanner can only handle between 5 and 100 events/sec (5 calls to EITHelper:ProcessEvents, each of which will handle between 1 and 20 events). The end result is that huge amounts of memory ends up getting allocated, which eventually causes mythbackend to run out of memory.
The included patch does 2 things: 1) collapse multiple event-lists such that we always execute kChunkSize events 2) create flow-control for siparser to turn it off when the queue gets too big.
Attachments (4)
Change History (8)
Changed 18 years ago by
Third time for sure. Dunno why building the patch was so hard.
comment:1 Changed 18 years ago by
Milestone: | 0.19 → 0.20 |
---|
Changed 18 years ago by
Attachment: | eitratelimit_#892_8612.patch added |
---|
Small mods to the previously submitted patch
comment:2 Changed 18 years ago by
I've added a slightly modified version nof this patch to this ticket. The previous version would emit the StopParsing? signal during every pass through the loop if the size was still greater than the Maxsize. I saw it get called many times in a few cases. With this new patch it only gets called once when over the Maxsize, and once to reenable parsing when we are below the chunksize.
Fist try got corrupted. Try again.