Skip to content

Commit dc29a3a

Browse files
committed
changelog: add v1.7.29 lifecycle guard follow-up
1 parent 0e8f953 commit dc29a3a

7 files changed

Lines changed: 11 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
- v1.7.29: VideoPlayer lifecycle guard follow-up.
4+
- **Video Lifecycle Safety**: Stop playback immediately when detaching the video renderer, clear any active playback timer, and prevent tick scheduling when playback is inactive, EOF has ended, or no renderer is attached.
5+
- **Renderer Replacement Clarity**: Keep worker restart behavior for renderer swaps while documenting that a later renderer reattach after detach remains idle until playback is explicitly started again.
6+
- **Testing**: Add regressions for renderer detach cleanup, no-renderer tick suppression, inactive playback tick suppression, and EOF-ended tick suppression. The full test suite now reports 277/277 C TAP tests passing.
7+
38
- v1.7.28: VideoPlayer module refactor, race-condition hardening, and preloader thread safety.
49
- **VideoPlayer Module Split**: Extract the monolithic `video_player.c` (2606→2097 lines) into three focused internal modules: `video_player_decode` (FFmpeg init, sws context, RGBA buffer, decode teardown), `video_player_layout` (line cache, I/O timing, queue depth, pixel-mode labels), and `video_player_playback` (generation counter, frame delay, EOF flags, clock/PTS helpers, late-frame drop logic). Each module has its own internal header with clear ownership boundaries.
510
- **Race-Condition Hardening (PR #22)**: Fix renderer replacement to stop old workers before starting new ones. Harden book table-of-contents and media-buffer concurrent access. Add `state_mutex` protection for `rewind_needs_resync` reads in late-frame drop decisions.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# PixelTerm-C
22

3-
![Version](https://img.shields.io/badge/Version-v1.7.28-blue)
3+
![Version](https://img.shields.io/badge/Version-v1.7.29-blue)
44
![License](https://img.shields.io/badge/License-LGPL--3.0-orange)
55

66
*English | [中文](docs/i18n/README_zh.md) | [日本語](docs/i18n/README_ja.md)*

docs/development/DEVELOPMENT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
PixelTerm-C is a C implementation of the Python-based PixelTerm terminal image, video, and book browser. This document outlines the development approach, architecture decisions, and implementation roadmap.
66

7-
**Current Status**: ✅ **PRODUCTION READY** - v1.7.28 with a warning-clean verification baseline that now covers terminal protocol helpers, CLI/startup paths, book core helpers, isolated file-manager/preview-grid/book-preview suites, the paused video-seek target-restore fix, stable EOF drain/replay handling in the video player, the newer video-player/app-config maintainability seams, and the layered auto-protocol resolver path.
7+
**Current Status**: ✅ **PRODUCTION READY** - v1.7.29 with a warning-clean verification baseline that now covers terminal protocol helpers, CLI/startup paths, book core helpers, isolated file-manager/preview-grid/book-preview suites, the paused video-seek target-restore fix, stable EOF drain/replay handling in the video player, the newer video-player/app-config maintainability seams, and the layered auto-protocol resolver path.
88

99
## Technical Architecture
1010

docs/i18n/README_ja.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# PixelTerm-C
22

3-
![Version](https://img.shields.io/badge/Version-v1.7.28-blue)
3+
![Version](https://img.shields.io/badge/Version-v1.7.29-blue)
44
![License](https://img.shields.io/badge/License-LGPL--3.0-orange)
55

66
*[English](../../README.md) | [中文](README_zh.md) | 日本語*

docs/i18n/README_zh.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# PixelTerm-C
22

3-
![Version](https://img.shields.io/badge/Version-v1.7.28-blue)
3+
![Version](https://img.shields.io/badge/Version-v1.7.29-blue)
44
![License](https://img.shields.io/badge/License-LGPL--3.0-orange)
55

66
*[English](../../README.md) | 中文 | [日本語](README_ja.md)*

docs/project/PROJECT_STATUS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# PixelTerm-C Project Status
22

33
## Overview
4-
- **Current Version**: v1.7.28
4+
- **Current Version**: v1.7.29
55
- **Status**: Production ready
66
- **Core Dependencies**: chafa, glib-2.0, gdk-pixbuf-2.0, gio-2.0, FFmpeg libs, pthread; MuPDF optional for book support
77

docs/project/ROADMAP.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# PixelTerm-C Roadmap
22

33
## Current Status
4-
PixelTerm-C is production-ready as of v1.7.28. The current short-term baseline
4+
PixelTerm-C is production-ready as of v1.7.29. The current short-term baseline
55
now includes non-overlapping preview/book pagination behavior, paused video
66
seek target restoration, stable EOF drain-to-stop playback without tail-frame
77
replay, matching regression coverage, and refreshed resolver/override docs.

0 commit comments

Comments
 (0)