Skip to content

Bounty: Implement MediaElement control (lifetime commercial license reward) #5

@Chevalier12

Description

@Chevalier12

Bounty

Whoever fully implements MediaElement parity for this repository will receive a lifetime commercial license for InkkSlinger.

Objective

Implement a usable MediaElement control aligned with this project's WPF-parity target and architecture.

Scope

  • Add MediaElement control type with core playback surface and lifecycle semantics appropriate for this framework.
  • Integrate with layout/render/invalidation and input/event systems as needed.
  • Expose XML/XAML parser + schema authoring support where applicable.
  • Add focused tests and a minimal validation/demo surface if needed.

Acceptance Criteria

  • Clean build: dotnet build InkkSlinger.sln -c Release -v minimal
  • New deterministic tests in InkkSlinger.Tests/ for implemented playback/state behavior.
  • Full test project remains green: dotnet test InkkSlinger.Tests/InkkSlinger.Tests.csproj -c Release -v minimal
  • TODO.md, README.md, and UI-FOLDER-MAP.md updated for coverage/status changes.

Important: Media Decoding Strategy Must Be Agreed Before Implementation

This control is fundamentally a media pipeline integration problem, not just a control wrapper. Unlike the other bounty items, MediaElement requires audio/video decoding — there are no existing hooks in the codebase for this. On DesktopGL this will almost certainly require a third-party library dependency (e.g. an FFmpeg wrapper).

Before starting significant implementation work, open a discussion or comment on this issue to propose your decoding approach and dependency choice. The maintainer must approve the strategy upfront to avoid a rejection at PR review time on architectural or dependency grounds.

Notes

  • Keep PR focused on MediaElement parity work and tests.
  • Any platform constraints/limitations must be explicitly documented in the PR.
  • Final reward determination is maintainer-approved based on merged implementation quality/completeness.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bountyIssue with explicit bounty rewardenhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions