summaryrefslogtreecommitdiff
path: root/server/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'server/cmd')
-rw-r--r--server/cmd/listend/main.go13
1 files changed, 10 insertions, 3 deletions
diff --git a/server/cmd/listend/main.go b/server/cmd/listend/main.go
index 6dd3c65..d45f890 100644
--- a/server/cmd/listend/main.go
+++ b/server/cmd/listend/main.go
@@ -589,9 +589,16 @@ func adAccounting(e *store.Episode, found []transcript.Candidate) string {
"so anything found is baked into what the publisher serves",
len(found), how, clock(total))
case total > gap:
- return fmt.Sprintf("%d ad candidate(s) %s, %s against %s inserted -- the excess is "+
- "advertising baked in rather than inserted, which the length gap cannot see",
- len(found), how, clock(total), clock(gap))
+ // Deliberately does not say why it is over. Two causes look identical here and the
+ // first guess was the wrong one: advertising baked into what the publisher serves,
+ // which the gap cannot see, and candidate edges reaching past the advertisement.
+ // Subtraction answers "not in the master", which is a superset of "advertising" --
+ // a title card, a music sting and whisper's own [MUSIC] markers are all absent from a
+ // publisher's written transcript too. Checked on Heavyweight "#70 Cayden", where a
+ // 134-second candidate opens on `Today's episode, "Caiton."` and `[MUSIC]`.
+ return fmt.Sprintf("%d ad candidate(s) %s, %s against %s inserted -- over by %s, "+
+ "which is either baked-in advertising or candidate edges reaching too far",
+ len(found), how, clock(total), clock(gap), clock(total-gap))
default:
return fmt.Sprintf("%d ad candidate(s) %s, %s of the %s inserted (%d%%)",
len(found), how, clock(total), clock(gap), total*100/gap)