Giter VIP home page Giter VIP logo

mp3fs's People

Contributors

bluemoehre avatar david-collett avatar gzurowski avatar khenriks avatar lamby avatar lpmi-13 avatar robertyseward avatar ss23 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mp3fs's Issues

long delay at start of every mp3

Thanks for a great tool. Output quality is very good. The only issue I've encountered is the rather long delay whenever a mp3 is started. That unfortunately is a serious issue for any type of media server operation featuring long playlists (even though it's plenty annoying for one song). Imagine a 100 song playlist - the wait time could total nearly an hour !

Most modern PCs and servers in particular have an abundance of memory. Have you considered adding some sort of configurable caching?

Cheers.

Support for ID3v2.3

Hi there,

I am aware that this has been raised before (issue #9 & #26). However, I'd like to raise again whether support for ID3v2.3 could be added to mp3fs.

I very much like the idea of mp3fs to expose a collection of FLAC files via FUSE so they can be transcoded to MP3 on the fly. However, I just got a brand new Subaru Outback (new model came out in Australia in Jan, released in US in mid 2014) and lo and behold it only supports ID3v2.3 (not 2.4).

Whilst I completely agree with Kevin's remark about 2.4 having been around for a long time, the fact seems to be that many devices (I've googled a bit) and also brand new ones like my 2015 Subaru Outback only support ID3v2.3.

Therefore, I think it would be worthwhile to add support for ID3v2.3.

Of course, the ID3 version can be changed through a tagging tool after copying. The whole idea, though, of mp3fs - as I understand it - is to offer a convenient, hassle-free way to transcode music on the fly. Offering native ID3v2.3 support would go a step further in this direction I would like to suggest.

Thank you very much for considering this.

I would be very happy to contribute at least a little by testing this functionality.

Other than that, thanks a lot for a great tool.

Cheers,
Andree

please clarify licensing

Hi there,

apparently, the mp3fs project is licensed under different licenses: GPL3+ for the code and GFDL for the docs - which is already a pretty unfortunate combination:
https://en.wikipedia.org/wiki/GNU_Free_Documentation_License#GPL_incompatible_in_both_directions

Furthermore, it seems that only 3 files are licensed under GFDL: NEWS, README.md and mp3fs.1.txt. Only the first file, NEWS, contains the GFDL license blurb with the "no invariant sections" clause, which would make the license DFSG-compatible.

So:

  • please reconsider the choice of the GFDL for the project's documentation altogether,
  • please clarify if the GFDL with the "no invariant sections" clause applies to all files.

Thank you very much!

OGG Support

Add support for the Ogg Vorbis audio files.

QNAP package for v1.0

Where can I find the installation packages for v1.0?

I just found v0.9 from 2017 and I get random segfaults when sharing fuse folder via network.
Looks like some multi-threaded bugs got fixed recently, perhaps that would fix the problem...

Thanks!

mp3fs crashed while copying whole dir + subdirs

After hours of conversions my mp3fs crashed:
mp3fs[3075]: segfault at 7f4791b79000 ip 0000000000402c60 sp 00007f4791b6ebd0 error 6 in mp3fs[400000+5000]

MP3FS version 0.32
FUSE library version: 2.8.6
fusermount version: 2.8.6
using FUSE kernel interface version 7.12

can someone tell me what kind of error is that?

mp3fs and sftp issues

Once a partition is mounted through mp3fs and a few sftp transfers occur from that FUSE filesystem the following error is returned:
Transport endpoint is not connected'.

cannot add mp3fs to fstab

When I try to add the entry to fstab (i.e. mp3fs#/mnt/music /mnt/mp3 fuse allow_other,ro,bitrate=192 0 0), it becomes impossible to log in as usual. Instead, the system goes into emergency mode (i.e. terminal and no GUI).

Enhancement requests: album art and compilations

My music library consists of 1901 albums with 29725 songs by 4771 artists. All FLAC and meticulous tagged. Tagging with Foobar and played through a Logitech Media Server eco-system. I also need to support ITunes for wife and kids; this is where mp3fs comes in.

There are two areas where I need to decide how to proceed: album art and compilations. If there are no plans to incorporate these features in mp3fs, that's fine and good to know, and do I need to do some retagging instead. So this item is more to understand the roadmap than anything else.

  1. Album art. I keep my album art on purpose disconnected from the music files tags and store them instead per album folder as folder.jpg. Works great on most programs but not in ITunes. Addressed in #18. This would be a very useful enhancement. Is there an update on whether this is somewhere on the roadmap?
  2. Compilations. I tag them with COMPILATION = 1 and leave Album Artist empty. Most programs (especially the Squeezebox environment) treat this correctly as compilation. Not ITunes. ITunes needs to have an Album Artist tag with for example "Various Artists". From a design perspective I'm against this but I acknowledge it's open to much debate. My question is, will there be any tag mapping capabilities implemented like requested on #16 so I can use this for this purpose. Or have an option added -cXXX that means: treat tracks with an empty "album artist" tag as compilation and render the album artist tag as XXX.

Thanks, Ralph

Planning to extend file format support

I just cloned the mp3fs because it exactly does what I need for my project. I intend to expand the format support to a lot more, including video formats using the ffmpeg library. I'll still have to review if this is possible but I think it will.

Please drop me a line when you are interested.

mp3fs-0.9 - ./configure fails on FreeBSD

I tried to build the new 0.9 release on my FreeBSD Box, but with this release ./configure stops with the following output:

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for gcc... no
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking whether cc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of cc... gcc3
checking for g++... no
checking for c++... c++
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking dependency style of c++... gcc3
checking how to run the C preprocessor... cc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of int... 4
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for flac... yes
checking for id3tag... yes
checking for lame_init in -lmp3lame... no
configure: error: You must have liblame-dev installed to build mp3fs.

of course, lame is installed.

[sterum@saturn /home/sterum] % pkg version -v | grep lame
lame-3.99.5_1                      =   up-to-date with port
[sterum@saturn /home/sterum] % ls -l /usr/local/lib/libmp3lame*
-rw-r--r--  1 root  wheel  434938  4 Apr 19:39 /usr/local/lib/libmp3lame.a
-rwxr-xr-x  1 root  wheel     936  4 Apr 19:39 /usr/local/lib/libmp3lame.la
lrwxr-xr-x  1 root  wheel      15  4 Apr 19:39 /usr/local/lib/libmp3lame.so -> libmp3lame.so.0
-rwxr-xr-x  1 root  wheel  294000  4 Apr 19:39 /usr/local/lib/libmp3lame.so.0

On older releases i didn't had this problem.

Square brackets in filename issue

Hi, I found an issue in mp3fs version 1.1 that I never experienced in the debian package (0.91). If a filename has a '[' or a ']' in it, the file shows up (e.g. in rsync) but cannot be listed, copied or accessed. Lots of media flac files have these brackets.

rsync output:
file has vanished: "/volume1/mp3fs/Alessandro Safina/Insieme a Te [14 Tracks]/09 Alessandro Safina Insieme a Te.mp3"

I reverted to version 1.0. This release handles the filenames without problem.

Thanks for the great work. And now using docker I run mp3fs directly on the NAS without the need of an external raspberry pi for transcoding!

CUESHEET Support

Add support for CUESHEETs embedded in FLAC files.

For a FLAC file with a CUESHEET embedded, display the FLAC as a folder containing an MP3 file for each track.

Large memory footprint persisted when no longer in use

Hello and thanks for this nifty transcoderfs!

I have mine set up to be visible via Apache's default directory viewer. (please don't /r/opendirectories me)

A friend viewed and listened to a single song, but many times. From the access logs it appears he seeked and restarted, and listened for variable lengths each time. Nothing showed in the error log.

Several hours later, mp3fs was still listed as taking around 500 mb of memory, until i un- and remounted it (back to normal now!). it was also still using several threads. Seems it did not properly drop and reload the file when apache re-served it.

thanks again!

Last seconds of files contain different song

My library is about 150GB of FLAC and it is stored on a openmediavault NAS with a Celeron CPU and 4GB RAM. On the NAS I mount mp3fs via fstab. and then I use samba from Windows 10 or from Linux (Lubuntu 16.04) to connect to the NAS.

I recognised that the mp3 that have been converted from FLAC are some seconds larger than the original FLAC files. This discrepancy seems to grow larger with larger files. FLAC files of about 2 minutes have about 2 seconds more playtime displayed in VLC and other players when converted to mp3.

This results in the mp3 files beeing played until their FLAC time ends, actually skipping the displayed last seconds of the file, which is not a problem.

However, sometimes - I suspect when I copied a large portion of files at once - the empty space at the end is not just skipped away but actually filled with fragments of other songs (mostly of the same album).

Can someone confirm this?

Problems on NetBSD

NetBSD provides a FUSE implementation. However, I can't get mp3fs-0.91 to work with it (0.13 worked fine).

The problems I have seen so far:

  • command line argument parsing does not work correctly: "-b 128", "--bitrate=128" are not recognized; "-h", "-V" cause core dumps.
  • "mp3fs /foo /bar" errors out instead of mounting /a to /b

I don't know yet if this is a problem in the NetBSD FUSE implementation or mp3fs; however, many other fuse file systems work fine (including e.g. glusterfs).

New release

It would be great if you could tag a new release, as it would make packaging significantly easier.

Memory Leak - when mounting mp3fs from SMB Mount

Looks like there's a memory leak with mp3fs. This is resulting in mp3fs being killed by the kernel.

Setup:
Ubuntu machine with an mp3fs path shared via smb.
SMB mounted on an OSX Machine.
OSX Machine using iTunes to scan media.

When doing a scan ("Add to Library") of the entire shared drive from iTunes, the memory usage on the Ubuntu server 'mp3fs' process climbs to 100% and then mp3fs is killed by the kernel:
Jan 7 19:21:05 foo kernel: [27553.533658] Out of memory: Kill process 746 (mp3fs) score 935 or sacrifice child
Jan 7 19:21:05 foo kernel: [27553.533660] Killed process 746 (mp3fs) total-vm:15625292kB, anon-rss:7413504kB, file-rss:0kB

Version:
$ mp3fs --version
mp3fs version: 0.91
LAME library version: 3.99.5
FLAC library version: 1.3.0
FUSE library version: 2.9.2
fusermount version: 2.9.2
using FUSE kernel interface version 7.19

OS:
Ubuntu 14.04.3 LTS
$ uname -a
Linux foo 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Feature Request: Include option to specify which id3tag version to write tag in

I am setting up mp3fs to transfer part of my mostly flac music library to my Galaxy Note. I spent quite some time tagging everything right, choosing taglib in kid3 to write id3v2.4 tags to my files, which mp3fs writes together with id3v1 tags to the mp3 files it transcodes. Unfortunately id3tagv2.4 support still sucks in Android, the artist tag is not picked up, and the id3tagv1 alone isn't an option either. I used kid3 to convert the id3tagv2.4 tags to id3v2.3 and Android picks up every tag as it should now.
I reckon that I can solve my Android tag issue with with very little extra effort for me, but I thought that maybe it could be worthwhile to you to add the feature to be able to specify which id3tag version(s) the tags are written to the mp3 files in.

Regards, signorRossi.

Issues interacting with Samba (4.1.9) - disk_free: sys_fsusage() failed.

OK - this is a weird one, and I've been having a hard time figuring out if it's samba or MP3FS, but I'm leaning toward the latter.

Arch Linux 64 bit, git version of mp3fs as of around 2014/07/13, Kernel 3.15.5.

