Commit Graph

510 Commits

Author SHA1 Message Date
6a604dbb35 fix(player): ensure GStreamer produces and displays frames properly
Critical fixes for GStreamer playback:

1. Add preroll waiting in GStreamer.Load():
   - Wait for ASYNC_DONE message after setting to PAUSED
   - Ensures first frame is ready before playback
   - Prevents black screen on load

2. Fix frameDisplayLoop to always pull frames:
   - Remove paused check that blocked frame extraction
   - Frames now pulled even when paused (enables scrubbing)
   - Only update progress bar when playing

3. Add comprehensive logging:
   - Log each frame update with size and timestamp
   - Debug frame pull errors
   - Track paused state during updates

4. Fix initial paused state:
   - Explicitly set paused=true after load
   - Matches GStreamer's PAUSED state

These changes fix:
- Black screen issue (no frames displaying)
- Scrubbing not working (frames not available when paused)
- Fast duration counting (progress only updates when playing)
2026-01-09 19:22:08 -05:00
00df0b3b31 feat(player): replace UnifiedPlayerAdapter with GStreamer in playSession
- 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.
2026-01-09 03:50:32 -05:00
bdc27c2253 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
a0bcdd55e2 Enforce display aspect ratio in conversions 2026-01-07 15:38:34 -05:00
e6c015e114 Add horizontal padding to snippet controls 2026-01-07 15:31:05 -05:00
2370868ca0 Enforce minimum window size via content guard 2026-01-07 15:19:43 -05:00
e7610256f2 Stabilize window minimums and player base size 2026-01-07 15:17:20 -05:00
306d581c69 Add static UI noise overlay 2026-01-07 15:02:28 -05:00
858c48cbb3 Refine Upscale layout and settings panel 2026-01-07 14:34:10 -05:00
d539af8d30 Keep player size stable without video 2026-01-07 14:12:02 -05:00
4127dea7c7 Clamp player layout aspect and size 2026-01-07 13:51:29 -05:00
0895e73873 Stabilize convert left column layout 2026-01-07 13:47:53 -05:00
e81cc27ea8 Restructure convert layout columns 2026-01-07 02:18:27 -05:00
282fbaaad8 Fix command preview drawer declaration 2026-01-07 02:12:07 -05:00
2df1f426a4 Move snippet/options previews into drawers 2026-01-07 02:11:15 -05:00
369d1e3f4f Give video pane dedicated transport bar 2026-01-07 02:06:20 -05:00
b1ddf81f4d Improve branding layout and fix GNOME icon 2026-01-07 01:59:16 -05:00
91c6ab73c7 Cap snippet options panel height 2026-01-06 23:50:15 -05:00
f42532a52d Guard two-pass in CRF mode 2026-01-06 22:10:04 -05:00
48817dcee3 Hide CRF auto row unless manual selected 2026-01-06 21:59:38 -05:00
4e53886fe3 Author menu sections and menu options 2026-01-06 21:31:17 -05:00
4e5c1cb33f Fix menu theme type and add openURL helper 2026-01-06 21:09:50 -05:00
c5efd222a9 Add DVD menu tab with theme and logo controls 2026-01-06 21:04:58 -05:00
1e50dc7e16 Refresh manual bitrate row visibility 2026-01-06 20:35:03 -05:00
fc8e4d51d5 Show CRF entry when bitrate mode is CRF 2026-01-06 20:30:34 -05:00
93d92ba97e Style convert sections with boxed layout 2026-01-06 19:42:38 -05:00
b7afb3a48e Increase color separation for formats and codecs 2026-01-06 18:48:57 -05:00
Stu Leak
6c26855c4b fix: final cleanup of syntax errors in main.go
- Remove extra closing brace on line 10999
- Remove large block of duplicate orphaned code (lines 11127-11170)
- Ensure all code is within proper function bodies
- Complete UnifiedPlayerAdapter integration with clean syntax
- Ready for successful compilation
2026-01-06 18:38:37 -05:00
Stu Leak
29573229e4 fix: remove duplicate code and syntax errors
- Remove orphaned closing brace in author_menu.go
- Remove duplicate code sections in main.go
- Fix non-declaration statements outside function body
- Ensure clean compilation with no syntax errors
- Complete UnifiedPlayerAdapter integration cleanup
2026-01-06 18:36:07 -05:00
Stu Leak
d9df6a22a8 fix: resolve syntax errors in author_menu.go and main.go
- Fix unterminated string in author_menu.go line 418
- Fix invalid escape sequences in escapeDrawtextText function
- Remove orphaned code outside function body in main.go
- Fix extra parentheses causing syntax errors
- Ensure clean compilation for successful build
2026-01-06 18:14:07 -05:00
Stu Leak
d10ebbee8f Document authoring content types and galleries 2026-01-06 18:03:46 -05:00
Stu Leak
aa6d335d80 Wire convert state manager callbacks 2026-01-06 17:52:46 -05:00
Stu Leak
1a9e0e0d05 feat(upscale): redesign layout and encoding controls 2026-01-06 17:37:32 -05:00
Stu Leak
3ef115aab1 Revert "feat(upscale): redesign layout and add encoding controls"
This reverts commit ed5be79f4c.
2026-01-06 17:25:39 -05:00
Stu Leak
1fd353f293 feat(upscale): redesign layout and add encoding controls 2026-01-06 17:24:03 -05:00
Stu Leak
3bc9a4137e feat(upscale): add blur control 2026-01-06 17:01:06 -05:00
Stu Leak
c66d6d56cd fix(upscale): report ffmpeg progress via pipe 2026-01-06 16:49:39 -05:00
Stu Leak
c38e6acde9 Use updated VT logo in About 2026-01-06 02:05:09 -05:00
Stu Leak
7e4c5364ec Relax module min sizes for window snapping 2026-01-05 22:50:25 -05:00
Stu Leak
630f1bad80 Fix unified player integration build break 2026-01-05 22:20:03 -05:00
Stu Leak
f138d6d685 Start dev24 2026-01-05 22:14:33 -05:00
Stu Leak
7bbd2de4ad Integrate unified player update 2026-01-05 22:10:27 -05:00
Stu Leak
a356bed94c Fix Windows log folder opening 2026-01-04 19:16:42 -05:00
Stu Leak
01933951c9 Improve Copy Error details 2026-01-04 19:04:08 -05:00
Stu Leak
57f2076f9f Fix CRF UI sync and stabilize player 2026-01-04 16:45:08 -05:00
Stu Leak
e7ff0b6254 Show manual CRF row in CRF mode 2026-01-04 16:36:17 -05:00
Stu Leak
745339ddcc Show manual CRF when CRF mode selected 2026-01-04 16:21:39 -05:00
Stu Leak
dc2942a222 Fix opening logs folder on Windows 2026-01-04 16:17:46 -05:00
Stu Leak
93853381c9 Highlight invalid manual CRF entry 2026-01-04 16:14:29 -05:00
Stu Leak
05fc020e54 Handle audio module drag and drop 2026-01-04 16:13:28 -05:00