4 TESTING_CHECKLIST
Gemini CLI edited this page 2026-03-15 14:37:09 -04:00
This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

UnifiedPlayer Testing Checklist

Video Functionality Testing

  • Basic video playback starts without crashing
  • Video frames display correctly in Fyne canvas
  • Frame rate matches source video (30fps, 24fps, 60fps)
  • Resolution scaling works properly
  • No memory leaks during video playback
  • Clean video-only playback (no audio stream files)

Audio Functionality Testing

  • Audio plays through system speakers
  • Audio volume controls work correctly (0-100%)
  • Mute/unmute functionality works
  • A/V synchronization stays in sync (no drift)
  • Audio works with different sample rates
  • Audio stops cleanly on Stop()/Pause()

Play/Pause/Seek Controls

  • Play() starts both video and audio immediately
  • Pause() freezes both video and audio frames
  • Seek() jumps to correct timestamp instantly
  • Frame stepping works frame-by-frame
  • Resume after pause continues from paused position

Error Handling & Edge Cases

  • Missing video file shows user-friendly error
  • Corrupted video file handles gracefully
  • Unsupported format shows clear error message
  • Audio-only files handled without crashes
  • Resource cleanup on player.Close()

Performance & Resource Usage

  • CPU usage is reasonable (<50% on modern hardware)
  • Memory usage stays stable (no growing leaks)
  • Smooth playback without stuttering
  • Fast seeking without rebuffering delays
  • Frame extraction is performant at target resolution

Cross-Platform Testing

  • Works on different video codecs (H.264, H.265, VP9)
  • Handles different container formats (MP4, MKV, AVI)
  • Works with various resolutions (720p, 1080p, 4K)
  • Audio works with stereo/mono sources
  • No platform-specific crashes (Linux/Windows/Mac)

Technical Validation

  • FFmpeg process starts with correct args
  • Pipe communication works (video + audio)
  • RGB24 → RGBA conversion is correct
  • oto audio context initializes successfully
  • Frame display loop runs at correct timing
  • A/V sync timing calculations are accurate

Key Success Metrics

  • Video plays without crashes
  • Audio is audible and in sync
  • Seeking is frame-accurate and responsive
  • Frame stepping works perfectly
  • Resource usage is optimal
  • No memory leaks or resource issues

Testing Notes

  • File: [Test video file used]
  • Duration: [Video length tested]
  • Resolution: [Input and output resolutions]
  • Issues Found: [List any problems discovered]
  • Performance: [CPU/Memory usage observations]
  • A/V Sync: [Any sync issues noted]
  • Seek Accuracy: [Seek performance observations]

Debug Information

  • FFmpeg Args: [Command line arguments used]
  • Audio Context: [Sample rate, channels, format]
  • Buffer Sizes: [Video frame and audio buffer sizes]
  • Error Logs: [Any error messages during testing]
  • Pipe Status: [Video/audio pipe communication status]