For MP3Fs only, when trying to copy files from a Win 7 client over Samba, On the Win7 side I get a Could not find this item. The item is no longer located in \\server\etc\etc Verify the item's location and try again.

On the linux / samba side, we get the following error:

[2014/07/16 11:18:55.726357,  0] ../source3/smbd/dfree.c:138(sys_disk_free)
  disk_free: sys_fsusage() failed. Error was : No such file or directory

Would it be possible to tag a new release ?

Problem is fixed in repository but it is not tagged as release. 0.32 is failing to build:

Making install in src
  CC       mp3fs.o
  CC       fuseops.o
  CC       transcode.o
transcode.c:252:38: error: expected ')'
            snprintf(tmpstr, 10, "%" PRIu64,
                                     ^
/usr/include/secure/_stdio.h:57:62: note: expanded from macro 'snprintf'
  __builtin___snprintf_chk (str, len, 0, __darwin_obsz(str), __VA_ARGS__)
                                                             ^
transcode.c:252:13: note: to match this '('
            snprintf(tmpstr, 10, "%" PRIu64,
            ^
/usr/include/secure/_stdio.h:57:28: note: expanded from macro 'snprintf'
  __builtin___snprintf_chk (str, len, 0, __darwin_obsz(str), __VA_ARGS__)

Also would it be possible to modify Makefile install target to install pre-built mp3fs.1 ?

"No ID3 tag" according to id3v2 -l file.mp3

I have a collection of files, mostly flac, which I organise using easyTAG. I run mp3fs to copy these (70GB) to my HTC M8 Android phone's SD card.

Now, I recognised that a huge number of files are listed without tags for interpret, genre, title nr, etc. on the phone. (However, they are sorted into the right album, which is strange. Maybe the phone does it as a guess.)

On Ubuntu, Rhythmbox, easyTAG and others are showing the mp3-file with tags.

file file.mp3 says: Audio file with ID3 version 2.4.0, extended header, contains: MPEG ADTS, layer III, v1, 256 kbps, 44.1 kHz, JntStereo.

This is true for all files of the collection.

For the files, that are not correct id3v2 -l file.mp3 says: No ID3 tag

For the correct ones, id3v2 -l file.mp3 gives:

id3v1 tag info for 11 - Michi Gegen Die Gesellschaft.mp3:
Title  : Michi Gegen Die Gesellschaft    Artist: Die Fantastischen Vier        
Album  : Lauschgift                      Year: 1995, Genre: Hip-Hop (7)
Comment:                                 Track: 11
11 - Michi Gegen Die Gesellschaft.mp3: No ID3v2 tag

So, file gives the same output for both files, but id3v2 does not find any ID3v2 tags on both.

And the one that the phone is not recognising even don't have a V1 tag.

So, I wonder, if my phone just uses the V1 tag. And why would some files (from the same albums) don't have one?

This happens for 111 albums and 174 tracks, meaning it is spreading across my whole music collection. Could it be some sort of error during the mounting process? I am using a open media vault NAS as share where the FLAC are located and mount this FLAC folder on my Lubuntu PC and then mount the MP3-folder with the mounted FLAC-folder as source:

mp3fs#/home/ben/Benshare/OMVr/Musik /home/ben/Benshare/mp3rike fuse noauto,user,allow_other,ro,bitrate=256 0 0

When I copy one of the affected files as flac to my PC and mount it in a seperate folder via mp3fs, the file gets its correct V1 tag (and the V2 tag is still not recognised by id3v2). Must be something related to the connection then.


UPDATE: I solved the problem by reversing the mounting: Now, I mount the mp3-folder directly on the NAS, meaning the fstab with mp3fs is on the NAS and not on the local PC.

I am sorry if this is offtopic for "issues". Please remove, if so. But maybe someone will find it relevant.

Question: libb64

So I'm trying to compile from source and am rceiving the following error during configuration:

"libb64-dev must be installed for Ogg Vorbis picture support"

I'm using Fedora, which has no libb64 package - so I tried to compile that as well. I copied the resulting base64 executable to /usr/local/bin and the b64 header files to /usr/include. I'm still receiving the same error whilst configuring, am I missing something?

Thanks,

Debug messages in syslog

I could not find any settings to avoid getting debug message from "readdir" and "getattr" for each file access in syslog. My temp fix is to comment out the mp3fs_debug(...).
Don't know if there is something I missed, or this is wanted - but I'd like to be able to disable it :)

overly verbose default logging

the 'debug' option only makes mp3fs echo its verbose logs to stderr. It still spams syslog with debug output. (nearly 7megs just playing one album) I fixed it by modifying my syslogger settings, but you might want to consider not logging debug messages by default. Or having a log-level threshhold. Heck just having a #define mp3fs_debug to do nothing by default would fix most of it, since no actual user is interested in that.

Resampling of MP3s

I seem to remember that in previous versions higher bitrate mp3s would get downsampled to what I speficied. This was extremely useful since 128kbps is just right for my connection to handle but 192 is a bit too high, except most of my mp3s are at 192kbps. Now I noticed that not all, if any of the mp3s get downsampled. FLAC files get transcoded properly.

In any case, whether or not I imagined this feature, I would like to request it :)

Convert playlist content

I have ripped several of my CDs to FLAC, and in the process the ripper created a .m3u file listing them. To save space and CPU on my portable player I use mp3fs to convert the music, but the .m3u file is unchanged. Media players thereafter simply play the files in alphabetical order, which is not as intended. It would be great if mp3fs would support renaming paths inside playlist files.

Workarounds:

  • sed -i -e 's/.flac$/.mp3/' album.m3u after copying.
  • Rename files to start with a zero padded number for their index.

Connecting from OSX to the Samba MP3 share on Ubuntu crashes mp3fs

Thanks for providing us with such an easy and great tool. I was planning to use mp3fs to expose my FLAC collection to my wife's Mac (using ITunes), so she can import our music in ITunes in mp3 format. (ITunes does not work with FLAC).

