Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stopped playing small tracker modules (mod, s3m, xm) #8466

Closed
DangerPie opened this issue Jan 13, 2021 · 8 comments
Closed

stopped playing small tracker modules (mod, s3m, xm) #8466

DangerPie opened this issue Jan 13, 2021 · 8 comments

Comments

@DangerPie
Copy link

Important Information

Provide following Information:

  • mpv version
    mpv 0.33.0-56-g3e175dff4a
    mpv 0.32.0-796-g790647314c
    mpv 0.30.0-375-g71ddb22b39
    mpv 0.29.0-413-ga416b3f084
    mpv 0.29.0-368-g69c93b6f0e
    mpv 0.29.0-331-g4d001bb30d
    mpv 0.29.0-88-g317d3ac266

  • Windows Version
    W 7 x64

  • Source of the mpv binary
    https://sourceforge.net/projects/mpv-player-windows/files

Reproduction steps

Execute "mpv --no-config 64mania.s3m"

Expected behavior

Playing music as it does mpv 0.29.1 https://mpv.srsfckn.biz/mpv-x86_64-20181002.7z

Actual behavior

"Failed to recognize file format."

Don't plays some tracker modules, size of each one of them (except music.mo3) is 15714 bytes and smaller.

Log file

https://0x0.st/-z4C.txt

Sample files

https://0x0.st/-zJz.zip

@sfan5
Copy link
Member

sfan5 commented Jan 13, 2021

The FFmpeg inside the mpv 0.29.1 build you linked was compiled with libopenmpt and libmodplug, which handle playing of tracker music.
This has nothing to do with the mpv source or mpv itself, rather it's the Windows build of mpv you downloaded. If you want this feature ask the person who makes those.

This doesn't directly have anything to do with mpv, see #8474 (comment).

@avih
Copy link
Member

avih commented Jan 13, 2021

CC @shinchiro .

@DangerPie
Copy link
Author

The FFmpeg inside the mpv 0.29.1 build you linked was compiled with libopenmpt and libmodplug, which handle playing of tracker music.

But mpv 0.33.0-56-g3e175dff4a have libmodplug and plays bigger files (like 16612 bytes ok\MOD_JEANNOT.mod in samples archive) - are you sure it's not MPV bug?

>mpv --no-config --log-file=output.txt MOD_JEANNOT.mod 

[   0.044][v][lavf] Found 'libmodplug' at score=24 size=2048.
[   0.044][v][lavf] Found 'libmodplug' at score=24 size=4096.
[   0.044][v][lavf] Found 'libmodplug' at score=24 size=8192.
[   0.045][v][lavf] Found 'libmodplug' at score=50 size=16384.
[   0.051][v][lavf] avformat_find_stream_info() finished after 16612 bytes.

@sfan5
Copy link
Member

sfan5 commented Jan 14, 2021

Uh, right. Didn't see that.

In that case it looks like FFmpeg is failing detection for those files. If you had the binaries available you could test by running ffprobe MOD_JEANNOT.mod. If that fails with a similar error message, it'd be an issue for FFmpeg.

@DangerPie
Copy link
Author

>ffprobe.exe 64mania.s3m 

ffprobe version 4.3.1-2020-11-08-full_build-www.gyan.dev Copyright (c) 2007-2020 the FFmpeg developers
  built with gcc 10.2.0 (Rev3, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-shared --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, libopenmpt, from '64mania.s3m':
  Metadata:
    title           : 64-Mania
    encoder         : Scream Tracker 3.01
    comment         :  By Edge / Unexpected 1994
                    : 
                    :  This is the other example
                    :    song for ST 3.01 Beta
                    : 
  Duration: 00:01:00.24, bitrate: 2 kb/s
    Stream #0:0: Audio: pcm_f32le, 48000 Hz, 2 channels, flt, 3072 kb/s
> ffprobe.exe ok\MOD_JEANNOT.mod 

ffprobe version 4.3.1-2020-11-08-full_build-www.gyan.dev Copyright (c) 2007-2020 the FFmpeg developers
  built with gcc 10.2.0 (Rev3, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-shared --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, libopenmpt, from 'ok\MOD_JEANNOT.mod':
  Metadata:
    encoder         : Generic ProTracker or compatible
    comment         : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : 
                    : _   Converted with
                    : _   Perverter v1.41
                    : _   by KIWI/EFFECT
                    : 
  Duration: 00:02:02.88, bitrate: 1 kb/s
    Stream #0:0: Audio: pcm_f32le, 48000 Hz, 2 channels, flt, 3072 kb/s

@sfan5
Copy link
Member

sfan5 commented Jan 14, 2021

Works for me here regardless:

root@ubuntu:~# ffprobe 64mania.s3m 
ffprobe version N-100625-gf6477ac9f4 Copyright (c) 2007-2021 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
  configuration: --enable-libopenmpt --enable-libmodplug --disable-debug
  libavutil      56. 63.101 / 56. 63.101
  libavcodec     58.117.100 / 58.117.100
  libavformat    58. 65.101 / 58. 65.101
  libavdevice    58. 11.103 / 58. 11.103
  libavfilter     7. 95.100 /  7. 95.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
Input #0, libopenmpt, from '64mania.s3m':
  Metadata:
    title           : 64-Mania
    encoder         : Scream Tracker 3.01
    comment         :  By Edge / Unexpected 1994
                    : 
                    :  This is the other example
                    :    song for ST 3.01 Beta
                    : 
  Duration: 00:01:00.24, bitrate: 2 kb/s
    Stream #0:0: Audio: pcm_f32le, 48000 Hz, 2 channels, flt, 3072 kb/s
root@ubuntu:~# mpv | head -1
mpv 0.33.0-61-gdae9ea3fa7 Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects
root@ubuntu:~# mpv 64mania.s3m 
 (+) Audio --aid=1 (pcm_f32le 2ch 48000Hz)
File tags:
 Comment:  By Edge / Unexpected 1994

 This is the other example
   song for ST 3.01 Beta

 Title: 64-Mania
Could not open/initialize audio device -> no sound.
Audio: no audio

Exiting... (Errors when loading file)

(I don't have working audio in the container but you can see that mpv reads the file correctly.)

@shinchiro
Copy link
Contributor

shinchiro commented Jan 17, 2021

I've built ffmpeg with libopenmpt in today's mpv release. Might work or might not work

@DangerPie
Copy link
Author

Thanks, now it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants