From: Tobias Rapp <t.rapp@noa-archive.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Cc: Nil Admirari <nil-admirari@mailo.com> Subject: Re: [FFmpeg-devel] [PATCH v11 5/6] fftools: Enable long path support on Windows (fixes #8885) Date: Tue, 26 Apr 2022 09:07:55 +0200 Message-ID: <db38e904-dabf-d43e-6ec6-5da68f00ac97@noa-archive.com> (raw) In-Reply-To: <20220423205626.39039-5-nil-admirari@mailo.com> On 23/04/2022 22:56, Nil Admirari wrote: > Newer versions of Windows (Windows 10 1607 and newer) can support path > names longer than MAX_PATH (260 characters). To take advantage of that, an > application needs to opt in, by including a small manifest as a resource. > > Application must be prepared to handle filenames greater than MAX_PATH. > Additionally, the path length limitation is only lifted for file APIs that > pass paths as wchar_t. Therefore, the preceding patches have refactored a > few remaining cases where: > 1. filename length was restricted to MAX_PATH > 2. files were opened using ANSI functions. > > On older versions of Windows, the newly added manifest has no effect. > --- > fftools/Makefile | 5 +++++ > fftools/fftools.manifest | 10 ++++++++++ > fftools/manifest.rc | 3 +++ > 3 files changed, 18 insertions(+) > create mode 100644 fftools/fftools.manifest > create mode 100644 fftools/manifest.rc > > diff --git a/fftools/Makefile b/fftools/Makefile > index 81ad6c4f..105ae5cc 100644 > --- a/fftools/Makefile > +++ b/fftools/Makefile > @@ -15,6 +15,11 @@ OBJS-ffmpeg += \ > fftools/ffmpeg_mux.o \ > fftools/ffmpeg_opt.o \ > > +# Windows resource files > +OBJS-ffmpeg-$(HAVE_GNU_WINDRES) += fftools/manifest.o > +OBJS-ffplay-$(HAVE_GNU_WINDRES) += fftools/manifest.o > +OBJS-ffprobe-$(HAVE_GNU_WINDRES) += fftools/manifest.o > + > define DOFFTOOL > OBJS-$(1) += fftools/cmdutils.o fftools/opt_common.o fftools/$(1).o $(OBJS-$(1)-yes) > $(1)$(PROGSSUF)_g$(EXESUF): $$(OBJS-$(1)) > diff --git a/fftools/fftools.manifest b/fftools/fftools.manifest > new file mode 100644 > index 00000000..30b7d8fe > --- /dev/null > +++ b/fftools/fftools.manifest > @@ -0,0 +1,10 @@ > +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> > + > +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> > + <assemblyIdentity type="win32" name="FFmpeg" version="1.0.0.0"/> What is the effect of the version attribute here? Would it be meaningful to replace the static dummy value with something more realistic like "5.1.n" or similar? Just asking as I'm not very familiar with manifest resources. > + <application xmlns="urn:schemas-microsoft-com:asm.v3"> > + <windowsSettings xmlns:ws2016="http://schemas.microsoft.com/SMI/2016/WindowsSettings"> > + <ws2016:longPathAware>true</ws2016:longPathAware> > + </windowsSettings> > + </application> > +</assembly> > diff --git a/fftools/manifest.rc b/fftools/manifest.rc > new file mode 100644 > index 00000000..e436fa73 > --- /dev/null > +++ b/fftools/manifest.rc > @@ -0,0 +1,3 @@ > +#include <windows.h> > + > +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "fftools.manifest" Regards, Tobias _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2022-04-26 7:08 UTC|newest] Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-04-23 20:56 [FFmpeg-devel] [PATCH v11 1/6] libavutil/wchar_filename.h: Add whcartoutf8, wchartoansi and utf8toansi Nil Admirari 2022-04-23 20:56 ` [FFmpeg-devel] [PATCH v11 2/6] libavformat/avisynth.c: Remove MAX_PATH limit Nil Admirari 2022-05-07 17:55 ` Soft Works 2022-04-23 20:56 ` [FFmpeg-devel] [PATCH v11 3/6] compat/w32dlfcn.h: Remove MAX_PATH limit and replace LoadLibraryExA with LoadLibraryExW Nil Admirari 2022-06-05 11:43 ` nil-admirari 2022-04-23 20:56 ` [FFmpeg-devel] [PATCH v11 4/6] fftools/cmdutils.c: Remove MAX_PATH limit Nil Admirari 2022-04-23 20:56 ` [FFmpeg-devel] [PATCH v11 5/6] fftools: Enable long path support on Windows (fixes #8885) Nil Admirari 2022-04-26 7:07 ` Tobias Rapp [this message] 2022-04-26 7:29 ` Hendrik Leppkes 2022-04-26 8:33 ` Tobias Rapp 2022-04-29 18:08 ` nil-admirari 2022-04-23 20:57 ` [FFmpeg-devel] [PATCH v11 6/6] fftools: Set active code page to UTF-8 on Windows Nil Admirari 2022-04-24 3:39 ` [FFmpeg-devel] [PATCH v11 1/6] libavutil/wchar_filename.h: Add whcartoutf8, wchartoansi and utf8toansi Soft Works 2022-05-07 17:57 ` Soft Works
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=db38e904-dabf-d43e-6ec6-5da68f00ac97@noa-archive.com \ --to=t.rapp@noa-archive.com \ --cc=ffmpeg-devel@ffmpeg.org \ --cc=nil-admirari@mailo.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git