MP3fs runs on my Ubuntu 14.04 server and succesfully mounts my large FLAC collection to a MP3 folder. The MP3 folder on Ubuntu is shared via Samba. I can access and play the MP3 music share from my Windows laptop.

However, if I connect from my Mac (Connect to server, smb://192.168.1.50, choose the MP3 share), at first all music folders (tree) are shown. The minute I navigate down to the actual music files folder, mp3fs crashes with a "transport endpoint is not connected" message. And from that moment, the MP3 folder is not accessable any more.

I hope there can be a fix for this. If I can provide more information, please let me know.

Thanks very much, Ralph

`file_type` is case-sensitive

https://github.com/khenriks/mp3fs/blob/master/src/coders.cc#L73 calls file_type to determine if a file is a 'flac', however what it really is doing is checking the file extension.

In my case, I have many millions of flac files which have the extension .FLAC, which while they are valid flac files, mp3fs fails to transcode them as flac != FLAC.

root@colossus03:~# file flac/4058765179864_1_3.FLAC
flac/4058765179864_1_3.FLAC: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 15876646 samples

This is on Ubuntu 16.04.2 with a recent git clone of the mp3fs repo.

Embed album art in tags

I store albums in individual directories as collections of FLAC files with album art stored as a single, non-embedded JPEG or PNG image named folder.(png|jpg). It would be really nice if, in addition to picking up on tags embedded within the FLAC file, MP3FS would also embed art found in the same folder as the file in question. Many players pick up on the presence of image files in the same directory as music files, but notably, iTunes does not.

ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC

Hi,
The filesystem breaks when there's a single file corrupted corrupted. Is there an option to simply skip conversion errors?

The log is as follows:

[2017-07-16 22:21:00] DEBUG: Tag written to Buffer.
[2017-07-16 22:21:00] DEBUG: getattr /Bruce Springsteen/1995 - The Gost of Tom Joad
[2017-07-16 22:21:00] DEBUG: readdir /Bruce Springsteen/1995 - The Gost of Tom Joad
[2017-07-16 22:21:00] DEBUG: getattr /Bruce Springsteen/1995 - The Gost of Tom Joad/(6) The Line - Bruce Springsteen.mp3
[2017-07-16 22:21:00] DEBUG: Creating transcoder object for /mnt/nas/music/000_musica_ordenada//Bruce Springsteen/1995 - The Gost of Tom Joad/(6) The Line - Bruce Springsteen.flac
[2017-07-16 22:21:00] DEBUG: Ready to initialize decoder.
[2017-07-16 22:21:00] DEBUG: FLAC ready to initialize.
[2017-07-16 22:21:00] DEBUG: FLAC initialized successfully.
[2017-07-16 22:21:00] DEBUG: Decoder initialized successfully.
[2017-07-16 22:21:00] DEBUG: LAME ready to initialize.
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-07-16 22:21:00] DEBUG: LAME partially initialized.
[2017-07-16 22:21:00] DEBUG: LAME initialized.
Waiting for data... (interrupt to abort)

Thanks in advance

g++ 4.7.2 -- #define __STDC_FORMAT_MACROS needed for compilation of mp3_encoder.cc

When trying to build on an x86_64 machine I get the following error.

  CXX    mp3_encoder.o
