EmotionPlayer v3.1.1 Release Notes ✨
What’s New in v3.1.1
-
✅ More robust inference pipeline
- Fixed handling of short / low‑FPS / “weird” videos (e.g. many clips from stock sites).
- Stable frame sampling based on real duration, avoiding zero‑frame and division‑by‑zero edge cases.
- Safer error handling around native DLL calls.
-
🧠 Correct alignment of emotion timeline
- Timeline emojis (happy/sad) now fully respect the dynamic frame sampling interval (1–6 seconds).
- UI and models (
positiveness,filter,samp) use the same temporal grid, so visual feedback matches real inference points.
-
📊 Redesigned progress window
- Shows the current video name (with tooltip for full path if needed).
- Displays the current stage:
PositivenessorFilter. - Clearly visible percentage over a dark progress bar — no more white text on white background.
- Progress is driven by a shared native counter and updated from the UI thread for smooth display.
-
⚙️ Safer multithreaded inference
- Parallel chunk processing over frames with clean separation of indices (no data races).
- Threads/tasks are tracked via
Taskcompletion instead of manual flags. - Still uses ~80% of available CPU cores by default for inference 🔥
-
🧩 Stability & crash fixes
- Fixed
MediaElement.NaturalDuration == Automaticcrash by checkingHasTimeSpan. - Defensive checks around missing frames, invalid durations, and native progress edge cases.
- Fixed
EmotionPlayer v3.1.1 focuses on making the inference pipeline and UI feedback significantly more reliable, especially on short and non‑standard videos, while keeping the multithreaded performance gains from v3.1.