diff --git a/CONTROL/control b/CONTROL/control
index 3ed5c1a..8a5bd65 100644
--- a/CONTROL/control
+++ b/CONTROL/control
@@ -1,7 +1,7 @@
Package: webif
Priority: optional
Section: web
-Version: 1.4.8-8
+Version: 1.4.8-10
Architecture: mipsel
Maintainer: af123@hpkg.tv
Depends: tcpfix,webif-channelicons(>=1.1.27),lighttpd(>=1.4.39-1),jim(>=0.79),jim-pack(>=0.79),jim-oo(>=0.77),jim-sqlite3(>=0.77),jim-cgi(>=0.7-2),jim-binary(>=0.76),service-control(>=2.3),busybox(>=1.20.2-1),lsof(>=4.87),epg(>=1.2.8),hmt(>=2.0.10),ssmtp,cron-daemon(>=1.18.3-3),at(>=3.1.18),anacron,trm(>=1.1),openssl-command,nicesplice,id3v2,file,rsvsync(>=1.1.13),webif-charts(>=1.2-1),stripts(>=1.4.2),tmenu(>=1.21-2),ffmpeg(>=2.8),id3v2,multienv(>=1.6),tcpping(>=1.1),e2fsprogs,wireless-tools(>=29-1),dbupdate,recmon(>=2.0.7),hwctl,nugget(>=0.98),sqlite3(>=3.15.1),jim-xconv,zip(>=3.0-1),wget
diff --git a/webif/html/diag/mux.jim b/webif/html/diag/mux.jim
index b4d6ea9..977992a 100755
--- a/webif/html/diag/mux.jim
+++ b/webif/html/diag/mux.jim
@@ -19,6 +19,19 @@ proc f2c {frequency} {
return [expr int($ch)]
}
+proc svc2mux {svcid mux} {
+ return [switch $($svcid / 4096) {
+ 1 { format "PSB1/BBC A" }
+ 2 { format "PSB2/D3&4" }
+ 4 { format "PSB3/BBC B" }
+ 3 { format "COM4/SDN" }
+ 5 { format "COM5/ARQ A" }
+ 6 { format "COM6/ARQ B" }
+ 10 { format "COM7/ARQ C" }
+ default { format $mux }
+ }]
+}
+
puts "

@@ -61,7 +74,7 @@ foreach tw [$db query {
puts "
[system strip $netName] | "
set channels [$db query {
- select usLcn, szSvcName, szPrvName, aucDefaultAuthority
+ select usLcn, szSvcName, usSvcId, szPrvName, aucDefaultAuthority
from TBL_SVC left join TBL_PRV using (prvIdx)
where tsIdx = %s
order by usLcn
@@ -72,14 +85,15 @@ foreach tw [$db query {
} else {
set mux "Unknown"
}
+ if {[llength $channels] != 0} {
+ set chan [lindex $channels 0]
+ lassign $chan x lcn x name x svcid
+ set mux [svc2mux $svcid $mux]
+ }
set ehs 0
foreach chan $channels {
- lassign $chan x lcn x name
- set name [system strip $name]
+ lassign $chan x lcn
if {$lcn >= 800} { incr ehs }
- if {[dict exists $::muxdb $name]} {
- set mux $::muxdb($name)
- }
}
puts "
$mux | "
if {$eSystem == 0} {
@@ -106,7 +120,7 @@ foreach tw [$db query {
"
altrow reset
foreach chan $channels {
- lassign $chan x lcn x name x prv x auth
+ lassign $chan x lcn x name x svcid x prv x auth
set name [system strip $name]
set prv [system strip $prv]
altrow
diff --git a/webif/html/img/sort-size.png/sort_size.gif b/webif/html/img/sort_size.gif
similarity index 100%
rename from webif/html/img/sort-size.png/sort_size.gif
rename to webif/html/img/sort_size.gif
diff --git a/webif/lib/auto/deq b/webif/lib/auto/deq
index 435478a..41eec9a 100755
--- a/webif/lib/auto/deq
+++ b/webif/lib/auto/deq
@@ -115,8 +115,8 @@ proc ::auto::dumpq {qq} {
if {[$q get action] in $::auto::plugins} {
set pri $::auto::plugins([$q get action])
}
- log [format " C: %4d %5d %8s - [$q get file]" \
- [$q get id] $pri [$q get action]] 2
+ log [format " C: %4d %5d %8s - %s" \
+ [$q get id] $pri [$q get action] [$q get file]] 2
}
}
diff --git a/webif/lib/auto/scan b/webif/lib/auto/scan
index 05fea36..3926ad6 100755
--- a/webif/lib/auto/scan
+++ b/webif/lib/auto/scan
@@ -73,7 +73,10 @@ if {!$::auto::force} {
set timesincelast $(([clock seconds] - [$::auto::settings autolast]) \
/ 60)
- if {$timesincelast < $autofreq} {
+ if {$timesincelast < 0} {
+ # time machine issue: correct it
+ $::auto::settings autolast 0
+ } elseif {$timesincelast < $autofreq} {
::auto::log "Aborting, not yet time to run." 2
::auto::log " elapsed (minutes): $timesincelast (<$autofreq)" 2
exit
diff --git a/webif/lib/auto/util.jim b/webif/lib/auto/util.jim
index 82754d6..30681d2 100644
--- a/webif/lib/auto/util.jim
+++ b/webif/lib/auto/util.jim
@@ -5,12 +5,13 @@ set ::auto::logprefix ""
set ::auto::loglevel 1
proc ::auto::loginit {} {
-
+ variable settings
+ set logsize [$settings logsize]
# Rotate log file if large enough.
if {[file exists $::auto::logfile] &&
- [file size $::auto::logfile] > 2097152} {
- file copy -force $::auto::logfile "/mod/tmp/auto_old.log"
- file delete $::auto::logfile
+ [file size $::auto::logfile] > $logsize} {
+ set tstamp [clock format [clock seconds] -format {%Y%m%d%H%M%S}]
+ file rename -force $::auto::logfile "/mod/tmp/auto.$tstamp.log"
}
# Open log file
diff --git a/webif/lib/rsv.class b/webif/lib/rsv.class
index 77ec7bd..f920c44 100644
--- a/webif/lib/rsv.class
+++ b/webif/lib/rsv.class
@@ -967,19 +967,29 @@ proc {rsv construct} {event type} {
set args(szFPBRecPath) "$args(szevtname)"
set events {}
set seen {}
+ set now [clock seconds]
set progs [lmap i [\
epg dbfetch dump -scrid [$event get series_crid] \
-sort start] {
if {[set ecrid [$i get event_crid]] eq ""} continue
- if {$ecrid in $seen} continue
- lappend seen $ecrid
- if {[$i get start] < [$event get start]} {
+
+ if {[$i end] < $now} {
set args(usLastRecordedEvtId) [$i get event_id]
continue
}
+ if {$ecrid in $seen} continue
+ lappend seen $ecrid
lappend events [rsv mkaul $i]
list "1$::ccrid$ecrid"
}]
+ # set 1st event to record
+ binary scan [string range [lindex $events 0] 0 15] \
+ iiii service_id start end event_id
+ #puts "$service_id $start [clock format $end] $event_id"
+ set args(hsvc) $service_id
+ set args(nsttime) $start
+ set args(usevtid) $event_id
+ set args(nduration) $($end-$start)
set args(szEventToRecord) "[join $progs "|"]|"
set args(aulEventToRecordInfo) [join $events ""]
}