Skip to content

Latest commit

 

History

History
96 lines (63 loc) · 2.22 KB

File metadata and controls

96 lines (63 loc) · 2.22 KB

Contributing to FFmpeg.AutoGen

Thank you for your interest in contributing to FFmpeg.AutoGen!

Project Status

This project is transitioning to a semi-managed model. The maintainer welcomes contributions from the community!

Maintainer: Ruslan Balanukhin (@Ruslan-B)

How to Contribute

Reporting Issues

  • Check if the issue already exists
  • Provide a clear description and steps to reproduce
  • Include relevant code samples and FFmpeg version information

Submitting Pull Requests

  1. Fork the repository and create your branch from main

    git checkout -b feature/my-new-feature
  2. Make your changes

    • Follow existing code style
    • Add tests if applicable
    • Update documentation if needed
  3. Test your changes

    dotnet build -c Release
    dotnet test -c Release
  4. Commit your changes

    • Use clear commit messages
    • Reference related issues
  5. Push to your fork and submit a pull request to the main branch

  6. Wait for review

    • The maintainer will review your PR
    • Be ready to make changes if requested

Development Setup

Prerequisites

  • Visual Studio 2022 with C# and C++ desktop development workloads
  • Windows SDK for desktop
  • .NET 6.0, 8.0, and 9.0 SDKs
  • 7-Zip (for extracting FFmpeg binaries)

FFmpeg Binaries Setup

After cloning, download the required FFmpeg DLLs:

.\FFmpeg\download-ffmpeg.ps1

Building

dotnet build -c Release

Running Tests

dotnet test -c Release

Regenerating Bindings

Run the FFmpeg.AutoGen.CppSharpUnsafeGenerator project to regenerate all *.g.cs files.

Code of Conduct

  • Be respectful and inclusive
  • Focus on constructive feedback
  • Help create a welcoming environment for all contributors

License

By contributing, you agree that your contributions will be licensed under the MIT License.

Questions?

For general usage questions, please use:

For project-specific questions about contributions, open an issue in this repository.