3 Happy Birthday to Xtscut. It's 2 years old and cuts better than ever!
4 Happy Birthday to atscap. It's 4 years old and caps better than ever!
6 These are the aggregated TODO's for the whole atscap-1.1 package.
7 Some of these are low priority and others may not need to be done.
8 What is in [] may describe the status of the item.
12 librt, some apparently don't have it. Make conditional compile atscap.
18 STT display (-a64 option) is cryptic and obtuse. Make human-readable.
22 DONE In -g -q guide output: all EITs are showing up but some ETTs are not.
23 -q -g options show only changed tables and the EPG at the end.
24 [Fix is version number for ETT is not set if no existing ETMID.]
31 TEST Keep aspect ratio after changing width and/or height.
32 XVideo back end scaler seems to look smooth no matter what size.
33 x_resize_display crashes right now, but that's what will be used.
34 This will likely look terrible when using imlib rendering.
36 XFS/performance related:
38 TEST Needs duty cycle limiter like atscut. Has one but doesn't work?
40 TEST XFS->XFS on 2006 generation 300G PATA drives maxes at 110 MByte/sec.
41 Need performance data from users with new SATA 3G drives.
44 X widgets (buttons or other display objects):
46 Render via mpeg2 libvo abstractions to other than video_out_x11.
47 It has imlib2, XShm and XvShm output now, but more could be done.
49 Cut list display (will add LOTS of cycles to frame render)
50 Make this only show until next frame renders.
52 File-> to change the output path/name
54 Write: All, Even, Odd, Dump
56 > and >>, < and << navigation
58 Quit [use q key for now, or close the xterm that calls it.]
59 If you click the render window closer, it will close.
63 TEST BETTER? Right mouse always sets current threshold from pkt count,
64 and then two other keys jump forward or back to next
65 I frame that is at or below the threshold.
66 NO. Does not seem to work as well as I hoped it would.
67 Keep testing and trying ideas.
71 TCP/IP socket related:
73 See about getting a registered TCP port number for atscap.
75 Method for activating live UDP broadcast from web UI.
76 The problem with UDP broadcast: it's bursty for single program cap,
77 with NULL and PSIP and possible secondary stream removal. -n should
78 help keep the bitrate constant and the player buffers full.
80 Use MSG_NOSIGNAL for all send() calls [DONE]
81 and check for EPIPE error for all send() [NOT ALL DONE YET].
82 [Still getting the occasional blank page.]
84 Instead of copying hosts.allow back and forth with -E specified,
85 extract only the atscap: entries from /etc/hosts and write the
86 result to the /dtv/ram/hosts.allow file. Do not copy this back
87 to the /etc/ directory. Also, load_config or test_epgs should
88 check for /etc/hosts.allow modifified and re-extract to /dtv/ram.
89 This might interfere with -E keeping the hard drive spun down.
90 [Only stopped doing the copy back from tmpfs to /etc/ so far.]
92 Use waitpid() to know when all web server threads have terminated.
93 This should fix the valgrind unfreed memory error on exit.
94 [The obstacle seems to be, with NPTL, pid is same for all threads?]
98 Standardize time staging colors for EPG and timers.
100 DONE Spam add bug sometimes resets the spam list to 0 entries.
102 Grid shows FOX NFL at 3pm as n/a, but is correct at 4pm.
104 EPG grid weekday pagination should stay on current selected hour.
105 Need to play with the math a bit more to find the right combination.
107 EPG grid doesn't know what day is the last day in the EPGs until it
108 has read all the EPGs. Move weekday list to bottom of the grid.
110 Need form and list for small tiles too, but not tiny tiles.
111 Also need to put similar form and list in HTML3 EPG.
112 NO: make separate [timers] page with all this listed.
114 Make current scan chan in HTML3 chanlist italic. Bold is confusing.
116 dump epg html4 signal area div needs class for padding away from form
117 [ minor cosmetic detail, form is being moved to [timers] page ]
119 Need a form to enter weekday or volatile timers in HTML3
120 Need a list of search timers in big CSS EPG and HTML3
121 Need a list of volatile and weekday timers in HTML3
122 [ will eventually be in [timers] page for one-stop check ]
124 Buttons for CSS EPG, probably move the ones from main server page.
125 [Still deciding exactly how big the buttons should be.]
126 ?which buttons again?
128 TEST Cellphone resets: multi-day EPG runs out of memory. Add 1-day toggle.
129 [Still runs out of memory unless junk filter used. IMS fixed it?]
131 TEST After putting a timer on an event marked as junk, then using the
132 HTML EPG junk filter, the timer disappears from EPG because
133 build_pg_epg is removing the junk event from the list before EPG check.
134 [ Change HTML event loop to test every event and not use pg index. ]
136 TEST Toggle [h]ide junk off in console EPG sets hide junk on, in 1s.
137 [Some place in the code pgm.hide is getting set to pgm3.hide.]
138 [ This may have been found finally. Look for lots of //////. ]
142 TEST Manual load config via [_] key doesn't set channel. The wrong
143 channel shows up in other places in the console UI, too, which
144 is related to this problem.
145 [ artifact of LCN migration ]
147 Console key [o] for manual overtime override doesn't remove volatile
148 or reschedule weekday timer. Hitting [BKSP] stops the manual capture,
149 but if original timeslot isn't expired it starts same timer.
150 [ Normally, user wouldn't hit BKSP before original timeslot expires.
151 The real solution is to make it easy for the user to make the
152 timer longer, without having to resort to editing the config. ]
156 Peter Knaggs reports the Inscrutable Scrubs/Asian Channel Bug.
160 Peter Knaggs reports running in user mode after reboot doesn't
161 create or give rights to atscap user for /var/run/atscap/ directory.
162 [ Fix init.d/rc.local to create directory and chown. ]
163 [ Need to add some help like this to the atscap man page. ]
166 TEST Channel scan list is broken now. csp is starting at the wrong place.
167 No one really uses it much anymore. Those who have good reception
168 never need it and those who don't gave up a long time ago.
172 -s n: capture for n seconds should use ch.program number
175 TEST Restore old code that sets cap_vc from cap_pn in parse PAT.
176 It's restored but still testing to see if it's helping.
177 It may be cause of the Mysterious Asian Channel Bug.
179 TEST -E EPG cap doesn't need volume check and shouldn't wake volume.
181 WebUI: Config page hrefs for select VC and manual cap start/stop.
182 [ Select VC is done but no manual cap control yet. ]
184 WebUI: Master Guide Table display. [Low priority, lots of items.]
185 WebUI: Virtual Channel Table display. [May be more items than MGT.]
187 Cable INFO caplog is generating footer EPG html but nothing else.
188 [There isn't going to be anything in the file worth seeing anyway.]
190 ********************************* Small Memory Model Implementation Notes
192 Since switching to dynamic allocation for FIFO and EIT/ETT,
193 rapidly selecting [p][enter] to capture current event from current
194 guide capture while the guide capture is in progress may crash it.
196 This one is intermittent. Making EIT+ETT static allocation helps
197 somewhat, but the SEGV moves from the freed EIT/ETT to the freed FIFO.
198 When both EPG and FIFO are static allocations, it doesn't crash.
199 The problem is caused by delays in thread synchronization.
201 Single CPU test shows the failure in atsc_parse_ett/eit and also
202 in atsc_build_payload. Dual CPU test shows the error occuring in
203 memcpy() with no usable backtrace to tell where it happened.
205 Workaround is to prevent [enter] in console EPG, during EPG capture.
207 It might still crash via http. Fix would be to force both [enter]
208 in console EPG and select from web page to advance the start time, if
209 currently capturing the EPG, same as adding a timer in console EPG.
210 This might cause some non-matching filename tests in the WebUI EPGs.
211 build_outnames uses the start time. Maybe a start time offset?
213 FIX: disabled [enter] in console EPG while capturing EPG.
217 FIX: use EIT + ETT + FIFO as static allocation.
218 Drawback: +17MB per instance capturing or not, small EPG model.
219 Even more if using the large EPG model.
221 [Most of these issues are grouped under conditional USE_DYNAMIC.]
223 Conditional compile USE_CABLE will only allocate enough EPG for
224 one VC. This should reduce EPG memory use to 1/8th of broadcast
225 and get the overall idle footprint under 4MB. However, cable has
226 no EPG at all. The 1 VC wide epg[] is for importing broadcast EPG
227 from a single broadcast program number source and EPG file.
228 Someday an EPG source may be found for non-broadcast stations.
229 [It looks like, via top, cable 1 VC setting uses 2M idle footprint.]
231 ******************************************* End of Small Memory Model Notes
234 Outstanding requests or ideas:
236 DECIDE How useful would a 50x50 polar chart be? Illegible data points?
237 [SNR toggle added to CSS server page, console users hit [w] key]
239 OLD: New hg/CVS from linuxtv.org still fails with Bullet-Proof fixes
240 NEEDS ported forward from old v4l-dvb Bullet-Proof HD3000 driver, but
241 NEW backporting new features from hg/CVS to old 20060115 tree works fine.
242 TEST Something is seriously broken in the new hg/CVS tree. Still looking.
243 [Chasing revisions is pointless waste of time. Staying on 2.6.16.x.]
247 Add log level bits to -l so user can decide how much to log.