-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot open any folders #4711
Comments
This is normal. Use 'mpv *' or the Autoload script. |
Well I've read many times on different places on the internet that you can drag a folder onto the mpv window and it'll automatically enqueue all the files in it. Is that a unix specific thing then? Well if this is normal behavior then I'll close the issue, apologies. |
A directory context menu like "play in mpv" as well as a directory menu background entrie can be used as a workaround. I have a .reg file with the commands if you're interested. |
I am. Please post it. |
Copy the block below into a text editor replacing
|
It works. Shift+Q to save which file you were on works as well. Thanks! |
What exactly is normal about being unable to play a directory on windows?! That seems like a bug to me |
Yeah, agreed. This works in Linux, and it only doesn't work in Windows because of an API/CRT quirk where you have to pass a special flag to open directories. This should probably be fixed. |
I wonder if we can use the unix subsystem on windows to open files using normal POSIX syscalls that work. |
Directory-opening never worked on Windows because MSVCRT's open() doesn't open directories and its fstat() doesn't recognise directory handles. These are just MSVCRT restrictions, and the Windows API itself has no problem with opening directories as file objects, so reimplement mpv's mp_open and mp_stat to use the Windows API directly. This should fix directory playback. This also populates the st_dev and st_ino fields of struct stat, so filesystem loop checking in demux_playlist.c should now work on Windows. Fixes mpv-player#4711
Directory-opening never worked on Windows because MSVCRT's open() doesn't open directories and its fstat() doesn't recognise directory handles. These are just MSVCRT restrictions, and the Windows API itself has no problem with opening directories as file objects, so reimplement mpv's mp_open and mp_stat to use the Windows API directly. This should fix directory playback. This also populates the st_dev and st_ino fields of struct stat, so filesystem loop checking in demux_playlist.c should now work on Windows. Fixes mpv-player#4711
Directory-opening never worked on Windows because MSVCRT's open() doesn't open directories and its fstat() doesn't recognise directory handles. These are just MSVCRT restrictions, and the Windows API itself has no problem with opening directories as file objects, so reimplement mpv's mp_open and mp_stat to use the Windows API directly. This should fix directory playback. This also populates the st_dev and st_ino fields of struct stat, so filesystem loop checking in demux_playlist.c should now work on Windows. Fixes mpv-player#4711
Directory-opening never worked on Windows because MSVCRT's open() doesn't open directories and its fstat() doesn't recognise directory handles. These are just MSVCRT restrictions, and the Windows API itself has no problem with opening directories as file objects, so reimplement mpv's mp_open and mp_stat to use the Windows API directly. This should fix directory playback. This also populates the st_dev and st_ino fields of struct stat, so filesystem loop checking in demux_playlist.c should now work on Windows. Fixes mpv-player#4711
Directory-opening never worked on Windows because MSVCRT's open() doesn't open directories and its fstat() doesn't recognise directory handles. These are just MSVCRT restrictions, and the Windows API itself has no problem with opening directories as file objects, so reimplement mpv's mp_open and mp_stat to use the Windows API directly. This should fix directory playback. This also populates the st_dev and st_ino fields of struct stat, so filesystem loop checking in demux_playlist.c should now work on Windows. Fixes mpv-player#4711
Directory-opening never worked on Windows because MSVCRT's open() doesn't open directories and its fstat() doesn't recognise directory handles. These are just MSVCRT restrictions, and the Windows API itself has no problem with opening directories as file objects, so reimplement mpv's mp_open and mp_stat to use the Windows API directly. This should fix directory playback. This also populates the st_dev and st_ino fields of struct stat, so filesystem loop checking in demux_playlist.c should now work on Windows. Fixes mpv-player#4711
mpv version and platform
mpv 0.26.0-46-gdf12f76910
Windows 10, 64-bit
Reproduction steps
Drag a folder onto the mpv window, or open a folder from the command line.
Expected behavior
mpv plays all video files in the folder.
Actual behavior
mpv closes.
Log file
https://pastebin.com/raw/1UHMUh1y
It says permission denied but the same thing happens even if I run mpv as admin. The folders are entirely accessible to my account and if I open the actual videos inside the folders in mpv, they play just fine.
The text was updated successfully, but these errors were encountered: