wildstar84 / fauxdacious

Audacious Audioplayer FORK, adds DVD & video play, and much more!
https://wildstar84.wordpress.com/fauxdacious
Other
9 stars 4 forks source link

Problem with building latest version of Fauxdacious and update on the m4a file issue #14

Closed Sacolevas closed 1 year ago

Sacolevas commented 1 year ago

Hello!!

My apologies, this has been a very busy semester in college and it is not easy for me to answer in time.

Two problems at present (this is Fauxdacious in Linux)

1) M4A files no playing well with Fauxdacious

I attach a recording of the m4a file, how it sounds with Fauxdacious, how with Audacious and a text file with the verbose on the FFMPEG version. And also what is the m4a file I use as a sample.

Recordings.zip

2) The latest fauxdacious I compiled was 4.2.1 final, using github build and commands given in the github page (over a year I have used those commands). This version has had some issues never presented before: The M4A problem and also sometimes it freezes and program closes inmediately.

So I decided to compile the latest version (I use to do this each couple of months aprox), but it is not compiling.

a) Coincidentially in the case of Audacious (which is a player I am not using, but I build the github version and keep the program installed for the sake of comparison and curiosity to see if the program has any progress) I cannot build either, although the reason is different. Auxdacious build stops with this message:

"error: Missing dependency for Opus support: opus >= 1.0.1 opusfile >= 0.4""

But libopus is installed as well as opus-tools, so I don't know what else it needs to be installed. It is the first time in more than a year that an issue occurs trying to build either fauxdacious or audacious using GIT.

b) In fauxdacious, the problems seems to be bigger, I don't know. I attach the verbose so you can see what might be the reason of the issue.

BuildFauxdacious.txt

Thanks for your attention!

wildstar84 commented 1 year ago

Let's start w/your "build issue": Since you're having issues building both Fauxd. and Aud., it sounds like your build environment / pkg-config has somehow become foobarred. Idk the exact procedure you're using, but have you tried: sudo make distclean, then completely DELETING your fauxdacious_git and fauxdacious-plugins_git directories (where you compiled from), and re-installing everything fresh from git (git clone --single-branch https://github.com/wildstar84/...), and re-running ./autogen.sh, ./configure...? tinylock.cc has changed since your last successful build, and should be 1606 bytes in size, tinylock.h should be 1742. There's also a tinylock.h.in that rebuilds tinylock.h when you run autogen.sh and configure! I've had issues where make distclean didn't seem to remove the libraries in /usr/local/lib/fauxdacious and I had to delete them manually before re-rebuilding (check the dates on them). What options are you specifying on your ./configure lines? There's an OLD plugin config option for ffmpeg: "--with-ffmpeg=ffmpeg,libav,none", the default is ffmpeg. If for some reason you're setting this to "libav", I highly reccomend you don't, as libav is old, and I think Audacious has removed support for that, and make sure that ffmpeg (and everything else really) is at latest versions. I also highly reccomend NOT enabling valgrind support - I had a ton of bizarre issues when I briefly tried enabling that to assist me debug an issue (and wasted an entire day playing whack-a-mole)!

Sacolevas commented 1 year ago

Hello!

I could now build audacious without problem; i checked on the internet, installed libtool-bin and only added in the configure options the sentences --enable-libopus --enable-encoder=libopus. I have Audacious 4.3 build from GIT

In FFMPEG case, It is not built; just the version in the Ubuntu 20.04 package base. It is the same ffmpeg I use with Audacious, so the issue is not likely to be ffmpeg related but probably in the plugin, I don't know, you probably heard the audio difference to see the problem (the zip file sent earlier). In both audacious and fauxdacious have removed in the configure options the valgrind support just in case, but still cannot build fauxdacious.

I always make distclean, delete the directories where I compile and followed your instructions. In this one and a half year I have build fauxdacious with these commands about 8, 9 times without any issue. It is only the latest version where the mistake appears, so I am stuck with Fauxdacious 4.2.1 final build from GIT, which have the m4a issues and some freezing that didn't existed before, perhaps something change from one version to another. The latest time I was able to build Fauxdacious was Jan 5, 2023 and it was only until the final days from February where I tried to build again; I thought that with the m4a issues or the occasional freezing that didn't happened before, perhaps if would be solved if I install the latest version but I have been unable from doing so.

I always deleted the tmp directories, Not deleting the directories in /usr/local that were already build so I can keep using Fauxdacious every day. Despite those issues, it is my music player from choice and use it daily.

Thanks for your attention, I am not an expert, so hopefully I gave you enough information to figure out the roots of the problem.


Build Fauxdacious:

... git clone --single-branch git://github.com/wildstar84/fauxdacious.git fauxdacious git clone --single-branch git://github.com/wildstar84/fauxdacious-plugins.git fauxdacious-plugins

