Giter Site home page Giter Site logo

alsaplayer / alsaplayer Goto Github PK

View Code? Open in Web Editor NEW
51.0 11.0 27.0 4.48 MB

AlsaPlayer

Home Page: http://alsaplayer.sourceforge.net/

License: GNU General Public License v3.0

C++ 22.69% C 64.48% Makefile 1.28% Shell 1.07% Assembly 0.03% Python 0.04% Lex 0.70% Roff 0.89% M4 8.80% sed 0.01% Dockerfile 0.01%
music-player mp3-player alsa linux-app

alsaplayer's Introduction

AlsaPlayer - PCM audio player for Linux and compatible OSes

Original version written by Andy Lo A Foe ([email protected]) GZK2 interface written by Madej from Poland. Contributions from many other peoples. See the AUTHORS file for details.

DESCRIPTION

AlsaPlayer is a PCM player developed on the Linux Operating System. Since the first public beta release it support has been added for various other Operating Systems (mostly Unix variants). AlsaPlayer was written in the first place to excercise the new ALSA (Advanced Linux Sound Architecture) driver and library system.

INTERFACE PLUGINS

This cool feature allows you to completely customize your user interface. I.e. the core of AlsaPlayer is decoupled from the user interface. The default GTK2 interface is the best supported one. Among others, there is also a text only interface.

INPUT PLUGINS

The program is very much plugin based. New file formats can be added simply by writing a new input plugin. The only requirement is that the data can be presented in PCM audio format.The following plugins are in various states of usability:

  • OGG vorbis plugin, works flawlessly, uses the ogg/vorbis libs http://www.vorbis.com/
  • MPEG audio plugin, based on mpg123 0.59r, works quite well, being phased out however for:
  • MAD based audio plugin, based on the new MAD MPEG decoder library, uses a tiny bit more CPU, but has much better output quality then mpg123. http://www.mars.org/home/rob/proj/mpeg/
  • CDDA plugin, play back audio CD's by ripping the data digitally off the disk
  • MikMod plugin, play back all MikMod supported module formats, no random seeking in modules yet. http://www.mikmod.org/
  • Audiofile library plugin, this one needs a bit of work still http://oss.sgi.com/projects/audiofile/
  • FLAC (including OggFLAC) plugin with support for FLAC >= 1.3.

OUTPUT PLUGINS

AlsaPlayer also uses a plugin system for outputting audio data. The output mechanism was designed with ALSA in mind of course. Many other Unix audio systems map quite well on to it however. Supported output plugins include:

  • ALSA, default plugin, best supported.
  • OSS and OSS/Lite
  • Esound
  • Sparc (tested on UltraSparc)
  • SGI
  • JACK, http://jackit.sf.net, this plugin is actually built-in since its differs radically from all the others. It is callback based. This is my preferred output method these days. The underlying audio driver is ALSA.

SCOPE PLUGINS

Just as input and output support gets loaded in dynamically, scope (or visualization) plugins are laoded in dynamically also. This enables anyone to develop a visualization plugin without changing a single line of code in the main program. A few scope plugins are provided in the main alsaplayer distribution:

  • Monoscope
  • Spacescope
  • Levelmeter
  • Blurscope
  • OpenGL spectrum
  • logFFtscope

Nothing stops you from writing a kick ass FULLSCREEN (DGA) or even a Hardwarde Accellerated OpenGL visualization plugin for AlsaPlayer!

EFFECTS PLUGINS

Work in progress...

SCOKET CONTROL

AlsaPlayer can be controlled from an external program. You only need to link your application against the supplied libalsaplayer.so and in order to control AlsaPlayer from your own applications. Seeking, speed control and playlist advancement are only a few of the commands available to you. See the "examples" directory for sample implementations.

INSTALLATION

Installing AlsaPlayer from source should be as easy as executing the configure script and then make. The configure script will try to detect all input and output plugins for your system.

IMPORTANT: Make sure you run 'make install' after the compilation is finished. The various plugins need to be in a specific place on your system. If you don't want to install it on your system right away you can always use a different --prefix when running configure.

EMBEDDED MODE

