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
72 lines
2.2 KiB
Go
72 lines
2.2 KiB
Go
package driver
|
|
|
|
// NativeWindow is an extension interface for `fyne.Window` that gives access
|
|
// to platform-native features of application windows.
|
|
//
|
|
// Since: 2.5
|
|
type NativeWindow interface {
|
|
// RunNative provides a way to execute code within the platform-specific runtime context for a window.
|
|
// The context types are defined in the `driver` package and the specific context passed will differ by platform.
|
|
RunNative(func(context any))
|
|
}
|
|
|
|
// AndroidContext is passed to the RunNative callback when it is executed on an Android device.
|
|
// The VM, Env and Ctx pointers are required to make various calls into JVM methods.
|
|
//
|
|
// Since: 2.3
|
|
type AndroidContext struct {
|
|
VM, Env, Ctx uintptr
|
|
}
|
|
|
|
// AndroidWindowContext is passed to the NativeWindow.RunNative callback when it is executed
|
|
// on an Android device. The NativeWindow field is of type `*C.ANativeWindow`.
|
|
// The VM, Env and Ctx pointers are required to make various calls into JVM methods.
|
|
//
|
|
// Since: 2.5
|
|
type AndroidWindowContext struct {
|
|
AndroidContext
|
|
NativeWindow uintptr
|
|
}
|
|
|
|
// UnknownContext is passed to the RunNative callback when it is executed
|
|
// on devices or windows without special native context.
|
|
//
|
|
// Since: 2.3
|
|
type UnknownContext struct{}
|
|
|
|
// WindowsWindowContext is passed to the NativeWindow.RunNative callback
|
|
// when it is executed on a Microsoft Windows device.
|
|
//
|
|
// Since: 2.5
|
|
type WindowsWindowContext struct {
|
|
// HWND is the window handle for the native window.
|
|
HWND uintptr
|
|
}
|
|
|
|
// MacWindowContext is passed to the NativeWindow.RunNative callback
|
|
// when it is executed on a macOS device.
|
|
//
|
|
// Since: 2.5
|
|
type MacWindowContext struct {
|
|
// NSWindow is the window handle for the native window.
|
|
NSWindow uintptr
|
|
}
|
|
|
|
// X11WindowContext is passed to the NativeWindow.RunNative callback
|
|
// when it is executed on a device with the X11 windowing system.
|
|
//
|
|
// Since: 2.5
|
|
type X11WindowContext struct {
|
|
// WindowHandle is the window handle for the native X11 window.
|
|
WindowHandle uintptr
|
|
}
|
|
|
|
// WaylandWindowContext is passed to the NativeWindow.RunNative callback
|
|
// when it is executed on a device with the Wayland windowing system.
|
|
//
|
|
// Since: 2.5
|
|
type WaylandWindowContext struct {
|
|
// WaylandSurface is the handle to the native Wayland surface.
|
|
WaylandSurface uintptr
|
|
}
|