summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
authorPhilip Sequeira <phsequei@gmail.com>2018-07-26 23:01:35 -0400
committeravih <avih@users.noreply.github.com>2019-09-29 01:13:00 +0300
commita7158ceec00f14e680a885722cfe23761b4662d3 (patch)
tree450530025fc1570d6577bddcb6ef9ce9283d7aae /demux
parentf726b368da87024a0cfe82627e0730ffe4578716 (diff)
downloadmpv-a7158ceec00f14e680a885722cfe23761b4662d3.tar.bz2
mpv-a7158ceec00f14e680a885722cfe23761b4662d3.tar.xz
demux: sort filenames naturally when playing a directory / archive
Diffstat (limited to 'demux')
-rw-r--r--demux/demux_libarchive.c3
-rw-r--r--demux/demux_playlist.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/demux/demux_libarchive.c b/demux/demux_libarchive.c
index 51c4e46f03..3540082179 100644
--- a/demux/demux_libarchive.c
+++ b/demux/demux_libarchive.c
@@ -21,13 +21,14 @@
#include "common/common.h"
#include "common/playlist.h"
#include "stream/stream.h"
+#include "misc/natural_sort.h"
#include "demux.h"
#include "stream/stream_libarchive.h"
static int cmp_filename(const void *a, const void *b)
{
- return strcmp(*(char **)a, *(char **)b);
+ return mp_natural_sort_cmp(*(char **)a, *(char **)b);
}
static int open_file(struct demuxer *demuxer, enum demux_check check)
diff --git a/demux/demux_playlist.c b/demux/demux_playlist.c
index 897b83465f..b3881ef6b4 100644
--- a/demux/demux_playlist.c
+++ b/demux/demux_playlist.c
@@ -29,6 +29,7 @@
#include "options/path.h"
#include "stream/stream.h"
#include "osdep/io.h"
+#include "misc/natural_sort.h"
#include "demux.h"
#define PROBE_SIZE (8 * 1024)
@@ -284,7 +285,7 @@ static bool scan_dir(struct pl_parser *p, char *path,
static int cmp_filename(const void *a, const void *b)
{
- return strcmp(*(char **)a, *(char **)b);
+ return mp_natural_sort_cmp(*(char **)a, *(char **)b);
}
static int parse_dir(struct pl_parser *p)