GNOME Bugzilla – Bug 583470
mpegtsparse: Old pes pids not removed when receiving PAT table
Last modified: 2009-07-21 11:18:01 UTC
Please describe the problem: gnome-dvb-daemon is not able to scan all the DVB-C channels om my cable network. The DVB-C channels are distributed in four frequences. Two of the channels are not found by gnome-dvb-daemon. Some PIDs are used on multiple frequencies and for different things. For example PID 700 is used for PES stream on one frequence and for PMT on another. The problem is the hash table in mpegtsparse containing PES pids. This hash table can contain old information when tuning to a different frequency and changing transport streams, since old PES pids aren't removed when a new PAT is received. The old programs are removed but the PES hash table is not updated. Steps to reproduce: 1. 2. 3. Actual results: Expected results: Does this happen every time? Other information: OS: Ubuntu 9.04 DVB-C: Anysee E30 C Plus
Created attachment 135125 [details] [review] Deactivate pmt
Thanks for the report and the patch, will look at it.
The patch looks good in general but why do you remove the free'ing of the PAT in _reset() ?
Yes, the change to _reset looks like there will be a memleak.
I've committed something like this patch now: commit caa4d853e0933410d754e56bd37a28613ed99b12 Author: Mikael Magnusson <mikma@users.sourceforge.net> Date: Tue Jul 21 13:14:00 2009 +0200 mpegtsparse: Remove old PES PIDs when receiving PAT tables Fixes bug #583470.