For target systems with low CPU and RAM ressources you can run configure with "CFLAGS=-DEMBEDDED". This reduces CPU and RAM usage but imposes the following limitations:

  • no mixing of streams; single-stream only
  • no software volume/pan (hardware volume/pan unaffected)
  • no effect plugins

RUNNING

Just fire up the executable. You can pass files to play on the command line too. These will be added to the queue while the first entry will start playing automatically. The CD like button hides the menu. All other controls should be straight forward. Improvements to the interface will follow soon.

OTHER INFO

alsaplayer's People

Contributors

erikd avatar hermannschwaerzler avatar kiselev-dv avatar leofiore avatar loafoe avatar stegm avatar yjwork-cn 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alsaplayer's Issues

Playlist shuffle is not totally random

We noticed that when we use --shuffle the playlist is shuffled indeed but after a restart of alsaplayer, when we shuffle the playlist again it gets randomised to the very same list everytime we do this.

This is due to the fact that random_shuffle() is used in app/Playlist.cpp without first initialising the pseudo-random number generator (see http://stackoverflow.com/questions/13459953/random-shuffle-not-really-random).

I fixed this in my fork:
hermannschwaerzler@485f17c

I suggest to include this patch into this project as well...

Greetings
Hermann

100% CPU usage and stuck in reading an mp3 file

System:
Debian GNU/Linux Jessie (8.3)
alsaplayer 0.99.81

Steps to reproduce:
download the attached file png, rename it as .mp3 and open it via command line or adding it to the playlist manager

Actual result:
the file is never played, nor added to the playlist; instead, alsaplayer is stucked, probably trying reading the file.

this log shows that at a certain point the player is continuosly looping through a _llseek(6, 4096, [4096], SEEK_SET) = 0, until SIGINT is called.

Expected result:
file is added to the playlist and ready to be played

I'll try to grab more information later.

alsaplayer hangs on certain mp3-files

We found out that alsaplayer hangs on certain mp3-files but we were unable to find a pattern or a reason. It only happens very rarely but still causes problems as alsaplayer "hangs": I.e. it does not play anything nor does it respond to any remote command. We have to kill it to make it work again.

I will try to attach a file that causes this problem.
Btw. this very same file works if one uses mp3split to "split" it into one piece :-) with e.g. this command:
mp3splt problem.mp3 0.0 EOF

This is the file. I had to rename it to png but it's an mp3-file!
problem

drag 'n drop is erratic

When dropping multiple files from thunar and rox-filler into alsaplayer playlist window, the result is erratic.

A few times all files get into the playlist, but most of the time, some files are missing. From a mail I get, it is even possible that the entire parenting folder and it's entire contents will be added.

Also, the order of the files with drag'n drop is erratic into the playlist.

pause change the speed with jack output

When running alsaplayer with "alsaplayer -o jack" or "alsaplayer -o jack -F 48000", and using "alsaplayer --pause", alsaplayer pause OK, but change the speed at 108% when resuming. Each subsequent pause/resume increase the speed further (118%, 128%, 140%, ...).

This is with jackd running at 48 kHz. I dont get this issue with the alsa output or when jackd is running at 44.1 kHz.

"alsaplayer --speed 1" or "alsaplayer --speed $last_used_speed" work fine in all cases. The pause control of the gtk interface resume to the last used speed, and I think this is the wanted behaviour.

segmentation fault if connection opened and closed immediately

Sorry, I do not know how to produce patch diffs, so the following is not in that format.

Anyway, if the alsaplayer is running in daemon mode and a remote program opens a connection to it, but closes that connection right away, then the alsaplayer running in daemon mode will segfault. The reason is that line 132 in ControlSocket.cpp (version 0.99.82) does not check for msg pointer to be NULL.

So, the code in ControlSocket.cpp should be as follows:

  // So we have a connection
  msg = ap_message_receive(fd);

// FIX STARTS HERE
if (!msg) {
close(fd);
continue;
}
// FIX ENDS HERE

  // Check version
  if (msg->header.version != AP_CONTROL_VERSION) {
     alsaplayer_error("protocol version mismatch (server): %x != %x",
        msg->header.version, AP_CONTROL_VERSION);
     close(fd);
     continue;
  }

Read before reporting a new bug

