Commit Graph

808 Commits

Author SHA1 Message Date
501e2622dc feat(player): integrate GStreamer for stable video playback
- Add GStreamer as mandatory core dependency in install.sh
- Create controller_gstreamer.go wrapping GStreamerPlayer
- Add missing methods to GStreamerPlayer (SetWindow, Stop, SetFullScreen)
- Fix GstSeekFlags type casting issue
- Update build scripts to always use -tags gstreamer
- Update controller_linux.go build tag to exclude when gstreamer enabled
- Add comprehensive migration documentation

GStreamer replaces the broken FFmpeg pipe-based UnifiedPlayer.
GStreamer 1.26+ provides frame-accurate seeking and reliable A/V sync.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-09 03:43:34 -05:00
3ff907cbbe Tighten author menu logo preview handling 2026-01-08 21:43:13 -05:00
68df790d27 Fix player frame generation and video playback
Major improvements to UnifiedPlayer:

1. GetFrameImage() now works when paused for responsive UI updates
2. Play() method properly starts FFmpeg process
3. Frame display loop runs continuously for smooth video display
4. Disabled audio temporarily to fix video playback fundamentals
5. Simplified FFmpeg command to focus on video stream only

Player now:
- Generates video frames correctly
- Shows video when paused
- Has responsive progress tracking
- Starts playback properly

Next steps: Re-enable audio playback once video is stable
2026-01-07 22:20:00 -05:00
00d462cca6 Revert "Remove unused settings module import"
This reverts commit 237075c12b.
2026-01-07 21:57:12 -05:00
237075c12b Remove unused settings module import 2026-01-07 21:56:09 -05:00
205724d7c1 Add timeout and no-stdin for thumbnail jobs 2026-01-07 16:04:40 -05:00
38c0d3e62f Enforce display aspect ratio in conversions 2026-01-07 15:38:34 -05:00
672a67fe2a Add horizontal padding to snippet controls 2026-01-07 15:31:05 -05:00
52beb6dac8 Restore UI noise opacity to 3 percent 2026-01-07 15:29:56 -05:00
39c5cc5c7d Harden Windows icon resource generation 2026-01-07 15:29:02 -05:00
db381b92df Enforce minimum window size via content guard 2026-01-07 15:19:43 -05:00
8a12f69169 Stabilize window minimums and player base size 2026-01-07 15:17:20 -05:00
fd1feb1641 Lower UI noise opacity 2026-01-07 15:11:22 -05:00
11cd7dc885 Add static UI noise overlay 2026-01-07 15:02:28 -05:00
bf2ec70ffe Embed Windows app icon via windres 2026-01-07 14:40:53 -05:00
3bf786533a Refine Upscale layout and settings panel 2026-01-07 14:34:10 -05:00
a04709593b Keep player size stable without video 2026-01-07 14:12:02 -05:00
d4f75832e4 Clamp player layout aspect and size 2026-01-07 13:51:29 -05:00
a8d2096686 Reduce default UI text sizes 2026-01-07 13:49:13 -05:00
4f855dbfe3 Stabilize convert left column layout 2026-01-07 13:47:53 -05:00
fab575cfab Add build time to scripts 2026-01-07 13:45:58 -05:00
bc0b4f7ad3 Add GStreamer preview backend 2026-01-07 02:50:27 -05:00
0bb4e3ff70 Add GStreamer to dev install scripts 2026-01-07 02:40:06 -05:00
7beae3db3e Stabilize unified player preview buffers 2026-01-07 02:30:28 -05:00
0b17b447bc Fix unified player load err scoping 2026-01-07 02:28:36 -05:00
de4416868e Run unified player in preview-only mode 2026-01-07 02:27:46 -05:00
b7f1cd0737 Fix unified player frame reader contention 2026-01-07 02:24:49 -05:00
a4ad5ff8ff Add fyne import for UI thread updates 2026-01-07 02:21:52 -05:00
9a87a7e28f Fix UI thread update in unified player adapter 2026-01-07 02:20:53 -05:00
7536776da0 Restructure convert layout columns 2026-01-07 02:18:27 -05:00
40d2a57f74 Fix command preview drawer declaration 2026-01-07 02:12:07 -05:00
55d4969bc2 Move snippet/options previews into drawers 2026-01-07 02:11:15 -05:00
30eeaef753 Give video pane dedicated transport bar 2026-01-07 02:06:20 -05:00
2c75a2fd75 Guard unified player zero frame rate 2026-01-07 02:01:39 -05:00
19b8343c66 Improve branding layout and fix GNOME icon 2026-01-07 01:59:16 -05:00
8efe123ea3 Refine author logo layout 2026-01-07 01:54:02 -05:00
3d0a1973af Fix author branding crash on init 2026-01-07 01:50:54 -05:00
9fdd8b5daf Tighten author logo branding layout 2026-01-07 01:49:17 -05:00
91c6caeaa0 Fix author logo preview, scrolling, and icons 2026-01-07 01:42:03 -05:00
a15b2668d3 fix: remove broken logging file and use fixed version
- Remove duplicate Error/Fatal function definitions
- Replace internal/logging/logging_broken.go with internal/logging/logging.go
- Ensure build uses working logging system
- Resolve persistent syntax errors blocking compilation
2026-01-07 01:15:54 -05:00
f13b367ef3 fix: replace logging.go with working version to resolve build syntax errors
- Create logging_fixed.go with proper function closure
- Remove duplicate Error/Fatal function definitions
- Fix missing closing braces and orphaned code
- Maintain all logging functionality while fixing syntax
- Add proper error handling and stack trace support
- Organized logging system for easier crash debugging

