Mercurial > hg > forks > geeqie
changeset 2598:b8f3f29bd641
Addl #510: Rudimentary video support
https://github.com/BestImageViewer/geeqie/issues/510
Add video files extension to default file filter (disabled by default).
Use recorded format_class in fd in metadata.c
Do not try to generate/read thumb for files which are not images.
author | Tomasz Golinski <tomaszg@math.uwb.edu.pl> |
---|---|
date | Thu, 14 Sep 2017 10:38:09 +0100 |
parents | e65df743a5a1 |
children | 93d065140133 |
files | src/filefilter.c src/metadata.c src/thumb.c src/thumb_standard.c |
diffstat | 4 files changed, 15 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/filefilter.c Wed Sep 13 11:21:58 2017 +0100 +++ b/src/filefilter.c Thu Sep 14 10:38:09 2017 +0100 @@ -277,6 +277,14 @@ filter_add_if_missing("erf", "Epson raw format", ".erf", FORMAT_CLASS_RAWIMAGE, FALSE, TRUE, TRUE); filter_add_if_missing("srw", "Samsung raw format", ".srw", FORMAT_CLASS_RAWIMAGE, FALSE, TRUE, TRUE); filter_add_if_missing("rw2", "Panasonic raw format", ".rw2", FORMAT_CLASS_RAWIMAGE, FALSE, TRUE, TRUE); + + /* video files */ + filter_add_if_missing("mp4", "MP4 video file", ".mp4;.m4v;.3gp;.3g2", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE); + filter_add_if_missing("3gp", "3GP video file", ".3gp;.3g2", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE); + filter_add_if_missing("mov", "MOV video file", ".mov;.qt", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE); + filter_add_if_missing("avi", "AVI video file", ".avi", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE); + filter_add_if_missing("mpg", "MPG video file", ".mpg;.mpeg;.mts;.m2ts;", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE); + filter_add_if_missing("mkv", "Matroska video file", ".mkv;", FORMAT_CLASS_VIDEO, FALSE, FALSE, FALSE); } GList *filter_to_list(const gchar *extensions)
--- a/src/metadata.c Wed Sep 13 11:21:58 2017 +0100 +++ b/src/metadata.c Thu Sep 14 10:38:09 2017 +0100 @@ -395,7 +395,7 @@ FileData *sfd = work->data; work = work->next; - if (filter_file_class(sfd->extension, FORMAT_CLASS_META)) continue; + if (sfd->format_class == FORMAT_CLASS_META) continue; metadata_write_list(sfd, key, values); }
--- a/src/thumb.c Wed Sep 13 11:21:58 2017 +0100 +++ b/src/thumb.c Thu Sep 14 10:38:09 2017 +0100 @@ -337,6 +337,11 @@ if (!tl->fd) tl->fd = file_data_ref(fd); + if (tl->fd->format_class != FORMAT_CLASS_IMAGE && tl->fd->format_class != FORMAT_CLASS_RAWIMAGE) + { + thumb_loader_set_fallback(tl); + return FALSE; + } if (tl->cache_enable) {
--- a/src/thumb_standard.c Wed Sep 13 11:21:58 2017 +0100 +++ b/src/thumb_standard.c Thu Sep 14 10:38:09 2017 +0100 @@ -668,7 +668,7 @@ tl->fd = file_data_ref(fd); - if (!stat_utf8(fd->path, &st)) + if (!stat_utf8(fd->path, &st) || (tl->fd->format_class != FORMAT_CLASS_IMAGE && tl->fd->format_class != FORMAT_CLASS_RAWIMAGE)) { thumb_loader_std_set_fallback(tl); return FALSE;