If you bug concern a particular file or type of files, please provide a test file or a link to a test file.

Thanks for reporting !

5.1 support

I get an email from schmidtler ... ->
t-online.de
asking id AlsaPlayer support 5.1 flac files with the jack output.

For what I remember, AP doesn't support 5.1 audio at all. It would be great if support for such files can be added in some future release.

Dominique

Audio-Files that contain "mod." or "xm." (case-insensitive) in their name are treated as mikmod-modules!

Coincidentally we named an audio file _...mod.mp3. When we tried to play that file, alsaplayer refused to do so emmiting an
error loading module: file:///...._mod.mp3

I looked through the code and found this in input/mikmod/mikmod_engine.c (around line 81):

        if (strstr(name, "MOD.") ||
            strstr(name, "mod.") ||
            strstr(name, "xm.") ||
            strstr(name, "XM.")) {
                return 1.0;
        }

So any file containing mod. or xm. in its name is treated as libmikmod-module. I think this check should be done better (but do not have a solution).

Crashes on some files

When I try to play some files with version 0.99.81, I get a crash:

$ alsaplayer ct-304.WAV_00m_00s__00m_01s.mp3 
Audio File Library: 'ct-304.WAV_00m_00s__00m_01s.mp3': unrecognized audio file format [error 0]
Audio File Library: null file handle [error 1]
*** Error in `alsaplayer': double free or corruption (top): 0x00000000008f1e50 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x72a1b)[0x7fce99d9aa1b]
/lib64/libc.so.6(+0x7825d)[0x7fce99da025d]
/lib64/libc.so.6(+0x78aab)[0x7fce99da0aab]
/usr/lib64/alsaplayer/input/libaf.so(audiofile_close+0x23)[0x7fce976c6503]
alsaplayer(_ZN10CorePlayer4OpenEPKc+0x11f)[0x410dff]
alsaplayer(_Z11info_looperP8Playlist+0x203)[0x415243]
alsaplayer(_Z13insert_looperPv+0x273)[0x415633]
alsaplayer(main+0x12bb)[0x40effb]
/lib64/libc.so.6(__libc_start_main+0xf0)[0x7fce99d487d0]
alsaplayer[0x40a729]
======= Memory map: ========
00400000-0042c000 r-xp 00000000 08:01 156379519                          /usr/bin/alsaplayer
0062b000-0062c000 r--p 0002b000 08:01 156379519                          /usr/bin/alsaplayer
0062c000-0062d000 rw-p 0002c000 08:01 156379519                          /usr/bin/alsaplayer
0062d000-008f2000 rw-p 00000000 00:00 0                                  [heap]
7fce95c00000-7fce95c01000 ---p 00000000 00:00 0 
7fce95c01000-7fce96401000 rw-p 00000000 00:00 0                          [stack:12017]
7fce96401000-7fce96403000 r-xp 00000000 08:01 169478706                  /usr/lib64/alsaplayer/input/libwav.so
7fce96403000-7fce96602000 ---p 00002000 08:01 169478706                  /usr/lib64/alsaplayer/input/libwav.so
7fce96602000-7fce96603000 r--p 00001000 08:01 169478706                  /usr/lib64/alsaplayer/input/libwav.so
7fce96603000-7fce96604000 rw-p 00002000 08:01 169478706                  /usr/lib64/alsaplayer/input/libwav.so
7fce96604000-7fce9673f000 r-xp 00000000 08:01 48496978                   /usr/lib64/libglib-2.0.so.0.4600.2
7fce9673f000-7fce9693e000 ---p 0013b000 08:01 48496978                   /usr/lib64/libglib-2.0.so.0.4600.2
7fce9693e000-7fce9693f000 r--p 0013a000 08:01 48496978                   /usr/lib64/libglib-2.0.so.0.4600.2
7fce9693f000-7fce96940000 rw-p 0013b000 08:01 48496978                   /usr/lib64/libglib-2.0.so.0.4600.2
7fce96940000-7fce96941000 rw-p 00000000 00:00 0 
7fce96941000-7fce96960000 r-xp 00000000 08:01 128057601                  /usr/lib64/libmad.so.0.2.1
7fce96960000-7fce96b5f000 ---p 0001f000 08:01 128057601                  /usr/lib64/libmad.so.0.2.1
7fce96b5f000-7fce96b60000 r--p 0001e000 08:01 128057601                  /usr/lib64/libmad.so.0.2.1
7fce96b60000-7fce96b61000 rw-p 0001f000 08:01 128057601                  /usr/lib64/libmad.so.0.2.1
7fce96b61000-7fce96b67000 r-xp 00000000 08:01 169478708                  /usr/lib64/alsaplayer/input/libmad_in.so
7fce96b67000-7fce96d66000 ---p 00006000 08:01 169478708                  /usr/lib64/alsaplayer/input/libmad_in.so
7fce96d66000-7fce96d67000 r--p 00005000 08:01 169478708                  /usr/lib64/alsaplayer/input/libmad_in.so
7fce96d67000-7fce96d68000 rw-p 00006000 08:01 169478708                  /usr/lib64/alsaplayer/input/libmad_in.so
7fce96d68000-7fce96df5000 r-xp 00000000 08:01 127796495                  /usr/lib64/libvorbisenc.so.2.0.10
7fce96df5000-7fce96ff4000 ---p 0008d000 08:01 127796495                  /usr/lib64/libvorbisenc.so.2.0.10
7fce96ff4000-7fce97010000 r--p 0008c000 08:01 127796495                  /usr/lib64/libvorbisenc.so.2.0.10
7fce97010000-7fce97011000 rw-p 000a8000 08:01 127796495                  /usr/lib64/libvorbisenc.so.2.0.10
7fce97011000-7fce97084000 r-xp 00000000 08:01 122293791                  /usr/lib64/libsndfile.so.1.0.26
7fce97084000-7fce97284000 ---p 00073000 08:01 122293791                  /usr/lib64/libsndfile.so.1.0.26
7fce97284000-7fce97286000 r--p 00073000 08:01 122293791                  /usr/lib64/libsndfile.so.1.0.26
7fce97286000-7fce97287000 rw-p 00075000 08:01 122293791                  /usr/lib64/libsndfile.so.1.0.26
7fce97287000-7fce97289000 rw-p 00000000 00:00 0 
7fce97289000-7fce9728b000 r-xp 00000000 08:01 169478705                  /usr/lib64/alsaplayer/input/libsndfile_in.so
7fce9728b000-7fce9748a000 ---p 00002000 08:01 169478705                  /usr/lib64/alsaplayer/input/libsndfile_in.so
7fce9748a000-7fce9748b000 r--p 00001000 08:01 169478705                  /usr/lib64/alsaplayer/input/libsndfile_in.so
7fce9748b000-7fce9748c000 rw-p 00002000 08:01 169478705                  /usr/lib64/alsaplayer/input/libsndfile_in.so
7fce9748c000-7fce974c2000 r-xp 00000000 08:01 128058042                  /usr/lib64/libaudiofile.so.1.0.0
7fce974c2000-7fce976c2000 ---p 00036000 08:01 128058042                  /usr/lib64/libaudiofile.so.1.0.0
7fce976c2000-7fce976c4000 r--p 00036000 08:01 128058042                  /usr/lib64/libaudiofile.so.1.0.0
7fce976c4000-7fce976c5000 rw-p 00038000 08:01 128058042                  /usr/lib64/libaudiofile.so.1.0.0
7fce976c5000-7fce976c7000 r-xp 00000000 08:01 169478709                  /usr/lib64/alsaplayer/input/libaf.so
7fce976c7000-7fce978c6000 ---p 00002000 08:01 169478709                  /usr/lib64/alsaplayer/input/libaf.so
7fce978c6000-7fce978c7000 r--p 00001000 08:01 169478709                  /usr/lib64/alsaplayer/input/libaf.so
7fce978c7000-7fce978c8000 rw-p 00002000 08:01 169478709                  /usr/lib64/alsaplayer/input/libaf.so
7fce978c8000-7fce978fc000 r-xp 00000000 08:01 128060184                  /usr/lib64/libFLAC.so.8.3.0
7fce978fc000-7fce97afc000 ---p 00034000 08:01 128060184                  /usr/lib64/libFLAC.so.8.3.0
7fce97afc000-7fce97afd000 r--p 00034000 08:01 128060184                  /usr/lib64/libFLAC.so.8.3.0
7fce97afd000-7fce97afe000 rw-p 00035000 08:01 128060184                  /usr/lib64/libFLAC.so.8.3.0
7fce97afe000-7fce97b08000 r-xp 00000000 08:01 169478711                  /usr/lib64/alsaplayer/input/libflac_in.so
7fce97b08000-7fce97d07000 ---p 0000a000 08:01 169478711                  /usr/lib64/alsaplayer/input/libflac_in.so
7fce97d07000-7fce97d08000 r--p 00009000 08:01 169478711                  /usr/lib64/alsaplayer/input/libflac_in.so
7fce97d08000-7fce97d09000 rw-p 0000a000 08:01 169478711                  /usr/lib64/alsaplayer/input/libflac_in.so
7fce97d09000-7fce97d0f000 r-xp 00000000 08:01 169478707                  /usr/lib64/alsaplayer/input/libcdda.so
7fce97d0f000-7fce97f0e000 ---p 00006000 08:01 169478707                  /usr/lib64/alsaplayer/input/libcdda.so
7fce97f0e000-7fce97f0f000 r--p 00005000 08:01 169478707                  /usr/lib64/alsaplayer/input/libcdda.so
7fce97f0f000-7fce97f10000 rw-p 00006000 08:01 169478707                  /usr/lib64/alsaplayer/input/libcdda.so
7fce97f10000-7fce97f16000 r-xp 00000000 08:01 127795615                  /usr/lib64/libogg.so.0.8.1
7fce97f16000-7fce98115000 ---p 00006000 08:01 127795615                  /usr/lib64/libogg.so.0.8.1
7fce98115000-7fce98116000 r--p 00005000 08:01 127795615                  /usr/lib64/libogg.so.0.8.1
7fce98116000-7fce98117000 rw-p 00006000 08:01 127795615                  /usr/lib64/libogg.so.0.8.1
7fce98117000-7fce9811f000 r-xp 00000000 08:01 127797096                  /usr/lib64/libvorbisfile.so.3.3.6
7fce9811f000-7fce9831e000 ---p 00008000 08:01 127797096                  /usr/lib64/libvorbisfile.so.3.3.6
7fce9831e000-7fce9831f000 r--p 00007000 08:01 127797096                  /usr/lib64/libvorbisfile.so.3.3.6
7fce9831f000-7fce98320000 rw-p 00008000 08:01 127797096                  /usr/lib64/libvorbisfile.so.3.3.6
7fce98320000-7fce9834d000 r-xp 00000000 08:01 127796255                  /usr/lib64/libvorbis.so.0.4.7
7fce9834d000-7fce9854c000 ---p 0002d000 08:01 127796255                  /usr/lib64/libvorbis.so.0.4.7
7fce9854c000-7fce9854d000 r--p 0002c000 08:01 127796255                  /usr/lib64/libvorbis.so.0.4.7
7fce9854d000-7fce9854e000 rw-p 0002d000 08:01 127796255                  /usr/lib64/libvorbis.so.0.4.7
7fce9854e000-7fce98551000 r-xp 00000000 08:01 169478710                  /usr/lib64/alsaplayer/input/libvorbis_in.so
7fce98551000-7fce98750000 ---p 00003000 08:01 169478710                  /usr/lib64/alsaplayer/input/libvorbis_in.so
7fce98750000-7fce98751000 r--p 00002000 08:01 169478710                  /usr/lib64/alsaplayer/input/libvorbis_in.so
7fce98751000-7fce98752000 rw-p 00003000 08:01 169478710                  /usr/lib64/alsaplayer/input/libvorbis_in.so
7fce98752000-7fce98756000 r-xp 00000000 08:01 169478694                  /usr/lib64/alsaplayer/reader/libhttp.so
7fce98756000-7fce98955000 ---p 00004000 08:01 169478694                  /usr/lib64/alsaplayer/reader/libhttp.so
7fce98955000-7fce98956000 r--p 00003000 08:01 169478694                  /usr/lib64/alsaplayer/reader/libhttp.so
7fce98956000-7fce98957000 rw-p 00004000 08:01 169478694                  /usr/lib64/alsaplayer/reader/libhttp.so
7fce98957000-7fce98959000 r-xp 00000000 08:01 169478693                  /usr/lib64/alsaplayer/reader/libfile.so
7fce98959000-7fce98b58000 ---p 00002000 08:01 169478693                  /usr/lib64/alsaplayer/reader/libfile.so
7fce98b58000-7fce98b59000 r--p 00001000 08:01 169478693                  /usr/lib64/alsaplayer/reader/libfile.so
7fce98b59000-7fce98b5a000 rw-p 00002000 08:01 169478693                  /usr/lib64/alsaplayer/reader/libfile.so
7fce98b5a000-7fce98b60000 r-xp 00000000 08:01 50609907                   /lib64/librt-2.21.so
7fce98b60000-7fce98d60000 ---p 00006000 08:01 50609907                   /lib64/librt-2.21.so
7fce98d60000-7fce98d61000 r--p 00006000 08:01 50609907                   /lib64/librt-2.21.so
7fce98d61000-7fce98d62000 rw-p 00007000 08:01 50609907                   /lib64/librt-2.21.so
7fce98d62000-7fce98e2b000 r-xp 00000000 08:01 128463942                  /usr/lib64/libasound.so.2.0.0
7fce98e2b000-7fce9902b000 ---p 000c9000 08:01 128463942                  /usr/lib64/libasound.so.2.0.0
7fce9902b000-7fce99031000 r--p 000c9000 08:01 128463942                  /usr/lib64/libasound.so.2.0.0
7fce99031000-7fce99033000 rw-p 000cf000 08:01 128463942                  /usr/lib64/libasound.so.2.0.0
7fce99033000-7fce99035000 r-xp 00000000 08:01 169478696                  /usr/lib64/alsaplayer/output/libalsa_out.so
7fce99035000-7fce99234000 ---p 00002000 08:01 169478696                  /usr/lib64/alsaplayer/output/libalsa_out.so
7fce99234000-7fce99235000 r--p 00001000 08:01 169478696                  /usr/lib64/alsaplayer/output/libalsa_out.so
7fce99235000-7fce99236000 rw-p 00002000 08:01 169478696                  /usr/lib64/alsaplayer/output/libalsa_out.so
7fce99236000-7fce99241000 r-xp 00000000 08:01 50609927                   /lib64/libnss_files-2.21.so
7fce99241000-7fce99440000 ---p 0000b000 08:01 50609927                   /lib64/libnss_files-2.21.so
7fce99440000-7fce99441000 r--p 0000a000 08:01 50609927                   /lib64/libnss_files-2.21.so
7fce99441000-7fce99442000 rw-p 0000b000 08:01 50609927                   /lib64/libnss_files-2.21.so
7fce99442000-7fce9944c000 r-xp 00000000 08:01 50609937                   /lib64/libnss_nis-2.21.so
7fce9944c000-7fce9964c000 ---p 0000a000 08:01 50609937                   /lib64/libnss_nis-2.21.so
7fce9964c000-7fce9964d000 r--p 0000a000 08:01 50609937                   /lib64/libnss_nis-2.21.so
7fce9964d000-7fce9964e000 rw-p 0000b000 08:01 50609937                   /lib64/libnss_nis-2.21.so
7fce9964e000-7fce99663000 r-xp 00000000 08:01 50609480                   /lib64/libnsl-2.21.so
7fce99663000-7fce99862000 ---p 00015000 08:01 50609480                   /lib64/libnsl-2.21.so
7fce99862000-7fce99863000 r--p 00014000 08:01 50609480                   /lib64/libnsl-2.21.so
7fce99863000-7fce99864000 rw-p 00015000 08:01 50609480                   /lib64/libnsl-2.21.so
7fce99864000-7fce99866000 rw-p 00000000 00:00 0 
7fce99866000-7fce9986d000 r-xp 00000000 08:01 50609939                   /lib64/libnss_compat-2.21.so
7fce9986d000-7fce99a6c000 ---p 00007000 08:01 50609939                   /lib64/libnss_compat-2.21.so
7fce99a6c000-7fce99a6d000 r--p 00006000 08:01 50609939                   /lib64/libnss_compat-2.21.so
7fce99a6d000-7fce99a6e000 rw-p 00007000 08:01 50609939                   /lib64/libnss_compat-2.21.so
7fce99a6e000-7fce99d28000 r--p 00000000 08:01 169738378                  /usr/lib64/locale/locale-archive
7fce99d28000-7fce99ebe000 r-xp 00000000 08:01 50609950                   /lib64/libc-2.21.so
7fce99ebe000-7fce9a0bd000 ---p 00196000 08:01 50609950                   /lib64/libc-2.21.so
7fce9a0bd000-7fce9a0c1000 r--p 00195000 08:01 50609950                   /lib64/libc-2.21.so
7fce9a0c1000-7fce9a0c3000 rw-p 00199000 08:01 50609950                   /lib64/libc-2.21.so
7fce9a0c3000-7fce9a0c7000 rw-p 00000000 00:00 0 
7fce9a0c7000-7fce9a0dd000 r-xp 00000000 08:01 57813096                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1
7fce9a0dd000-7fce9a2dc000 ---p 00016000 08:01 57813096                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1
7fce9a2dc000-7fce9a2dd000 r--p 00015000 08:01 57813096                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1
7fce9a2dd000-7fce9a2de000 rw-p 00016000 08:01 57813096                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1
7fce9a2de000-7fce9a3e1000 r-xp 00000000 08:01 50609047                   /lib64/libm-2.21.so
7fce9a3e1000-7fce9a5e0000 ---p 00103000 08:01 50609047                   /lib64/libm-2.21.so
7fce9a5e0000-7fce9a5e1000 r--p 00102000 08:01 50609047                   /lib64/libm-2.21.so
7fce9a5e1000-7fce9a5e2000 rw-p 00103000 08:01 50609047                   /lib64/libm-2.21.so
7fce9a5e2000-7fce9a6d7000 r-xp 00000000 08:01 57808102                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6.0.20
7fce9a6d7000-7fce9a8d7000 ---p 000f5000 08:01 57808102                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6.0.20
7fce9a8d7000-7fce9a8df000 r--p 000f5000 08:01 57808102                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6.0.20
7fce9a8df000-7fce9a8e1000 rw-p 000fd000 08:01 57808102                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6.0.20
7fce9a8e1000-7fce9a8f6000 rw-p 00000000 00:00 0 
7fce9a8f6000-7fce9a8f8000 r-xp 00000000 08:01 50609893                   /lib64/libdl-2.21.so
7fce9a8f8000-7fce9aaf8000 ---p 00002000 08:01 50609893                   /lib64/libdl-2.21.so
7fce9aaf8000-7fce9aaf9000 r--p 00002000 08:01 50609893                   /lib64/libdl-2.21.so
7fce9aaf9000-7fce9aafa000 rw-p 00003000 08:01 50609893                   /lib64/libdl-2.21.so
7fce9aafa000-7fce9ab11000 r-xp 00000000 08:01 50609912                   /lib64/libpthread-2.21.so
7fce9ab11000-7fce9ad10000 ---p 00017000 08:01 50609912                   /lib64/libpthread-2.21.so
7fce9ad10000-7fce9ad11000 r--p 00016000 08:01 50609912                   /lib64/libpthread-2.21.so
7fce9ad11000-7fce9ad12000 rw-p 00017000 08:01 50609912                   /lib64/libpthread-2.21.so
7fce9ad12000-7fce9ad16000 rw-p 00000000 00:00 0 
7fce9ad16000-7fce9ad38000 r-xp 00000000 08:01 50609574                   /lib64/ld-2.21.so
7fce9ae8c000-7fce9aef5000 rw-p 00000000 00:00 0 
7fce9af12000-7fce9af13000 rw-p 00000000 00:00 0 
7fce9af13000-7fce9af23000 rw-s 00000000 00:05 231342110                  /SYSV0056a4d6 (deleted)
7fce9af23000-7fce9af33000 rw-s 00000000 00:06 3163                       /dev/snd/pcmC0D0p
7fce9af33000-7fce9af34000 rw-s 81000000 00:06 3163                       /dev/snd/pcmC0D0p
7fce9af34000-7fce9af35000 r--s 80000000 00:06 3163                       /dev/snd/pcmC0D0p
7fce9af35000-7fce9af36000 rw-s 00000000 00:05 231407645                  /SYSV0056a4d5 (deleted)
7fce9af36000-7fce9af37000 rw-p 00000000 00:00 0 
7fce9af37000-7fce9af38000 r--p 00021000 08:01 50609574                   /lib64/ld-2.21.so
7fce9af38000-7fce9af39000 rw-p 00022000 08:01 50609574                   /lib64/ld-2.21.so
7fce9af39000-7fce9af3a000 rw-p 00000000 00:00 0 
7fffabed9000-7fffabefb000 rw-p 00000000 00:00 0                          [stack]
7fffabfca000-7fffabfcc000 r--p 00000000 00:00 0                          [vvar]
7fffabfcc000-7fffabfce000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
alsaplayer interrupted by signal 6

Can't test on the latest version — when I build it with sh autogen.sh && ./configure && make , the binary I get doesn't work:

$ ./alsaplayer
./alsaplayer: symbol lookup error: ./alsaplayer: undefined symbol: ap_strlcpy

MADplayer also crashes on this file, but it does so after playing it, not before.

OS: Gentoo Linux on AMD64.

I'm having trouble attaching the problematic MP3 file, so here's a link to Gentoo Bugzilla: https://bugs.gentoo.org/attachment.cgi?id=429802

seek doesn't work well

When alsaplayer is running, to send

alsaplayer --seek 10

must jump the playing to 10 seconds after the song beginning.
With the current git master, it jump to 20 sec. And to 80 sec with
--seek 40.

alsaplayer --relative 10

must jump 10 secondes after the current position, and

alsaplayer --relative -10

must jump 10 seconds before the current position.
Both jump always positively (after the current position), and by a
variable amount of time which depend of the actual position in the song.

I checked different commit versions of the repo, it was introduced by
the commit 4d2e0ec of the 2011-03-12.

Build of master head fails with --no-undefined: multiple undefined references from interface/gtk2

I'm trying to build alsaplayer from git master head for Rosa Linux 2014.1 x86_64.
Among various things, our build system always passes "--no-undefined" to the linker... and this kills the build of libgtk2_interface.la at the link stage (see attached build log).
AFAICT there are at least 3 "similar" (i.e. involving under-linking) issues:

  • the Makefile for interface/gtk2 needs to explicitly add a "-ldl" to the libraries needed to build libgtk2_interface;
  • next, somehow the build of libgtk2_interface does not link to the already built libalsaplayer.la, so the linker fails to find symbols: e.g. "ap_strlcpy";
  • finally, the build searches (and does not find them) for a lot of symbols coming from the app module
    (Playlist::, AlsaSubscriber::, CorePlayer::* and more...), but this one is not yet built at the time the linker searches for it: so another bunch of undefined references... For this one I tried to manually change the build order, by placing both app and alsaplayer modules after libalsaplayer and before the interface one in both the Makefile.am and configure.ac files, but the build still failed with the same errors as before, so I guess there is also an under-linking problem on top of the wrong build order...

BuildFailed.txt

Alsaplayer Loop Delay

First at all thank you for the great player! It has all functionality I might dream of.
However, I got a small issue I don’t know how to solve. I need to play a sound file in a loop. When I run alsaplayer with -S option it plays in a loop but with delay between each new cycle. The delay is about 0.5s and it is noticeable. Do you know how can I get rid of the delay?

I’ve tried it on ubuntu and raspbian OS.

-I option not useful?

What is the purpose of the -I option? i tried to search in the source code and found only two references to global_interface_script, which could be probably used but by who? And for what? No references on the man page, except for a short string, can be found. It probably requires a bit of documentation.

Sharing alsaplayer session from multiple bash

It seems that if I spawn an alsaplayer daemon like so
alsaplayer -i daemon -s 0

and than open a new SSH shell:
alsaplayer -E song.ogg -n 0

It does not play and doesn't return any error (neither with --verbose)
Any ideas?

Website URL problems (new URL)

Is this the place to report troubles with alsaplayer.org website? It seems to have been taken over by some online casino advertisers. No malware, at least.

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.