This should resolve the persistent 'non-declaration statement' errors that were blocking the build.
2026-01-07 01:13:18 -05:00
9bc5844675 fix: resolve logging syntax error on line 198
- Remove stray closing brace causing non-declaration error
- Clean up duplicate closing braces in Fatal function
- Ensure proper function closure and syntax
- Keep note about infinite loop prevention
2026-01-07 00:09:59 -05:00
b46e56e605 fix: resolve duplicate logging functions
- Remove duplicate Error and Fatal function definitions
- Fix missing closing brace in Fatal function
- Clean up duplicate history tracking code
- Ensure proper function closure and syntax
2026-01-07 00:06:08 -05:00
9ba9fbfc3b fix: resolve logging syntax errors
- Fix missing closing brace in Error function
- Remove stray empty line causing syntax error
- Ensure all functions are properly closed
- Maintain structured logging functionality
2026-01-07 00:04:37 -05:00
48eff3c8a1 feat: Add crash-safe logging and panic recovery
- Create organized logging system with subfolders
- Add dedicated crash log (logs/crashes.log)
- Add specific log paths for different components
- Implement panic recovery with stack traces
- Add crash-safe logging functions
- Update UnifiedPlayer with better error handling and recovery
- Special handling for test video file
- Add comprehensive testing checklist for Phase A

This makes crashes much easier to diagnose and debug when testing the UnifiedPlayer implementation.

Files:
- internal/logging/logging.go (enhanced)
- internal/player/unified_ffmpeg_player.go (crash-safe)
- TESTING_CHECKLIST.md (comprehensive checklist)
- CONVERSION_MODULARIZATION_PLAN.md (dev25 preparation)
2026-01-06 23:59:19 -05:00
33d709ace4 Cap snippet options panel height 2026-01-06 23:50:15 -05:00
16d331fa3b Make author menu tab scrollable 2026-01-06 23:43:31 -05:00
ea7cfbbf6a Clamp menu logo scale and add preview 2026-01-06 23:42:14 -05:00
c3bd5a0baa Guard two-pass in CRF mode 2026-01-06 22:10:04 -05:00
4a4eee1be5 Hide CRF auto row unless manual selected 2026-01-06 21:59:38 -05:00