mp3_encoder.cc: In member function โ€˜virtual int Mp3Encoder::set_stream_params(uint64_t, int, int)โ€™:
mp3_encoder.cc:120:30: error: expected โ€˜)โ€™ before โ€˜PRIu64โ€™
mp3_encoder.cc:120:66: warning: spurious trailing โ€˜%โ€™ in format [-Wformat]
mp3_encoder.cc:120:66: warning: too many arguments for format [-Wformat-extra-args]
mp3_encoder.cc:120:66: warning: spurious trailing โ€˜%โ€™ in format [-Wformat]
mp3_encoder.cc:120:66: warning: too many arguments for format [-Wformat-extra-args]
make[1]: *** [mp3_encoder.o] Error 1
make[1]: Leaving directory `/home/funkycrime/scratch/mp3fs/src'
make: *** [all-recursive] Error 1

The following patch remedies the issue for me. See http://stackoverflow.com/questions/8132399/how-to-printf-uint64-t/8132440#8132440

diff --git a/src/mp3_encoder.cc b/src/mp3_encoder.cc
index 5607577..43edfb7 100644
--- a/src/mp3_encoder.cc
+++ b/src/mp3_encoder.cc
@@ -20,6 +20,7 @@

 #include "mp3_encoder.h"

+#define __STDC_FORMAT_MACROS
 #include <inttypes.h>

 #include <cmath>

Problem with mp3fs and rsync

Using rsync to copy files from the mp3fs file system fails most of the time but works occasionally.

rsync -av /media/raspii/mp3/ /media/raspii/Lexar/MP3/
sending incremental file list
./
AC-DC/Back_in_Black/
AC-DC/Back_in_Black/Disc 1 - 1_-Hells_Bells.mp3
AC-DC/Back_in_Black/Disc 1 - 2
-Shoot_to_Thrill.mp3
rsync: read errors mapping "/media/raspii/mp3/AC-DC/Back_in_Black/Disc 1 - 2
-_Shoot_to_Thrill.mp3": No data available (61)

I can play the flac file, cp the mp3 and play it, but when I use rsync it throws errors. The flac file appears to be fine:

mutagen-inspect AC-DC/Back_in_Black/Disc\ 1\ -\ 2_-Shoot_to_Thrill.flac
-- AC-DC/Back_in_Black/Disc 1 - 2
-_Shoot_to_Thrill.flac

  • FLAC, 317.89 seconds, 44100 Hz (audio/x-flac)
    title=Shoot to Thrill
    artist=AC/DC
    tracknumber=2
    tracktotal=10
    album=Back in Black
    musicbrainz_albumid=83ff6988-2f79-40b9-82d5-437f2a5da5f3
    musicbrainz_albumartistid=66c662b6-6e2f-4930-8610-912e24c63ed1
    albumartist=AC/DC
    albumartistsort=AC/DC
    musicbrainz_artistid=66c662b6-6e2f-4930-8610-912e24c63ed1
    musicbrainz_trackid=3931e32f-debc-423a-8e1e-91d058f7dd1f
    artistsort=AC/DC
    date=2003-02-18
    discnumber=1
    discid=7109d50a
    musicbrainz_discid=EHj3aOzmgk0AKmEJz51U_8Vngwg-

Here's the mount command:

mp3fs -d -quality=2 -b 320 /home/raspii/FLAC/ /media/raspii/mp3/ -o allow_other,ro

Version (downloaded via github, installed via configure/make/make install):

$ mp3fs -V
mp3fs version: 0.91
LAME library version: 3.99.5
FLAC library version: 1.3.0
FUSE library version: 2.9.2
fusermount version: 2.9.2
using FUSE kernel interface version 7.19

xubuntu version:

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty

First part of the debug output:

mp3fs -d -b 320 /home/raspii/FLAC /media/raspii/mp3 -o allow_other,ro
mp3fs: MP3FS options:
basepath: /home/raspii/FLAC
bitrate: 320
quality: 5
gainmode: 1
gainref: 89.000000
desttype: mp3

FUSE library version: 2.9.2
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.22
flags=0x0000f7fb
max_readahead=0x00020000
INIT: 7.19
flags=0x00000010
max_readahead=0x00020000
max_write=0x00020000
max_background=0
congestion_threshold=0
unique: 1, success, outsize: 40

I've got the rest of the debug output if you want me to post it here.

id3v2 tags not working

Somehow id3v2 is not working. FLAC files are all tagged with Vorbis comments, but the MP3 files don't get any id3v2 tags what so ever.

When I look at a transcoded flac file, it looks like this:

$ file 01.\ Phaeleh\ -\ Journey.mp3

  1. Phaeleh - Journey.mp3: Audio file with ID3 version 2.4.0, extended header, contains: MPEG ADTS, layer III, v1, 320 kbps, 44.1 kHz, JntStereo

$ id3v2 -l 01.\ Phaeleh\ -\ Journey.mp3
id3v1 tag info for 01. Phaeleh - Journey.mp3:
Title : Journey Artist: Phaeleh
Album : Tides Year: 2013, Genre: Other (12)
Comment: Track: 1

  1. Phaeleh - Journey.mp3: No ID3v2 tag

The following file is a mp3 file downloaded from Google Play Music store, therefor is not transcoded into mp3:

$ file 01\ Vengeance.mp3
01 Vengeance.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 320 kbps, 44.1 kHz, Stereo

$ id3v2 -l 01\ Vengeance.mp3
id3v2 tag info for 01 Vengeance.mp3:
TIT2 (Title/songname/content description): Vengeance
TPE1 (Lead performer(s)/Soloist(s)): Zack Hemsey
TPE2 (Band/orchestra/accompaniment): Zack Hemsey
TALB (Album/Movie/Show title): The Way
TYER (Year): 2011
TRCK (Track number/Position in set): 1/10
TPOS (Part of a set): 1/1
TCON (Content type): Klassik (255)
APIC (Attached picture): ()[, 3]: image/jpeg, 31511 bytes
PRIV (Private frame): (unimplemented)
PRIV (Private frame): (unimplemented)
01 Vengeance.mp3: No ID3v1 tag

"file" states that the first, transcoded mp3 file has a newer id3 version, even though "id3v2 -l" says there is no id3v2 tag.

These versions are installed:

$ mp3fs -V
mp3fs version: 0.91
LAME library version: 3.99.3
FLAC library version: 1.2.1
FUSE library version: 2.8.6
fusermount version: 2.8.6
using FUSE kernel interface version 7.12

Does anyone have any idea why it's not using id3v2 tags on the transcoded files?
I really like to resolve this problem, as my car mp3 player won't display any tags from files transcoded through mp3fs. Other than that, mp3fs works really fine and is a great addition for my music library.

Thank you very much!

Include dependency asciidoc

It's likely not more than a footnote: I just realized that Fedora 19 and Debian Jessie do not have the asciidoc package installed by default and compiling MP3FS will fail with an "a2x missing" message for that reason. Adding the package to the README file may help people compiling MP3FS.

EDIT: Added Debian Jessie

Support symlinks with relative paths

On OS X, symlinks with absolute paths work, but not relative paths.

For example:

ln -s ../Originals/song.flac ./song.flac

I'm almost certain this is because readlink() is only returning ../Originals/song.flac. I propose that if the file is a symlink realpath() is called to get the absolute path.

Failed mount breaks boot process

I am not sure if this is the right way to discuss this. Today I had a problem that my boot was broken because the HDD mount that my mp3fs mount was referring to was not coming up fast enough.

The mp3fs mount appears in systemctl list-units.

I can put After=CERTAIN.MOUNT into the systemd unit file for any normal mount or any other service. Should it also be possible with mp3fs? When I try to edit the file I get


pi@raspberrypi:~ $ sudo systemctl edit --full mnt-hdd-mp3fs.mount
No files found for mnt-hdd-mp3fs.mount.
Run 'systemctl edit --force --full mnt-hdd-mp3fs-mp3fsx2dneuex2dmusik.mount' to create a new unit.

Will editing with --force-- create a file that will get used upon mount of mp3fs?

EDIT: I posted a related question here: https://unix.stackexchange.com/questions/634829/should-editing-fstab-change-systemd-mountpoint-service-file?noredirect=1#comment1189255_634829

mp3fs does not build with FLAC 1.3.0 (on FreeBSD)

Just for information.

Since the update of FLAC to version 1.3.0 mp3fs does not build on FreeBSD because there is a missing header in transcode.c. I don't know if it builds on linux or windows. Perhaps you could have a look at this.

here is a solution

Begin diff

--- src/transcode.c 2012-05-01 22:12:48.000000000 +0200
+++ src/transcode.c 2013-06-15 19:19:13.000000000 +0200
@@ -21,6 +21,7 @@

 #define _GNU_SOURCE

+#include <inttypes.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>

End diff

I have sent a problem report to the FreeBSD project. When it is commited mp3fs should build successfully.

mp3fs segfault when sharing files via samba

mp3fs is working perfectly on accessing and copying the files via the local server, however, if I share the mp3fs directory via samba, the moment I try to access one of the mp3 files mp3fs segfaults on me requiring samba to be restarted and the mp3fs mount point to be unmounted and mounted again.

Mounting with the command:
mp3fs -o allow_other -b 256 --quality=2 -d /data/music/flac /data/music/mp3

Produces a clean mount:

[2017-11-01 11:58:04] DEBUG: LAME ready to initialize.
[2017-11-01 11:58:04] DEBUG: MP3FS options:
basepath:       /data/music/flac
bitrate:        256
desttype:       mp3
gainmode:       1
gainref:        89.000000
log_maxlevel:   DEBUG
log_stderr:     1
log_syslog:     0
logfile:
quality:        2
statcachesize:  0
vbr:            0

FUSE library version: 2.9.4
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.23
flags=0x0003fffb
max_readahead=0x00020000
   INIT: 7.19
   flags=0x00000010
   max_readahead=0x00020000
   max_write=0x00020000
   max_background=0
   congestion_threshold=0
   unique: 1, success, outsize: 40

But as soon as I try to access a file via the samba share I get:

unique: 35, opcode: LOOKUP (1), nodeid: 1, insize: 56, pid: 23678                                                                                             [345/1925]
LOOKUP /Vampire Weekend
getattr /Vampire Weekend
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend
   NODEID: 2
   unique: 35, success, outsize: 144
unique: 36, opcode: LOOKUP (1), nodeid: 2, insize: 56, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend
getattr /Vampire Weekend/Vampire Weekend
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend
   NODEID: 3
   unique: 36, success, outsize: 144
unique: 37, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 23678
getattr /
[2017-11-01 12:02:52] DEBUG: getattr /
   unique: 37, success, outsize: 120
unique: 38, opcode: OPENDIR (27), nodeid: 3, insize: 48, pid: 23678
   unique: 38, success, outsize: 32
unique: 39, opcode: READDIR (28), nodeid: 3, insize: 80, pid: 23678
readdir[0] from 0
[2017-11-01 12:02:52] DEBUG: readdir /Vampire Weekend/Vampire Weekend
   unique: 39, success, outsize: 696
unique: 40, opcode: GETATTR (3), nodeid: 3, insize: 56, pid: 23678
getattr /Vampire Weekend/Vampire Weekend
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend
   unique: 40, success, outsize: 120
unique: 41, opcode: LOOKUP (1), nodeid: 3, insize: 70, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/04 Cape Cod Kwassa Kwassa.mp3
getattr /Vampire Weekend/Vampire Weekend/04 Cape Cod Kwassa Kwassa.mp3
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/04 Cape Cod Kwassa Kwassa.mp3
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/04 Cape Cod Kwassa Kwassa.flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97c007110 ; 0 -> 301
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97c007110 -> 0x7fe97c065af0 ; 301 -> 6872513
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.                                                                                                           [302/1925]
   NODEID: 4
   unique: 41, success, outsize: 144
unique: 42, opcode: LOOKUP (1), nodeid: 3, insize: 61, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/01 Mansford Roof.mp3
getattr /Vampire Weekend/Vampire Weekend/01 Mansford Roof.mp3
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/01 Mansford Roof.mp3
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/01 Mansford Roof.flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97401c130 ; 0 -> 292
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97401c130 -> 0x7fe974064df0 ; 292 -> 4087224
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.
   NODEID: 5
   unique: 42, success, outsize: 144
unique: 43, opcode: LOOKUP (1), nodeid: 3, insize: 60, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/02 Oxford Comma.mp3
getattr /Vampire Weekend/Vampire Weekend/02 Oxford Comma.mp3
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/02 Oxford Comma.mp3
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/02 Oxford Comma.flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97c000b40 ; 0 -> 291
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97c000b40 -> 0x7fe97c065530 ; 291 -> 6264791
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.
   NODEID: 6
   unique: 43, success, outsize: 144
unique: 44, opcode: LOOKUP (1), nodeid: 3, insize: 54, pid: 23678                                                                                             [259/1925]
LOOKUP /Vampire Weekend/Vampire Weekend/03 A-Punk.mp3
getattr /Vampire Weekend/Vampire Weekend/03 A-Punk.mp3
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/03 A-Punk.mp3
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/03 A-Punk.flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97401c130 ; 0 -> 285
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97401c130 -> 0x7fe974064dd0 ; 285 -> 4409882
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.
   NODEID: 7
   unique: 44, success, outsize: 144
unique: 45, opcode: LOOKUP (1), nodeid: 3, insize: 54, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/06 Campus.mp3
getattr /Vampire Weekend/Vampire Weekend/06 Campus.mp3
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/06 Campus.mp3
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/06 Campus.flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97c006370 ; 0 -> 237
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97c006370 -> 0x7fe97c065530 ; 237 -> 5648665
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.
   NODEID: 8
   unique: 45, success, outsize: 144
unique: 46, opcode: LOOKUP (1), nodeid: 3, insize: 51, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/05 M79.mp3
getattr /Vampire Weekend/Vampire Weekend/05 M79.mp3
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/05 M79.mp3                                                                              [216/1925]
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/05 M79.flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97401c150 ; 0 -> 282
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97401c150 -> 0x7fe974064d90 ; 282 -> 8185722
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.
   NODEID: 9
   unique: 46, success, outsize: 144
unique: 47, opcode: LOOKUP (1), nodeid: 3, insize: 55, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/10 Walcott.mp3
getattr /Vampire Weekend/Vampire Weekend/10 Walcott.mp3
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/10 Walcott.mp3
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/10 Walcott.flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97c000f10 ; 0 -> 287
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97c000f10 -> 0x7fe97c066030 ; 287 -> 7093182
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.
   NODEID: 10
   unique: 47, success, outsize: 144
unique: 48, opcode: LOOKUP (1), nodeid: 3, insize: 52, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/07 Bryn.mp3
getattr /Vampire Weekend/Vampire Weekend/07 Bryn.mp3
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/07 Bryn.mp3
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/07 Bryn.flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.                                                                                                        [173/1925]
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97401c150 ; 0 -> 229
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97401c150 -> 0x7fe974064c60 ; 229 -> 4263540
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.
   NODEID: 11
   unique: 48, success, outsize: 144
unique: 49, opcode: LOOKUP (1), nodeid: 3, insize: 77, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/11 The Kids Don't Stand A Chance.mp3
getattr /Vampire Weekend/Vampire Weekend/11 The Kids Don't Stand A Chance.mp3
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/11 The Kids Don't Stand A Chance.mp3
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/11 The Kids Don't Stand A Chance.flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97c002f90 ; 0 -> 309
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97c002f90 -> 0x7fe97c066030 ; 309 -> 7777821
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.
   NODEID: 12
   unique: 49, success, outsize: 144
unique: 50, opcode: LOOKUP (1), nodeid: 3, insize: 76, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/08 One (Blake's Got A New Face).mp3
getattr /Vampire Weekend/Vampire Weekend/08 One (Blake's Got A New Face).mp3
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/08 One (Blake's Got A New Face).mp3
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/08 One (Blake's Got A New Face).flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.                                                                                                        [130/1925]
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97401c150 ; 0 -> 326
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97401c150 -> 0x7fe974064fa0 ; 326 -> 6177890
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.
   NODEID: 13
   unique: 50, success, outsize: 144
unique: 51, opcode: LOOKUP (1), nodeid: 3, insize: 65, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/09 I Stand Corrected.mp3
getattr /Vampire Weekend/Vampire Weekend/09 I Stand Corrected.mp3
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/09 I Stand Corrected.mp3
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/09 I Stand Corrected.flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97c006950 ; 0 -> 296
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97c006950 -> 0x7fe97c065530 ; 296 -> 5113736
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.
   NODEID: 14
   unique: 51, success, outsize: 144
unique: 52, opcode: LOOKUP (1), nodeid: 3, insize: 58, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/AlbumArtSmall.jpg
getattr /Vampire Weekend/Vampire Weekend/AlbumArtSmall.jpg
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/AlbumArtSmall.jpg
   NODEID: 15
   unique: 52, success, outsize: 144
unique: 53, opcode: LOOKUP (1), nodeid: 3, insize: 51, pid: 23678
LOOKUP /Vampire Weekend/Vampire Weekend/Folder.jpg
getattr /Vampire Weekend/Vampire Weekend/Folder.jpg
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend/Folder.jpg
   NODEID: 16
   unique: 53, success, outsize: 144
unique: 54, opcode: READDIR (28), nodeid: 3, insize: 80, pid: 23678                                                                                            [87/1925]
   unique: 54, success, outsize: 16
unique: 55, opcode: RELEASEDIR (29), nodeid: 3, insize: 64, pid: 0
   unique: 55, success, outsize: 16
unique: 56, opcode: GETATTR (3), nodeid: 3, insize: 56, pid: 23678
getattr /Vampire Weekend/Vampire Weekend
[2017-11-01 12:02:52] DEBUG: getattr /Vampire Weekend/Vampire Weekend
   unique: 56, success, outsize: 120
unique: 57, opcode: OPENDIR (27), nodeid: 1, insize: 48, pid: 23678
   unique: 57, success, outsize: 32
unique: 58, opcode: RELEASEDIR (29), nodeid: 1, insize: 64, pid: 0
   unique: 58, success, outsize: 16
unique: 59, opcode: OPENDIR (27), nodeid: 1, insize: 48, pid: 23678
   unique: 59, success, outsize: 32
unique: 60, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 23678
statfs /
[2017-11-01 12:02:52] DEBUG: statfs /
   unique: 60, success, outsize: 96
unique: 61, opcode: LOOKUP (1), nodeid: 1, insize: 46, pid: 23678
LOOKUP /mp3fs
getattr /mp3fs
[2017-11-01 12:02:52] DEBUG: getattr /mp3fs
   unique: 61, error: -2 (No such file or directory), outsize: 16
unique: 62, opcode: LOOKUP (1), nodeid: 1, insize: 46, pid: 23678
LOOKUP /mp3fs
getattr /mp3fs
[2017-11-01 12:02:52] DEBUG: getattr /mp3fs
   unique: 62, error: -2 (No such file or directory), outsize: 16
unique: 63, opcode: LOOKUP (1), nodeid: 1, insize: 46, pid: 23678
LOOKUP /mp3fs
getattr /mp3fs
[2017-11-01 12:02:52] DEBUG: getattr /mp3fs
   unique: 63, error: -2 (No such file or directory), outsize: 16
unique: 64, opcode: LOOKUP (1), nodeid: 1, insize: 46, pid: 23678
LOOKUP /mp3fs
getattr /mp3fs
[2017-11-01 12:02:52] DEBUG: getattr /mp3fs
   unique: 64, error: -2 (No such file or directory), outsize: 16
unique: 65, opcode: LOOKUP (1), nodeid: 1, insize: 46, pid: 23678
LOOKUP /mp3fs
getattr /mp3fs
[2017-11-01 12:02:52] DEBUG: getattr /mp3fs
   unique: 65, error: -2 (No such file or directory), outsize: 16
unique: 66, opcode: LOOKUP (1), nodeid: 1, insize: 46, pid: 23678                                                                                              [44/1925]
LOOKUP /mp3fs
getattr /mp3fs
[2017-11-01 12:02:52] DEBUG: getattr /mp3fs
   unique: 66, error: -2 (No such file or directory), outsize: 16
unique: 67, opcode: RELEASEDIR (29), nodeid: 1, insize: 64, pid: 0
   unique: 67, success, outsize: 16
unique: 68, opcode: OPEN (14), nodeid: 7, insize: 48, pid: 23678
open flags: 0x28000 /Vampire Weekend/Vampire Weekend/03 A-Punk.mp3
[2017-11-01 12:02:52] DEBUG: open /Vampire Weekend/Vampire Weekend/03 A-Punk.mp3
[2017-11-01 12:02:52] DEBUG: Creating transcoder object for /data/music/flac/Vampire Weekend/Vampire Weekend/03 A-Punk.flac
[2017-11-01 12:02:52] DEBUG: Ready to initialize decoder.
[2017-11-01 12:02:52] DEBUG: FLAC ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC initialized successfully.
[2017-11-01 12:02:52] DEBUG: Decoder initialized successfully.
[2017-11-01 12:02:52] DEBUG: LAME ready to initialize.
[2017-11-01 12:02:52] DEBUG: FLAC processing STREAMINFO
[2017-11-01 12:02:52] DEBUG: FLAC processing VORBIS_COMMENT
[2017-11-01 12:02:52] DEBUG: LAME partially initialized.
[2017-11-01 12:02:52] DEBUG: LAME initialized.
[2017-11-01 12:02:52] DEBUG: Metadata processing finished.
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: (nil) -> 0x7fe97403d260 ; 0 -> 285
[2017-11-01 12:02:52] DEBUG: Buffer reallocate: 0x7fe97403d260 -> 0x7fe974085e90 ; 285 -> 4409882
[2017-11-01 12:02:52] DEBUG: Tag written to Buffer.
   open[140640650267152] flags: 0x28000 /Vampire Weekend/Vampire Weekend/03 A-Punk.mp3
   unique: 68, success, outsize: 32
unique: 69, opcode: READ (15), nodeid: 7, insize: 80, pid: 23687
read[140640650267152] 131072 bytes from 0 flags: 0x28000
unique: 70, opcode: READ (15), nodeid: 7, insize: 80, pid: 23688
read[140640650267152] 131072 bytes from 524288 flags: 0x28000
[2017-11-01 12:02:52] DEBUG: read /Vampire Weekend/Vampire Weekend/03 A-Punk.mp3: 131072 bytes from 0
[2017-11-01 12:02:52] DEBUG: read /Vampire Weekend/Vampire Weekend/03 A-Punk.mp3: 131072 bytes from 524288
[2017-11-01 12:02:52] DEBUG: Reading 131072 bytes from offset 0.
[2017-11-01 12:02:52] DEBUG: Reading 131072 bytes from offset 524288.
[2017-11-01 12:02:52] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER
[2017-11-01 12:02:52] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-11-01 12:02:52] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER
[2017-11-01 12:02:52] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
[2017-11-01 12:02:52] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCHunique: 71, opcode: READ (15), nodeid: 7, insize: 80, pid: 23690

[2017-11-01 12:02:52] ERROR: FLAC error: FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADERread[140640650267152] 131072 bytes from 1048576 flags: 0x28000

Segmentation fault (core dumped)

dmesg shows:

[619512.442457] mp3fs[21534]: segfault at 7f9d751df8b0 ip 00007f9e69d2f849 sp 00007f9e63ffe788 error 6
[619512.442461] traps: mp3fs[11686] general protection ip:7f9e6ab320ba sp:7f9e694321f0 error:0 in libmp3lame.so.0.0.0[7f9e6ab18000+45000]
[619512.442462]  in libc-2.23.so[7f9e69c90000+1c0000]

[619655.318252] mp3fs[23686]: segfault at 0 ip 00007fe984276294 sp 00007fe9829909d8 error 6 in libc-2.23.so[7fe9841e7000+1c0000]

I've tried with the 0.9.1 release from source and via a git clone of the repository with the same results.

"Transport endpoint is not connected" bug

I am on Ubuntu 14.04 and mp3fs -V gives me:

MP3FS version 0.9
FUSE library version: 2.9.2
fusermount version: 2.9.2
using FUSE kernel interface version 7.19

My shell is zsh (bear with me, it is important):

zsh 5.0.2 (x86_64-pc-linux-gnu)

There are likely other ways of replicating this, but the easiest is to mount

sudo mp3fs -b 128 /mnt/terra/music /mnt/mp3/ -o allow_other,ro

and then navigate to a folder with mp3s

cd /mnt/mp3/Laibach/Opus\ Dei

Make sure that zsh autocompletion is on and then type a command followed by TAB in order to trigger said autocompletion on a file with a space in its name:

>  exiftool 05\ Opus\ Dei.mp3
File not found: 05 Opus Dei.mp3

At this point none of the files appear and a simple ls returns

ls: cannot open directory .: Transport endpoint is not connected

Tested this in bash, and it does not happen. Tested it with a file without spaces in its name and it does not happen.

Build error on Ubuntu related to asciidoc

I get an error when I try and build 0.9 on Ubuntu 14.04:

a2x: ERROR: "xmllint" --nonet --noout --valid "/home/vlad/projects/mp3fs/mp3fs.1.xml" returned non-zero exit status 127

Turns out I need two other packages recommended (but not enforced) by asciidoc: libxml2-utils and xmlto. Might be worth adding this info to the docs...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.