summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/ISSUE_TEMPLATE26
-rw-r--r--.github/ISSUE_TEMPLATE/2_bug_report_linux.yml143
-rw-r--r--.github/ISSUE_TEMPLATE/2_bug_report_macos.yml138
-rw-r--r--.github/ISSUE_TEMPLATE/2_bug_report_windows.yml140
-rw-r--r--.github/ISSUE_TEMPLATE/3_bug_report.yml136
-rw-r--r--.github/ISSUE_TEMPLATE/4_bug_report_build.yml69
-rw-r--r--.github/ISSUE_TEMPLATE/5_feature_request.yml47
-rw-r--r--.github/ISSUE_TEMPLATE/config.yml12
-rw-r--r--.github/workflows/build.yml543
-rw-r--r--.github/workflows/cleanup_caches.yml40
-rw-r--r--.github/workflows/comment.yml46
-rw-r--r--.github/workflows/docs.yml26
-rw-r--r--.github/workflows/lint.yml35
13 files changed, 1375 insertions, 26 deletions
diff --git a/.github/ISSUE_TEMPLATE b/.github/ISSUE_TEMPLATE
deleted file mode 100644
index 3497ea04f4..0000000000
--- a/.github/ISSUE_TEMPLATE
+++ /dev/null
@@ -1,26 +0,0 @@
-### mpv version and platform
-
-If you're not using git master or the latest release, update.
-Releases are listed here: https://github.com/mpv-player/mpv/releases
-
-### Reproduction steps
-
-### Expected behavior
-
-### Actual behavior
-
-### Log file
-
-Make a log file made with -v or --log-file=output.txt, paste it to
-https://0x0.st/ or a similar site, and replace this text with a link to it.
-
-Providing a log file is strongly encouraged. It is very helpful for reproducing
-bugs or getting important technical context. Without a log it might not be
-possible to analyze and fix certain bugs, and your bug report will be closed
-or ignored.
-
-### Sample files
-
-Sample files needed to reproduce this issue can be uploaded to https://0x0.st/
-or similar sites. (Only needed if the issue cannot be reproduced without it.)
-Do not use garbage like "cloud storage", especially not Google Drive. \ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/2_bug_report_linux.yml b/.github/ISSUE_TEMPLATE/2_bug_report_linux.yml
new file mode 100644
index 0000000000..b2e47d6291
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/2_bug_report_linux.yml
@@ -0,0 +1,143 @@
+name: "Report a Linux Issue"
+description: "Create a report for a runtime related Linux Issue"
+labels: ["os:linux"]
+body:
+- type: textarea
+ attributes:
+ label: "mpv Information"
+ placeholder: |
+ mpv v0.38.0-96-gf776be6af5 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
+ built on May 5 2024 18:37:43
+ libplacebo version: v7.349.0 (v6.338.0-120-g7b294350)
+ FFmpeg version: 6.1.1
+ FFmpeg library versions:
+ libavutil 58.29.100
+ libavcodec 60.31.102
+ libavformat 60.16.100
+ libswscale 7.5.100
+ libavfilter 9.12.100
+ libswresample 4.12.100
+ description: |
+ Provide the output of `mpv --version`.
+ render: bash
+ validations:
+ required: false
+- type: textarea
+ attributes:
+ label: "Other Information"
+ description: >
+ Provide follwing information if applicable.
+ - Linux Version: `cat /etc/os-release | grep "NAME"`
+ - Kernel Version: `uname -a`
+ - GPU Model: `lspci -nn | grep VGA` or `lshw -C display -numeric`
+ - Mesa/GPU Driver Version: `glxinfo -B | grep "OpenGL version string"` or `vulkaninfo | grep driverInfo`
+ - Window Manager and Version
+ - Source of the mpv binary
+ - If known which version of mpv introduced the problem
+ - Possible screenshot or video of visual glitches
+
+ If you're not using git master or the latest release, update.
+ Packages and builds can be found [here](https://mpv.io/installation/).
+ value: |-
+ - Linux version:
+ - Kernel Version:
+ - GPU Model:
+ - Mesa/GPU Driver Version:
+ - Window Manager and Version:
+ - Source mpv:
+ - Introduced in version:
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Reproduction Steps"
+ description: >
+ Try to reproduce your issue with `--no-config` first. If it isn't reproducible
+ with `--no-config` try to find out which option or script causes your issue.
+
+
+ If the issue is render performance-related, try to reproduce it with `--no-config
+ --profile=fast`, which is designed to work on lower-end mobile devices.
+
+
+ For decoding performance-related issues, additionally try to enable hardware
+ decoding with `--hwdec=yes` or the `Ctrl+h` shortcut.
+
+
+ Describe the reproduction steps as precise as possible. It's very likely that
+ the bug you experience wasn't reproduced by the developer because the workflow
+ differs from your own.
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Expected Behavior"
+ placeholder: "What were you expecting?"
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Actual Behavior"
+ placeholder: "What happened instead?"
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Log File"
+ placeholder: "Drag and drop log file here (Don't paste content directly)"
+ description: >
+ Make a log file with `--gpu-debug --log-file=output.txt`, which is our preferred way, and
+ attach it to the issue.
+
+
+ If you have trouble producing a log file, you can alternatively use `--gpu-debug -v -v`,
+ save the terminal output to a file, and attach it to the issue.
+
+
+ In the case of a crash, please provide a [backtrace](https://wiki.archlinux.org/title/Debugging/Getting_traces).
+
+
+ Without the log file, this issue will be closed for ignoring the issue template.
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Sample Files"
+ placeholder: "Drag and drop sample files here"
+ description: >
+ Please provide sample files for a minimal reproduction case, if the issue can't be
+ reproduced without it or it is helpful to demonstrate the issue.
+
+
+ Preferably files should be attached directly within the text field below. Due to GitHub's
+ upload restriction, you may need to archive the sample file first and upload it as `.zip`
+ file. If the sample file is too big to attach directly, use a solution that is easy to
+ access with possible long-term retention. Possible services include, but are not limited
+ to, the following:
+
+ - [0x0.st](https://0x0.st/) (no long-term retention)
+ - [Dropbox](https://www.dropbox.com)
+ - [Google Drive](https://www.google.com/drive/)
+ - [iCLoud Drive](https://www.icloud.com/iclouddrive/)
+ - [MediaFire](https://www.mediafire.com/)
+ - [OneDrive](https://onedrive.live.com/)
+- type: checkboxes
+ attributes:
+ label: "I carefully read all instruction and confirm that I did the following:"
+ options:
+ - label: "I tested with the latest mpv version to validate that the issue is not already fixed."
+ required: true
+ - label: "I provided all required information including system and mpv version."
+ required: true
+ - label: >-
+ I produced the log file with the exact same set of files, parameters, and conditions
+ used in "Reproduction Steps", with the addition of `--log-file=output.txt`.
+ required: true
+ - label: >-
+ I produced the log file while the behaviors described in "Actual Behavior" were
+ actively observed.
+ required: true
+ - label: "I attached the full, untruncated log file."
+ required: true
+ - label: "I attached the backtrace in the case of a crash."
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/2_bug_report_macos.yml b/.github/ISSUE_TEMPLATE/2_bug_report_macos.yml
new file mode 100644
index 0000000000..9df7c26eef
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/2_bug_report_macos.yml
@@ -0,0 +1,138 @@
+name: "Report a macOS Issue"
+description: "Create a report for a runtime related macOS Issue"
+labels: ["os:mac"]
+body:
+- type: textarea
+ attributes:
+ label: "mpv Information"
+ placeholder: |
+ mpv v0.38.0-96-gf776be6af5 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
+ built on May 5 2024 18:37:43
+ libplacebo version: v7.349.0 (v6.338.0-120-g7b294350)
+ FFmpeg version: 6.1.1
+ FFmpeg library versions:
+ libavutil 58.29.100
+ libavcodec 60.31.102
+ libavformat 60.16.100
+ libswscale 7.5.100
+ libavfilter 9.12.100
+ libswresample 4.12.100
+ description: |
+ Provide the output of `mpv --version`.
+ render: bash
+ validations:
+ required: false
+- type: textarea
+ attributes:
+ label: "Other Information"
+ description: >
+ - macOS Version: `system_profiler SPSoftwareDataType | sed -rn 's/^ *System Version: (.*$)/\1/p'`
+ - Source of the mpv binary or bundle
+ - If known which version of mpv introduced the problem
+ - Possible screenshot or video of visual glitches
+
+ If you're not using git master or the latest release, update.
+ Nightly builds from master can be found [here](https://github.com/mpv-player/mpv/actions/workflows/build.yml?query=branch%3Amaster+event%3Apush),
+ click on the latest workflow run, scroll down to the Artifacts section and download the
+ appropriate build. Packages and builds can be found [here](https://mpv.io/installation/).
+ value: |-
+ - macOS version:
+ - Source of mpv:
+ - Introduced in version:
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Reproduction Steps"
+ description: >
+ Try to reproduce your issue with `--no-config` first. If it isn't reproducible
+ with `--no-config` try to find out which option or script causes your issue.
+
+
+ If the issue is render performance-related, try to reproduce it with `--no-config
+ --profile=fast`, which is designed to work on lower-end mobile devices.
+
+
+ For decoding performance-related issues, additionally try to enable hardware
+ decoding with `--hwdec=yes` or the `Ctrl+h` shortcut.
+
+
+ Describe the reproduction steps as precise as possible. It's very likely that
+ the bug you experience wasn't reproduced by the developer because the workflow
+ differs from your own.
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Expected Behavior"
+ placeholder: "What were you expecting?"
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Actual Behavior"
+ placeholder: "What happened instead?"
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Log File"
+ placeholder: "Drag and drop log file here (Don't paste content directly)"
+ description: >
+ Make a log file with `--gpu-debug --log-file=output.txt`, which is our preferred way, and
+ attach it to the issue. If you use the Bundle, a default log is created for your last run
+ at `~/Library/Logs/mpv.log`. You can jump to that file via the `Help > Show log File…` menu.
+
+
+ If you have trouble producing a log file, you can alternatively use `--gpu-debug -v -v`,
+ save the terminal output to a file, and attach it to the issue.
+
+
+ In the case of a crash, please provide the macOS Crash Report or create a [backtrace](https://developer.apple.com/library/archive/documentation/General/Conceptual/lldb-guide/chapters/C5-Examining-The-Call-Stack.html)
+ yourself.
+
+
+ Without the log file, this issue will be closed for ignoring the issue template.
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Sample Files"
+ placeholder: "Drag and drop sample files here"
+ description: >
+ Please provide sample files for a minimal reproduction case, if the issue can't be
+ reproduced without it or it is helpful to demonstrate the issue.
+
+
+ Preferably files should be attached directly within the text field below. Due to GitHub's
+ upload restriction, you may need to archive the sample file first and upload it as `.zip`
+ file. If the sample file is too big to attach directly, use a solution that is easy to
+ access with possible long-term retention. Possible services include, but are not limited
+ to, the following:
+
+ - [0x0.st](https://0x0.st/) (no long-term retention)
+ - [Dropbox](https://www.dropbox.com)
+ - [Google Drive](https://www.google.com/drive/)
+ - [iCLoud Drive](https://www.icloud.com/iclouddrive/)
+ - [MediaFire](https://www.mediafire.com/)
+ - [OneDrive](https://onedrive.live.com/)
+- type: checkboxes
+ attributes:
+ label: "I carefully read all instruction and confirm that I did the following:"
+ options:
+ - label: "I tested with the latest mpv version to validate that the issue is not already fixed."
+ required: true
+ - label: "I provided all required information including system and mpv version."
+ required: true
+ - label: >-
+ I produced the log file with the exact same set of files, parameters, and conditions
+ used in "Reproduction Steps", with the addition of `--log-file=output.txt`.
+ required: true
+ - label: >-
+ I produced the log file while the behaviors described in "Actual Behavior" were
+ actively observed.
+ required: true
+ - label: "I attached the full, untruncated log file."
+ required: true
+ - label: "I attached the backtrace in the case of a crash."
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/2_bug_report_windows.yml b/.github/ISSUE_TEMPLATE/2_bug_report_windows.yml
new file mode 100644
index 0000000000..9fedc64d06
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/2_bug_report_windows.yml
@@ -0,0 +1,140 @@
+name: "Report a Windows Issue"
+description: "Create a report for a runtime related Windows Issue"
+labels: ["os:win"]
+body:
+- type: textarea
+ attributes:
+ label: "mpv Information"
+ placeholder: |
+ mpv v0.38.0-96-gf776be6af5 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
+ built on May 5 2024 18:37:43
+ libplacebo version: v7.349.0 (v6.338.0-120-g7b294350)
+ FFmpeg version: 6.1.1
+ FFmpeg library versions:
+ libavutil 58.29.100
+ libavcodec 60.31.102
+ libavformat 60.16.100
+ libswscale 7.5.100
+ libavfilter 9.12.100
+ libswresample 4.12.100
+ description: |
+ Provide the output of `mpv --version`.
+ render: bash
+ validations:
+ required: false
+- type: textarea
+ attributes:
+ label: "Other Information"
+ description: >
+ - Windows Version: `ver` (cmd) or
+ `"$([Environment]::OSVersion)/$((gp 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name CurrentBuild).CurrentBuild).$((gp 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name UBR).UBR)"` (PowerShell)
+ - GPU model, driver and version
+ - Source of the mpv binary
+ - If known which version of mpv introduced the problem
+ - Possible screenshot or video of visual glitches
+
+ If you're not using git master or the latest release, update.
+ Nightly builds from master can be found [here](https://github.com/mpv-player/mpv/actions/workflows/build.yml?query=branch%3Amaster+event%3Apush),
+ click on the latest workflow run, scroll down to the Artifacts section and download the
+ appropriate build. Packages and builds can be found [here](https://mpv.io/installation/).
+ value: |-
+ - Windows version:
+ - GPU model, driver and version:
+ - Source of mpv:
+ - Introduced in version:
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Reproduction Steps"
+ description: >
+ Try to reproduce your issue with `--no-config` first. If it isn't reproducible
+ with `--no-config` try to find out which option or script causes your issue.
+
+
+ If the issue is render performance-related, try to reproduce it with `--no-config
+ --profile=fast`, which is designed to work on lower-end mobile devices.
+
+
+ For decoding performance-related issues, additionally try to enable hardware
+ decoding with `--hwdec=yes` or the `Ctrl+h` shortcut.
+
+
+ Describe the reproduction steps as precise as possible. It's very likely that
+ the bug you experience wasn't reproduced by the developer because the workflow
+ differs from your own.
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Expected Behavior"
+ placeholder: "What were you expecting?"
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Actual Behavior"
+ placeholder: "What happened instead?"
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Log File"
+ placeholder: "Drag and drop log file here (Don't paste content directly)"
+ description: >
+ Make a log file with `--gpu-debug --log-file=output.txt`, which is our preferred way, and
+ attach it to the issue.
+
+
+ If you have trouble producing a log file, you can alternatively use `--gpu-debug -v -v`,
+ save the terminal output to a file, and attach it to the issue.
+
+
+ In the case of a crash, please provide a backtrace, attach the approriate `.dmp` file
+ from `%LOCALAPPDATA%\CrashDumps`.
+
+
+ Without the log file, this issue will be closed for ignoring the issue template.
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Sample Files"
+ placeholder: "Drag and drop sample files here"
+ description: >
+ Please provide sample files for a minimal reproduction case, if the issue can't be
+ reproduced without it or it is helpful to demonstrate the issue.
+
+
+ Preferably files should be attached directly within the text field below. Due to GitHub's
+ upload restriction, you may need to archive the sample file first and upload it as `.zip`
+ file. If the sample file is too big to attach directly, use a solution that is easy to
+ access with possible long-term retention. Possible services include, but are not limited
+ to, the following:
+
+ - [0x0.st](https://0x0.st/) (no long-term retention)
+ - [Dropbox](https://www.dropbox.com)
+ - [Google Drive](https://www.google.com/drive/)
+ - [iCLoud Drive](https://www.icloud.com/iclouddrive/)
+ - [MediaFire](https://www.mediafire.com/)
+ - [OneDrive](https://onedrive.live.com/)
+- type: checkboxes
+ attributes:
+ label: "I carefully read all instruction and confirm that I did the following:"
+ options:
+ - label: "I tested with the latest mpv version to validate that the issue is not already fixed."
+ required: true
+ - label: "I provided all required information including system and mpv version."
+ required: true
+ - label: >-
+ I produced the log file with the exact same set of files, parameters, and conditions
+ used in "Reproduction Steps", with the addition of `--log-file=output.txt`.
+ required: true
+ - label: >-
+ I produced the log file while the behaviors described in "Actual Behavior" were
+ actively observed.
+ required: true
+ - label: "I attached the full, untruncated log file."
+ required: true
+ - label: "I attached the backtrace in the case of a crash."
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/3_bug_report.yml b/.github/ISSUE_TEMPLATE/3_bug_report.yml
new file mode 100644
index 0000000000..056d907906
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/3_bug_report.yml
@@ -0,0 +1,136 @@
+name: "Report a different Issue"
+description: "Create a report for a runtime related Issue"
+labels: []
+body:
+- type: textarea
+ attributes:
+ label: "mpv Information"
+ placeholder: |
+ mpv v0.38.0-96-gf776be6af5 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
+ built on May 5 2024 18:37:43
+ libplacebo version: v7.349.0 (v6.338.0-120-g7b294350)
+ FFmpeg version: 6.1.1
+ FFmpeg library versions:
+ libavutil 58.29.100
+ libavcodec 60.31.102
+ libavformat 60.16.100
+ libswscale 7.5.100
+ libavfilter 9.12.100
+ libswresample 4.12.100
+ description: |
+ Provide the output of `mpv --version`.
+ render: bash
+ validations:
+ required: false
+- type: textarea
+ attributes:
+ label: "Important Information"
+ description: >
+ - Platform and Version
+ - GPU model, driver and version
+ - Source of the mpv binary
+ - If known which version of mpv introduced the problem
+ - Possible screenshot or video of visual glitches
+
+ If you're not using git master or the latest release, update.
+ Packages and builds can be found [here](https://mpv.io/installation/).
+ value: |-
+ - Platform version:
+ - GPU model, driver and version:
+ - Source:
+ - Introduced in version:
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Reproduction Steps"
+ description: >
+ Try to reproduce your issue with `--no-config` first. If it isn't reproducible
+ with `--no-config` try to find out which option or script causes your issue.
+
+
+ If the issue is render performance-related, try to reproduce it with `--no-config
+ --profile=fast`, which is designed to work on lower-end mobile devices.
+
+
+ For decoding performance-related issues, additionally try to enable hardware
+ decoding with `--hwdec=yes` or the `Ctrl+h` shortcut.
+
+
+ Describe the reproduction steps as precise as possible. It's very likely that
+ the bug you experience wasn't reproduced by the developer because the workflow
+ differs from your own.
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Expected Behavior"
+ placeholder: "What were you expecting?"
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Actual Behavior"
+ placeholder: "What happened instead?"
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Log File"
+ placeholder: "Drag and drop log file here (Don't paste content directly)"
+ description: >
+ Make a log file with `--gpu-debug --log-file=output.txt`, which is our preferred way, and
+ attach it to the issue.
+
+
+ If you have trouble producing a log file, you can alternatively use `--gpu-debug -v -v`,
+ save the terminal output to a file, and attach it to the issue.
+
+
+ In the case of a crash, please provide a backtrace.
+
+
+ Without the log file, this issue will be closed for ignoring the issue template.
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Sample Files"
+ placeholder: "Drag and drop sample files here"
+ description: >
+ Please provide sample files for a minimal reproduction case, if the issue can't be
+ reproduced without it or it is helpful to demonstrate the issue.
+
+
+ Preferably files should be attached directly within the text field below. Due to GitHub's
+ upload restriction, you may need to archive the sample file first and upload it as `.zip`
+ file. If the sample file is too big to attach directly, use a solution that is easy to
+ access with possible long-term retention. Possible services include, but are not limited
+ to, the following:
+
+ - [0x0.st](https://0x0.st/) (no long-term retention)
+ - [Dropbox](https://www.dropbox.com)
+ - [Google Drive](https://www.google.com/drive/)
+ - [iCLoud Drive](https://www.icloud.com/iclouddrive/)
+ - [MediaFire](https://www.mediafire.com/)
+ - [OneDrive](https://onedrive.live.com/)
+- type: checkboxes
+ attributes:
+ label: "I carefully read all instruction and confirm that I did the following:"
+ options:
+ - label: "I tested with the latest mpv version to validate that the issue is not already fixed."
+ required: true
+ - label: "I provided all required information including system and mpv version."
+ required: true
+ - label: >-
+ I produced the log file with the exact same set of files, parameters, and conditions
+ used in "Reproduction Steps", with the addition of `--log-file=output.txt`.
+ required: true
+ - label: >-
+ I produced the log file while the behaviors described in "Actual Behavior" were
+ actively observed.
+ required: true
+ - label: "I attached the full, untruncated log file."
+ required: true
+ - label: "I attached the backtrace in the case of a crash."
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/4_bug_report_build.yml b/.github/ISSUE_TEMPLATE/4_bug_report_build.yml
new file mode 100644
index 0000000000..e19add111f
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/4_bug_report_build.yml
@@ -0,0 +1,69 @@
+name: "Report a build Problem"
+description: "Create a report for a build related Issue"
+labels: ["core:meson"]
+body:
+- type: textarea
+ attributes:
+ label: "Important Information"
+ description: >
+ - mpv version
+ - Platform and Version
+ - Meson version
+
+ If you're not using git master or the latest release, update.
+ Releases are listed [here](https://github.com/mpv-player/mpv/releases).
+ value: |-
+ - mpv version:
+ - Platform version:
+ - Meson version:
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Reproduction Steps"
+ description: >
+ Describe the reproduction steps as precise as possible. It's very likely that
+ the bug you experience wasn't reproduced by the developer because the workflow
+ differs from your own.
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Expected Behavior"
+ placeholder: "What were you expecting?"
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Actual Behavior"
+ placeholder: "What happened instead?"
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Log File"
+ placeholder: "Drag and drop log file here (Don't paste content directly)"
+ description: >
+ Attach meson-logs/meson-log.txt or meson setup build output to the issue.
+
+ Without the log file, this issue will be closed for ignoring the issue template.
+ validations:
+ required: true
+- type: checkboxes
+ attributes:
+ label: "I carefully read all instruction and confirm that I did the following:"
+ options:
+ - label: "I tested with the latest mpv version to validate that the issue is not already fixed."
+ required: true
+ - label: "I provided all required information including system and mpv version."
+ required: true
+ - label: >-
+ I produced the log file with the exact same set of parameters, and conditions used in
+ "Reproduction Steps".
+ required: true
+ - label: >-
+ I produced the log file while the behaviors described in "Actual Behavior" were
+ actively observed.
+ required: true
+ - label: "I attached the full, untruncated log file."
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/5_feature_request.yml b/.github/ISSUE_TEMPLATE/5_feature_request.yml
new file mode 100644
index 0000000000..b3b5ec801a
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/5_feature_request.yml
@@ -0,0 +1,47 @@
+name: "Request a new Feature"
+description: "Create a request for a new feature"
+labels: ["meta:feature-request"]
+body:
+- type: textarea
+ attributes:
+ label: "Expected behavior of the wanted feature"
+ description: >
+ Before requesting a new feature make sure it hasn't been
+ [requested yet](https://github.com/mpv-player/mpv/labels/meta%3Afeature-request).
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: "Alternative behavior of the wanted feature"
+- type: textarea
+ attributes:
+ label: "Log File"
+ description: >
+ Even if you think it's not necessary at first, it might help us later to find
+ possible issues. Make a log file with `--log-file=output.txt`, which is our preferred way,
+ and attach it to the issue.
+
+
+ If you have trouble producing a log file, you can alternatively use `-v -v`, save the
+ terminal output to a file, and attach it to the issue.
+- type: textarea
+ attributes:
+ label: "Sample Files"
+ placeholder: "Drag and drop sample files here"
+ description: >
+ Please provide sample files in the case you request a format/codec/container dependent
+ feature, and it could help us test and implement it.
+
+
+ Preferably files should be attached directly within the text field below. Due to GitHub's
+ upload restriction, you may need to archive the sample file first and upload it as `.zip`
+ file. If the sample file is too big to attach directly, use a solution that is easy to
+ access with possible long-term retention. Possible services include, but are not limited
+ to, the following:
+
+ - [0x0.st](https://0x0.st/) (no long-term retention)
+ - [Dropbox](https://www.dropbox.com)
+ - [Google Drive](https://www.google.com/drive/)
+ - [iCLoud Drive](https://www.icloud.com/iclouddrive/)
+ - [MediaFire](https://www.mediafire.com/)
+ - [OneDrive](https://onedrive.live.com/)
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000000..65dbb8b1ff
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,12 @@
+blank_issues_enabled: false
+contact_links:
+ - name: mpv Discussions
+ url: https://github.com/mpv-player/mpv/discussions
+ about: If you have questions or want to discuss things use our GitHub Discussions
+ - name: mpv IRC channel
+ url: https://mpv.io/community/
+ about: Feel free to ask questions here irc://irc.libera.chat/mpv
+ - name: mpv IRC developer channel
+ url: https://mpv.io/community/
+ about: Ask questions related to the development of mpv here
+ irc://irc.libera.chat/mpv-devel
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000000..763655cf34
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,543 @@
+name: build
+
+on:
+ push:
+ branches:
+ - master
+ - ci
+ - 'release/**'
+ paths-ignore:
+ - 'DOCS/**'
+ - 'TOOLS/lua/**'
+ - '.editorconfig'
+ - '.gitignore'
+ - 'Copyright'
+ - 'README.md'
+ - 'RELEASE_NOTES'
+ pull_request:
+ branches: [master]
+ paths-ignore:
+ - 'DOCS/**'
+ - 'TOOLS/lua/**'
+ - '.editorconfig'
+ - '.gitignore'
+ - 'Copyright'
+ - 'README.md'
+ - 'RELEASE_NOTES'
+
+jobs:
+ mingw:
+ runs-on: ubuntu-22.04
+ env:
+ CCACHE_BASEDIR: ${{ github.workspace }}
+ CCACHE_DIR: ${{ github.workspace }}/.ccache
+ CCACHE_MAXSIZE: 500M
+ strategy:
+ fail-fast: false
+ matrix:
+ target: [i686-w64-mingw32, x86_64-w64-mingw32]
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Get time
+ id: get_time
+ run: echo "timestamp=`date +%s%N`" >> $GITHUB_OUTPUT
+
+ - name: Restore cache
+ uses: actions/cache/restore@v4
+ with:
+ path: ${{ env.CCACHE_DIR }}
+ key: ${{ matrix.target }}-${{ steps.get_time.outputs.timestamp }}
+ restore-keys: ${{ matrix.target }}-
+
+ - name: Install dependencies
+ run: |
+ sudo dpkg --add-architecture i386
+ sudo apt-get update
+ sudo apt-get install -y ccache g++-mingw-w64 gcc-multilib nasm ninja-build pkg-config python3-pip wine
+ sudo python3 -m pip install meson
+
+ - name: Build libraries
+ run: |
+ ./ci/build-mingw64.sh
+ env:
+ TARGET: ${{ matrix.target }}
+
+ - name: Build with meson
+ id: build
+ run: |
+ ./ci/build-mingw64.sh meson pack
+ env:
+ TARGET: ${{ matrix.target }}
+
+ - name: Print meson log
+ if: ${{ failure() && steps.build.outcome == 'failure' }}
+ run: |
+ cat ./build/meson-logs/meson-log.txt
+
+ - name: Functional test
+ id: tests
+ run: |
+ cd artifact && wine ./mpv.com -v --no-config
+ env:
+ WINEDEBUG: '+loaddll'
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: mpv-${{ matrix.target }}
+ path: mpv-git-*.zip
+
+ - name: Save Cache
+ uses: actions/cache/save@v4
+ if: always()
+ with:
+ path: ${{ env.CCACHE_DIR }}
+ key: ${{ matrix.target }}-${{ steps.get_time.outputs.timestamp }}
+
+ win32:
+ runs-on: windows-latest
+ env:
+ VS: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise"
+ CC: "ccache clang"
+ CXX: "ccache clang++"
+ CC_LD: "lld"
+ CXX_LD: "lld"
+ WINDRES: "llvm-rc"