On Wed, 12 Aug 2020, Alexander Strasser wrote:
Hi all!
On 2020-08-12 14:53 +0000, Nicolas George wrote:
ffmpeg | branch: master | Nicolas George <geo...@nsup.org> | Thu Jul 30
00:02:10 2020 +0200| [1201687da268c11459891a80ca1972aeaca8db88] | committer: Nicolas
George
lavf/url: rewrite ff_make_absolute_url() using ff_url_decompose().
Also add and update some tests.
Change the semantic a little, because for filesytem paths
symlinks complicate things.
See the comments in the code for detail.
Fix trac tickets #8813 and 8814.
>
http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1201687da268c11459891a80ca1972aeaca8db88
---
libavformat/tests/url.c | 60 ++++++++++-
libavformat/url.c | 261 ++++++++++++++++++++++++------------------------
libavformat/url.h | 4 +-
tests/ref/fate/url | 54 +++++++++-
4 files changed, 245 insertions(+), 134 deletions(-)
[...]
+
+ /* This is tricky.
+ For HTTP, http://server/site/page + ../media/file
+ should resolve into http://server/media/file
+ but for filesystem access, dir/playlist + ../media/file
+ should resolve into dir/../media/file
+ because dir could be a symlink, and .. points to
+ the actual parent of the target directory.
+
+ We'll consider that URLs with an actual scheme and authority,
+ i.e. starting with scheme://, need parent dir simplification,
+ while bare paths or pseudo-URLs starting with proto: without
+ the double slash do not.
+
+ For real URLs, the processing is similar to the algorithm described
+ here:
+ https://tools.ietf.org/html/rfc3986#section-5
+ */
Stupid question: Why do we transform relative URLs at all?
Isn't it normally supposed to work for HTTP on the server-side too?
Many clients seem to do it. Just curious why...
The RFC requires you to do it:
https://tools.ietf.org/html/rfc3986#section-5.2.4
Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".