- Replace unifiedAdapter with gstPlayer in playSession struct
- Update all playSession methods to use GStreamerPlayer:
- Play(), Pause(), Seek(), StepFrame()
- SetVolume(), Stop(), stopLocked(), startLocked()
- GetCurrentFrame()
- Add frameDisplayLoop() to continuously pull frames from GStreamer
- Connect GStreamer frame output to Fyne canvas for display
- Remove all UnifiedPlayerAdapter dependencies
This completes the GStreamer integration for both Player module
and Convert preview system. Both now use the same stable GStreamer
backend for video playback.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
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
- 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.
- 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
- 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)