And the usual from your page that have worked all this time until now .... ... ./autogen.sh ./configure --prefix=/usr/local [--enable-qt] --with-buildstamp=Fauxdacious make (sudo) make install sudo ldconfig etc, etc

Sacolevas commented 1 year ago

UPDATE!!

With fauxdacious the only new action I took was to disable the valgrind support and suddenly I was able to build the new version (4.4.2). The only warning was the following:

albumart.cc: In function ‘void album_helper_thread_fn(void)’: albumart.cc:248:20: warning: ignoring return value of ‘int system(const char)’, declared with attribute warn_unused_result [-Wunused-result] 248 | system ((const char ) str_concat ({cover_helper, " ALBUM '", | ~^~~~~~~~~~~~ 249 | (const char ) album_buf, "' ", aud_get_path (AudPath::UserDir), " '", | ~~~~~~~~~~~~~~ 250 | (const char ) artist_buf, "' '", (const char ) title_buf, "' ", | ~~~~~~~~~~~~~ 251 | (const char ) webfetch}));

HOWEVER .... In the new version the M4A file issue stays the same, it doesn't sound correctly (see the zip file sent in the first message). Still need to test more in order to appreciate if the occasional freezing (when it happens, it lasts for about 10 seconds and then the program closes inmediately) is present.

Thanks for your attention

wildstar84 commented 1 year ago

I agree that your "Fauxdacious" "clip" sounded slightly "skippy", but your original song file "1-02 My Sweet Lord.m4a" sounds great (I tried in both Fauxd. & Aud. with no effects plugins in effect) and they sound identical to me (though I'm not an audiophyle and have 60+ year old ears)! ;) I'm using Alsa sound. What audio plugin are you using? (Note: I haven't merged Aud's new pipewire plugin (yet), as supposedly the pulse-audio one will work with pipewire - so I've been told). Also, how did you create your 2 clip files?

Sacolevas commented 1 year ago

Hello!

I tested both Audacious and Fauxdacious again. Using both Alsa and PulseAudio plugins, same buffer size of 500ms (as Fauxdacious didn't sound fine I also tried increasing the buffer size with no effect).

In both, Audacious sound fine (as Fauxdacious sounded fine some time ago ... it is not the most common tracks I play, and about 95% of all my audio files are mp3 files). In both Fauxdacious sounded "skippy"; with the Alsa Plugin was slightly better than PulseAudio which I had as default.

In order to create the clip files, I used gnome sound recorder, which seems to capture external sound from the speakers, and that is the reason that sounded far away. Now I realize I could have use the recording tool from Audacious and Fauxdacious to create those clips.

BTW, I don't know if there is a program to record the internal sound no matter what program is playing it (i.e. I could use the recording button from fauxdacious only to record the sound in fauxdacious, not the sound produced with another program).

Thanks for your attention and hopefully the cause of the problem playing those files can be discovered. As I said, not always sounded that way (although I can't recall the exact version the problem started because as I said before those are files that I don't play frequently)

wildstar84 commented 1 year ago

I'm going to assume that you're using the same buffer-size, equalizer settings, effects plugin settings, other plugins activated, etc. in Fauxd & Aud (but you should still check - comparing apples to apples)! In Audio (at least for Alsa), make sure you have the same device/mixer & settings set (Fauxdacious has a 2nd device/mixer I added to make my HDMI monitor speakers work).

Just for giggles, try turning OFF the Video-display plugin AND uncheck "Play video stream in popup..." option in the FFmpeg plugion & let me know if that fixes the issue (since with those off, we should be essentially just doing what Audacious does, and could narrow down where we could have introduced some inefficiencies.

Also, I released a minor new commit involving ffaudio just today (which mostly involves video play / video window placement), just to be fully up-2-date. Most ffaudio-changes in the past year are in the video-playing code.

You could compare & if you don't mind, you could send me both your Fauxdacious and Audacious config-files (~/.config/*dacious/config).

Sacolevas commented 1 year ago

Hello,

I followed those instructions and unckeck things, but made no difference. Actually I tried disabling the FFMEG plugin and played the same way, so it is not clear to me if that plugin is the one acting or which input plugin is acting when this file is played

I attach config files for Audacious and Fauxdacious

config_fauxdacious.zip config_audacious.zip

wildstar84 commented 1 year ago

I don't see anything amiss in config except Fauxd has "net_buffer_kb=1024" (no config for Aud). You might try running both with "-V" to see which plugin each is using to play the file & see if they're the same or different. Other than that, I don't know. Perhaps try converting it to mp3 directly, using the command: "ls '1-02 My Sweet Lord.m4a' | fauxdacious -DcH --out=mp3 - >'/tmp/1-02 My Sweet Lord.mp3'" to have Fauxdacious convert it to mp3 (bypassing the real-time audio-rendering), then play that file & see if it sounds better? (Can't do that w/Aud! ;-)

wildstar84 commented 1 year ago

Closing due to lack of further feedback, assuming resolved.