milgra / mmfm Goto Github PK
View Code? Open in Web Editor NEWMultiMedia File Manager
License: GNU General Public License v3.0
MultiMedia File Manager
License: GNU General Public License v3.0
This project is awesome, congrats!
Although app-text/mupdf does not provide mupdf-thrid anymore. So cannot compile in Gentoo Linux. Is there anyway to overcome this issue? Can lightweight pdf reader like Zathura serve the same purspose?
โฏ meson build --buildtype=release
The Meson build system
Version: 0.63.3
Source dir: /home/mrpingo/gits/mmfm/mmfm
Build dir: /home/mrpingo/gits/mmfm/mmfm/build
Build type: native build
Project name: mmfm
Project version: 0.43b
C compiler for the host machine: ccache cc (gcc 12.2.0 "cc (Gentoo 12.2.0 p1) 12.2.0")
C linker for the host machine: cc ld.bfd 2.39
Host machine cpu family: x86_64
Host machine cpu: x86_64
Library rt found: YES
Library m found: YES
Library mupdf found: YES
meson.build:19:0: ERROR: C shared or static library 'mupdf-third' not found
I have tried to test this project from time to time on my machine, but I keep getting the same result running ninja -C build
ninja: Entering directory `build'
[1/31] Compiling C object mmfm.p/src_media_coder_coder.c.o
FAILED: mmfm.p/src_media_coder_coder.c.o
cc -Immfm.p -I. -I.. -I/usr/include -I/usr/include/GLES2 -I/usr/include/EGL -I/usr/include/SDL2 -I/usr/include/mupdf -I/usr/include/freetype2 -I../src/mt_math -I../src/mt_core -I../src/media_player -I../src/media_coder -I../src/kinetic_ui -I../src/kinetic_ui/egl -I../src/kinetic_ui/handler -I../src/kinetic_ui/texture -I../src/mmfm -I../src/mt_core_ext -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu99 -O3 '-DPKG_DATADIR="/usr/local/share/mmfm"' '-DMMFM_VERSION="0.41b"' -Wno-unused-but-set-variable -MD -MQ mmfm.p/src_media_coder_coder.c.o -MF mmfm.p/src_media_coder_coder.c.o.d -o mmfm.p/src_media_coder_coder.c.o -c ../src/media_coder/coder.c
../src/media_coder/coder.c: In function 'coder_load_metadata_into':
../src/media_coder/coder.c:412:44: error: 'AVCodecParameters' has no member named 'ch_layout'; did you mean 'channel_layout'?
412 | snprintf(channels, 10, "%i", param->ch_layout.nb_channels);
| ^~~~~~~~~
| channel_layout
../src/media_coder/coder.c:431:44: error: 'AVCodecParameters' has no member named 'ch_layout'; did you mean 'channel_layout'?
431 | snprintf(channels, 10, "%i", param->ch_layout.nb_channels);
| ^~~~~~~~~
| channel_layout
../src/media_coder/coder.c: In function 'coder_write_metadata':
../src/media_coder/coder.c:546:51: warning: passing argument 2 of 'avformat_alloc_output_context2' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
546 | if (avformat_alloc_output_context2(&enc_ctx, enc_fmt, NULL, new_path) >= 0) // FREE 1
| ^~~~~~~
In file included from ../src/media_coder/coder.c:29:
/usr/include/libavformat/avformat.h:2135:86: note: expected 'AVOutputFormat *' but argument is of type 'const AVOutputFormat *'
2135 | int avformat_alloc_output_context2(AVFormatContext **ctx, ff_const59 AVOutputFormat *oformat,
| ~~~~~~~~~~~~~~~~^~~~~~~
In file included from ../src/media_coder/coder.c:33:
../src/media_coder/coder.c:580:100: error: 'AVCodecParameters' has no member named 'ch_layout'; did you mean 'channel_layout'?
580 | case AVMEDIA_TYPE_AUDIO: mt_log_debug("Audio Codec: %d channels, sample rate %d\n", param->ch_layout.nb_channels, param->sample_rate); break;
| ^~~~~~~~~
../src/mt_core/mt_log.c:21:68: note: in definition of macro 'mt_log_debug'
21 | #define mt_log_debug(...) mt_log(MT_LOG_DEBUG, __FILE__, __LINE__, __VA_ARGS__)
| ^~~~~~~~~~~
../src/media_coder/coder.c:641:98: error: 'AVCodecParameters' has no member named 'ch_layout'; did you mean 'channel_layout'?
641 | case AVMEDIA_TYPE_AUDIO: mt_log_debug("Audio Codec: %d channels, sample rate %d\n", param->ch_layout.nb_channels, param->sample_rate); break;
| ^~~~~~~~~
../src/mt_core/mt_log.c:21:68: note: in definition of macro 'mt_log_debug'
21 | #define mt_log_debug(...) mt_log(MT_LOG_DEBUG, __FILE__, __LINE__, __VA_ARGS__)
| ^~~~~~~~~~~
[7/31] Compiling C object mmfm.p/src_media_player_decoder.c.o
FAILED: mmfm.p/src_media_player_decoder.c.o
cc -Immfm.p -I. -I.. -I/usr/include -I/usr/include/GLES2 -I/usr/include/EGL -I/usr/include/SDL2 -I/usr/include/mupdf -I/usr/include/freetype2 -I../src/mt_math -I../src/mt_core -I../src/media_player -I../src/media_coder -I../src/kinetic_ui -I../src/kinetic_ui/egl -I../src/kinetic_ui/handler -I../src/kinetic_ui/texture -I../src/mmfm -I../src/mt_core_ext -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu99 -O3 '-DPKG_DATADIR="/usr/local/share/mmfm"' '-DMMFM_VERSION="0.41b"' -Wno-unused-but-set-variable -MD -MQ mmfm.p/src_media_player_decoder.c.o -MF mmfm.p/src_media_player_decoder.c.o.d -o mmfm.p/src_media_player_decoder.c.o -c ../src/media_player/decoder.c
In file included from ../src/media_player/decoder.c:6:
../src/media_player/packetqueue.c:17:5: error: unknown type name 'AVFifo'
17 | AVFifo* pkt_list;
| ^~~~~~
[8/31] Compiling C object mmfm.p/src_media_player_mediaplayer.c.o
FAILED: mmfm.p/src_media_player_mediaplayer.c.o
cc -Immfm.p -I. -I.. -I/usr/include -I/usr/include/GLES2 -I/usr/include/EGL -I/usr/include/SDL2 -I/usr/include/mupdf -I/usr/include/freetype2 -I../src/mt_math -I../src/mt_core -I../src/media_player -I../src/media_coder -I../src/kinetic_ui -I../src/kinetic_ui/egl -I../src/kinetic_ui/handler -I../src/kinetic_ui/texture -I../src/mmfm -I../src/mt_core_ext -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu99 -O3 '-DPKG_DATADIR="/usr/local/share/mmfm"' '-DMMFM_VERSION="0.41b"' -Wno-unused-but-set-variable -MD -MQ mmfm.p/src_media_player_mediaplayer.c.o -MF mmfm.p/src_media_player_mediaplayer.c.o.d -o mmfm.p/src_media_player_mediaplayer.c.o -c ../src/media_player/mediaplayer.c
In file included from ../src/media_player/decoder.c:6,
from ../src/media_player/mediaplayer.c:17:
../src/media_player/packetqueue.c:17:5: error: unknown type name 'AVFifo'
17 | AVFifo* pkt_list;
| ^~~~~~
../src/media_player/mediaplayer.c:65:5: error: unknown type name 'AVChannelLayout'
65 | AVChannelLayout ch_layout;
| ^~~~~~~~~~~~~~~
../src/media_player/mediaplayer.c: In function 'mp_audio_decode_frame':
../src/media_player/mediaplayer.c:491:61: error: 'AVFrame' has no member named 'ch_layout'; did you mean 'channel_layout'?
491 | data_size = av_samples_get_buffer_size(NULL, af->frame->ch_layout.nb_channels, af->frame->nb_samples, af->frame->format, 1);
| ^~~~~~~~~
| channel_layout
../src/media_player/mediaplayer.c:496:2: warning: implicit declaration of function 'av_channel_layout_compare' [-Wimplicit-function-declaration]
496 | av_channel_layout_compare(&af->frame->ch_layout, &is->audio_src.ch_layout) ||
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/media_player/mediaplayer.c:496:40: error: 'AVFrame' has no member named 'ch_layout'; did you mean 'channel_layout'?
496 | av_channel_layout_compare(&af->frame->ch_layout, &is->audio_src.ch_layout) ||
| ^~~~~~~~~
| channel_layout
../src/media_player/mediaplayer.c:501:2: warning: implicit declaration of function 'swr_alloc_set_opts2'; did you mean 'swr_alloc_set_opts'? [-Wimplicit-function-declaration]
501 | swr_alloc_set_opts2(&is->swr_ctx, &is->audio_tgt.ch_layout, is->audio_tgt.fmt, is->audio_tgt.freq, &af->frame->ch_layout, af->frame->format, af->frame->sample_rate, 0, NULL);
| ^~~~~~~~~~~~~~~~~~~
| swr_alloc_set_opts
../src/media_player/mediaplayer.c:501:113: error: 'AVFrame' has no member named 'ch_layout'; did you mean 'channel_layout'?
501 | swr_alloc_set_opts2(&is->swr_ctx, &is->audio_tgt.ch_layout, is->audio_tgt.fmt, is->audio_tgt.freq, &af->frame->ch_layout, af->frame->format, af->frame->sample_rate, 0, NULL);
| ^~~~~~~~~
| channel_layout
../src/media_player/mediaplayer.c:504:216: error: 'AVFrame' has no member named 'ch_layout'; did you mean 'channel_layout'?
504 | av_log(NULL, AV_LOG_ERROR, "Cannot create sample rate converter for conversion of %d Hz %s %d channels to %d Hz %s %d channels!\n", af->frame->sample_rate, av_get_sample_fmt_name(af->frame->format), af->frame->ch_layout.nb_channels, is->audio_tgt.freq, av_get_sample_fmt_name(is->audio_tgt.fmt), is->audio_tgt.ch_layout.nb_channels);
|
^~~~~~~~~
|
channel_layout
../src/media_player/mediaplayer.c:504:325: error: request for member 'nb_channels' in something not a structure or union
504 | av_log(NULL, AV_LOG_ERROR, "Cannot create sample rate converter for conversion of %d Hz %s %d channels to %d Hz %s %d channels!\n", af->frame->sample_rate, av_get_sample_fmt_name(af->frame->format), af->frame->ch_layout.nb_channels, is->audio_tgt.freq, av_get_sample_fmt_name(is->audio_tgt.fmt), is->audio_tgt.ch_layout.nb_channels);
|
^
../src/media_player/mediaplayer.c:508:6: warning: implicit declaration of function 'av_channel_layout_copy' [-Wimplicit-function-declaration]
508 | if (av_channel_layout_copy(&is->audio_src.ch_layout, &af->frame->ch_layout) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~
../src/media_player/mediaplayer.c:508:67: error: 'AVFrame' has no member named 'ch_layout'; did you mean 'channel_layout'?
508 | if (av_channel_layout_copy(&is->audio_src.ch_layout, &af->frame->ch_layout) < 0)
| ^~~~~~~~~
| channel_layout
../src/media_player/mediaplayer.c:519:86: error: request for member 'nb_channels' in something not a structure or union
519 | int out_size = av_samples_get_buffer_size(NULL, is->audio_tgt.ch_layout.nb_channels, out_count, is->audio_tgt.fmt, 0);
| ^
../src/media_player/mediaplayer.c:550:54: error: request for member 'nb_channels' in something not a structure or union
550 | resampled_data_size = len2 * is->audio_tgt.ch_layout.nb_channels * av_get_bytes_per_sample(is->audio_tgt.fmt);
| ^
../src/media_player/mediaplayer.c: At top level:
../src/media_player/mediaplayer.c:652:33: error: unknown type name 'AVChannelLayout'
652 | int mp_audio_open(void* opaque, AVChannelLayout* wanted_channel_layout, int wanted_sample_rate, struct AudioParams* audio_hw_params)
| ^~~~~~~~~~~~~~~
../src/media_player/mediaplayer.c: In function 'mp_stream_open':
../src/media_player/mediaplayer.c:869:5: error: unknown type name 'AVChannelLayout'
869 | AVChannelLayout ch_layout = {0};
| ^~~~~~~~~~~~~~~
../src/media_player/mediaplayer.c:871:81: error: 'AVCodecContext' has no member named 'ch_layout'; did you mean 'channel_layout'?
871 | ret = av_channel_layout_copy(&ch_layout, &codecctx->ch_layout);
| ^~~~~~~~~
| channel_layout
../src/media_player/mediaplayer.c:876:15: warning: implicit declaration of function 'mp_audio_open'; did you mean 'avio_open'? [-Wimplicit-function-declaration]
876 | ret = mp_audio_open(ms, &ch_layout, sample_rate, &ms->audio_tgt);
| ^~~~~~~~~~~~~
| avio_open
../src/media_player/mediaplayer.c: In function 'mp_audio_refresh':
../src/media_player/mediaplayer.c:1638:39: error: request for member 'nb_channels' in something not a structure or union
1638 | channels = ms->audio_tgt.ch_layout.nb_channels;
| ^
At top level:
../src/media_player/mediaplayer.c:596:13: warning: 'mp_sdl_audio_callback' defined but not used [-Wunused-function]
596 | static void mp_sdl_audio_callback(void* opaque, Uint8* stream, int len)
| ^~~~~~~~~~~~~~~~~~~~~
[9/31] Compiling C object mmfm.p/src_media_player_packetqueue.c.o
FAILED: mmfm.p/src_media_player_packetqueue.c.o
cc -Immfm.p -I. -I.. -I/usr/include -I/usr/include/GLES2 -I/usr/include/EGL -I/usr/include/SDL2 -I/usr/include/mupdf -I/usr/include/freetype2 -I../src/mt_math -I../src/mt_core -I../src/media_player -I../src/media_coder -I../src/kinetic_ui -I../src/kinetic_ui/egl -I../src/kinetic_ui/handler -I../src/kinetic_ui/texture -I../src/mmfm -I../src/mt_core_ext -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu99 -O3 '-DPKG_DATADIR="/usr/local/share/mmfm"' '-DMMFM_VERSION="0.41b"' -Wno-unused-but-set-variable -MD -MQ mmfm.p/src_media_player_packetqueue.c.o -MF mmfm.p/src_media_player_packetqueue.c.o.d -o mmfm.p/src_media_player_packetqueue.c.o -c ../src/media_player/packetqueue.c
../src/media_player/packetqueue.c:17:5: error: unknown type name 'AVFifo'
17 | AVFifo* pkt_list;
| ^~~~~~
../src/media_player/packetqueue.c: In function 'packet_queue_init':
../src/media_player/packetqueue.c:46:19: warning: implicit declaration of function 'av_fifo_alloc2'; did you mean 'av_fifo_alloc'? [-Wimplicit-function-declaration]
46 | q->pkt_list = av_fifo_alloc2(1, sizeof(MyAVPacketList), AV_FIFO_FLAG_AUTO_GROW);
| ^~~~~~~~~~~~~~
| av_fifo_alloc
../src/media_player/packetqueue.c:46:61: error: 'AV_FIFO_FLAG_AUTO_GROW' undeclared (first use in this function)
46 | q->pkt_list = av_fifo_alloc2(1, sizeof(MyAVPacketList), AV_FIFO_FLAG_AUTO_GROW);
| ^~~~~~~~~~~~~~~~~~~~~~
../src/media_player/packetqueue.c:46:61: note: each undeclared identifier is reported only once for each function it appears in
../src/media_player/packetqueue.c: In function 'packet_queue_destroy':
../src/media_player/packetqueue.c:68:5: warning: implicit declaration of function 'av_fifo_freep2'; did you mean 'av_fifo_freep'? [-Wimplicit-function-declaration]
68 | av_fifo_freep2(&q->pkt_list);
| ^~~~~~~~~~~~~~
| av_fifo_freep
../src/media_player/packetqueue.c: In function 'packet_queue_flush':
../src/media_player/packetqueue.c:97:12: warning: implicit declaration of function 'av_fifo_read'; did you mean 'av_fifo_reset'? [-Wimplicit-function-declaration]
97 | while (av_fifo_read(q->pkt_list, &pkt1, 1) >= 0)
| ^~~~~~~~~~~~
| av_fifo_reset
../src/media_player/packetqueue.c: In function 'packet_queue_put_private':
../src/media_player/packetqueue.c:117:11: warning: implicit declaration of function 'av_fifo_write'; did you mean 'av_fifo_size'? [-Wimplicit-function-declaration]
117 | ret = av_fifo_write(q->pkt_list, &pkt1, 1);
| ^~~~~~~~~~~~~
| av_fifo_size
[10/31] Compiling C object mmfm.p/src_mmfm_ui.c.o
FAILED: mmfm.p/src_mmfm_ui.c.o
cc -Immfm.p -I. -I.. -I/usr/include -I/usr/include/GLES2 -I/usr/include/EGL -I/usr/include/SDL2 -I/usr/include/mupdf -I/usr/include/freetype2 -I../src/mt_math -I../src/mt_core -I../src/media_player -I../src/media_coder -I../src/kinetic_ui -I../src/kinetic_ui/egl -I../src/kinetic_ui/handler -I../src/kinetic_ui/texture -I../src/mmfm -I../src/mt_core_ext -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu99 -O3 '-DPKG_DATADIR="/usr/local/share/mmfm"' '-DMMFM_VERSION="0.41b"' -Wno-unused-but-set-variable -MD -MQ mmfm.p/src_mmfm_ui.c.o -MF mmfm.p/src_mmfm_ui.c.o.d -o mmfm.p/src_mmfm_ui.c.o -c ../src/mmfm/ui.c
In file included from ../src/media_player/decoder.c:6,
from ../src/media_player/mediaplayer.c:17,
from ../src/mmfm/ui.c:46:
../src/media_player/packetqueue.c:17:5: error: unknown type name 'AVFifo'
17 | AVFifo* pkt_list;
| ^~~~~~
In file included from ../src/mmfm/ui.c:46:
../src/media_player/mediaplayer.c:65:5: error: unknown type name 'AVChannelLayout'
65 | AVChannelLayout ch_layout;
| ^~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.