Opened 5 months ago

Closed 5 months ago

#7233 closed defect (invalid)

Problem with decoding gta3 sound assets in c++ lang

Reported by: shfil Owned by:
Priority: normal Component: avcodec
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug: ffmpeg 4.0 broke mp3 compatibility with openAL buffers(AV_SAMPLE_FMT_S16P)
How to reproduce: download latest version of openRW(requires gta3 assets), after starting new game there's no sound in cutscenes (mp3 stereo example: BET.mp3)

I think it's caused by switching from decoder mp3 to mp3float.

I was trying to use workaround - libswresampler. Mp3 started working, but then started happen problems with mono wav(pcm). FFmpeg doesn't recognized channel_layout and crashes. To fix it I've set it manually every time when nr channels is equal one. But then when playing these sounds it possible to hear cracking/ticking. I would say artifacts.

(there's also 80MB file with short pcm sounds, with resampling sounds are distorted and audible everywhere(in binaural mode))

code:
https://gist.github.com/ShFil119/ebd0cf30632c89aa393913b1abf52594

pull on which I work:
https://github.com/rwengine/openrw/pull/420/files

manually trying to decode:
https://gist.github.com/ShFil119/affd3afdaa737063dba5fd115277a720

ffmpeg version 4.0
built on arch linux

Change History (1)

comment:1 Changed 5 months ago by cehoyos

  • Resolution set to invalid
  • Status changed from new to closed

Neither sample format for a given decoder nor the default decoder for a given format is part of the api. The second would not be possible, the first is simply a fact, both pixel format and sample format have changed in the past.

Note: See TracTickets for help on using tickets.