beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.78k stars 1.82k forks source link

Error on Win8_X64 #344

Closed arogl closed 11 years ago

arogl commented 11 years ago

Hi,

When running an import with the chroma plugin enabled I get the following error:

10038, 'An operation was attempted on something that is not a socket'

fpcalc and ffmpeg installed in the path, but after the gstreamer.

Complete log below:

C:>beet -v import "f:\New_Music\p\" data directory: C:\Users\Andrew\AppData\Roaming\beets library database: C:\Users\Andrew\AppData\Roaming\beets\library.db library directory: F:\Music Sending event: import_task_start Traceback (most recent call last): File "C:\Python27\Scripts\beet-script.py", line 9, in load_entry_point('beets==1.2.2', 'console_scripts', 'beet')() File "C:\Python27\lib\site-packages\beets-1.2.2-py2.7.egg\beets\uiinit.py", line 776, in main _raw_main(args) File "C:\Python27\lib\site-packages\beets-1.2.2-py2.7.egg\beets\uiinit.py", line 768, in _raw_main subcommand.func(lib, suboptions, subargs) File "C:\Python27\lib\site-packages\beets-1.2.2-py2.7.egg\beets\ui\commands.py", line 845, in import_func import_files(lib, paths, query) File "C:\Python27\lib\site-packages\beets-1.2.2-py2.7.egg\beets\ui\commands.py", line 783, in import_files session.run() File "C:\Python27\lib\site-packages\beets-1.2.2-py2.7.egg\beets\importer.py", line 339, in run pl.run_sequential() File "C:\Python27\lib\site-packages\beets-1.2.2-py2.7.egg\beets\util\pipeline.py", line 330, in run_sequential out = coro.send(msg) File "C:\Python27\lib\site-packages\beets-1.2.2-py2.7.egg\beets\importer.py", line 642, in initial_lookup plugins.send('import_task_start', session=session, task=task) File "C:\Python27\lib\site-packages\beets-1.2.2-py2.7.egg\beets\plugins.py", line 372, in send handler(**arguments) File "C:\Python27\lib\site-packages\beets-1.2.2-py2.7.egg\beetsplug\chroma.py", line 179, in fingerprint_task acoustid_match(item.path) File "C:\Python27\lib\site-packages\beets-1.2.2-py2.7.egg\beetsplug\chroma.py", line 54, in acoustid_match duration, fp = acoustid.fingerprint_file(util.syspath(path)) File "C:\Python27\lib\site-packages\acoustid.py", line 309, in fingerprint_file return _fingerprint_file_audioread(path, maxlength) File "C:\Python27\lib\site-packages\acoustid.py", line 254, in _fingerprint_file_audioread fp = fingerprint(f.samplerate, f.channels, iter(f), maxlength) File "C:\Python27\lib\site-packages\acoustid.py", line 198, in fingerprint for block in pcmiter: File "C:\Python27\lib\site-packages\audioread\ffdec.py", line 89, in read_data timeout) select.error: (10038, 'An operation was attempted on something that is not a socket')

C:>path PATH= C:\Python27 C:\Python27\Scripts C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common C:\Program Files (x86)\ActiveState Komodo Edit 8\ C:\Program Files (x86)\Intel\iCLS Client\ C:\Program Files\Intel\iCLS Client\ C:\windows\system32 C:\windows;C:\windows\System32\Wbem C:\windows\System32\WindowsPowerShell\v1.0\ C:\Program Files\Intel\Intel(R) Management Engine Components\DAL C:\ProgramFiles\Intel\Intel(R) Management Engine Components\IPT C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86 C:\Program Files(x86)\Intel\OpenCL SDK\2.0\bin\x64 E:\gstreamer\1.0\x86_64\bin C:\agrbin D:\win_prog\sysinternals

C:>ffmpeg -V ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers built on Mar 28 2013 00:28:48 with gcc 4.8.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 18.100 / 52. 18.100 libavcodec 54. 92.100 / 54. 92.100 libavformat 54. 63.104 / 54. 63.104 libavdevice 54. 3.103 / 54. 3.103 libavfilter 3. 42.103 / 3. 42.103 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100

I get the following error when running aidmatch.py

aidmatch.py "f:\New_Music\p\mytestmp3.mp3" Traceback (most recent call last): File "E:\aidmatch.py", line 50, in aidmatch(sys.argv[1]) File "E:\aidmatch.py", line 28, in aidmatch results = acoustid.match(API_KEY, filename) File "C:\Python27\lib\site-packages\acoustid.py", line 319, in match duration, fp = fingerprint_file(path) File "C:\Python27\lib\site-packages\acoustid.py", line 309, in fingerprint_file return _fingerprint_file_audioread(path, maxlength) File "C:\Python27\lib\site-packages\acoustid.py", line 254, in _fingerprint_file_audioread fp = fingerprint(f.samplerate, f.channels, iter(f), maxlength) File "C:\Python27\lib\site-packages\acoustid.py", line 198, in fingerprint for block in pcmiter: File "C:\Python27\lib\site-packages\audioread\ffdec.py", line 89, in read_data timeout) select.error: (10038, 'An operation was attempted on something that is not a socket')

This all worked on a Win7_X64 environment with the same setup.

Searching the web, the error has to do with multiple winsock providers, but all I have is Microsoft and Apple Bonjour installed in the winsock providers.

Anything else I can provide to help debug?

Andrew.

sampsyo commented 11 years ago

Thanks for reporting this. It looks like the FFmpeg backend to audioread is broken on Windows due to a Unix-specific use of select. I've opened sampsyo/audioread#8 to track that. In the mean time, to get the chroma plugin to work on your system, you can try avoiding using the FFmpeg backend by removing it from your %PATH% (although I know that's not the greatest workaround).

arogl commented 11 years ago

Adrian, By removing ffmpeg from the path, I now get:

fingerprinting of "f:\New_Music\p\mynewmucifile.mp3" failed: audio could not be decoded

Verifying the integrity of the mp3 file shows no errors.

Am I missing something?

Happy to beta test if need be.

Thanks Andrew.

sampsyo commented 11 years ago

That suggests that GStreamer (if you still have it installed) doesn't have the plugins necessary to decode the file. You can either add the plugin packages or disable/uninstall GStreamer to force beets to use the fpcalc binary, which is typically more convenient on Windows.