Цитата Сообщение от HoSStiA Посмотреть сообщение
По отладочным сообщениям сборки, на этапе декодирования тестовой записи с частотой дискретизации 48Mhz происходит ошибка, после которой исходным материал “прореживается” до 44100 неведомыми алгоритмами внутри одной из закрытых библиотек, хотя до этого момента FFplayer честно пытается воспроизвести аудиоматериал без изменений:
Выделил подозрительные строчки:

После прочтения съесть!

Код:
E/FFplayer(  135): setDataSource offset =0,length = 1949074
I/FFplayer(  135): setDataSource(url =file/fd::24,offset::0)
I/FFplayer(  135): setDataSource(fileurl =/mnt/internal_sd/Music/110408__sandyrb__tubular-009.wav)
E/FFplayer(  135): ffmpeg version 1-6
E/FFplayer(  135): av_probe_input_buffer:avio_read
I/FFplayer(  135): flv_probe get probe score: 0
E/FFplayer(  135): Hery, probe size = 0
E/FFplayer(  135): avformat_open_input:read_header
E/FFplayer(  135): avformat_open_input:read_header ok
E/FFplayer(  135): Hery, s->iformat->name = wav
E/FFplayer(  135): Hery, s->duration = -9223372036854775808.000000
D/FFplayer(  135): There is not appleHls need find video Info
E/FFplayer(  135): estimate_timings:0: start_time: -9223372036854.775 duration: 0.325,base_time.den=48000,base_time.num=1
E/FFplayer(  135): stream: start_time: -9223372036854.775 duration: 6.764 bitrate=2305 kb/s
E/FFplayer(  135): audio name = pcm_s24le
D/FFplayer(  135): AudioStartTime=0,VideoStartTime=-1,tmpTime=-1
D/FFplayer(  135): setDataSource:start_time set 0
E/FFplayer(  135): FILE = /mnt/internal_sd/Music/110408__sandyrb__tubular-009.wav
D/FFplayer(  135): prepareAsync:prepare
I/FFplayer(  135): prepare in
I/FFplayer(  135): prepareVideo
E/FFplayer(  135): mVideoStreamIndex is -1
I/FFplayer(  135): prepareAudio
E/FFplayer(  135): Hery, Audio stream->codec->codec_id = 65548
D/FFplayer(  135): open MediaDecoder.cfg failed,so can't config anything
D/FFplayer(  135): File not exists!
I/FFplayer(  135): prepareSubtitle
I/FFplayer(  135): prepare ok
...
D/FFplayer(  135): initAudioPlayer
I/FFplayer(  135): ******************************************
I/FFplayer(  135): 
I/RkAudioPlayer(  135): mAudioSink->open in mSampleRate = 48000 channels = 2
I/FFplayer(  135): starting main player thread:2014-1-21
I/RkAudioPlayer(  135): audio mode: 0
I/FFplayer(  135): 
I/FFplayer(  135): 
I/FFplayer(  135): ******************************************
I/FFplayer(  135): decodeMovie:mCurrentState = 8
I/AudioTrack(  135): set() streamType 3 frameCount 4458 flags 0000 channelMask 3 sampleRate 48000 format 1
D/FFplayer(  135): start ok
E/DecodeAudio(  135): mStream->codec->channels = 2  mStream->codec->sample_rate = 48000
I/FFplayer(  135): decodeMovie:BufferingPlayer 0x0
I/FFMpegThread(  135): starting thread
D/DecodeAudio(  135): prepare()
E/FFplayer(  135): Hery, FF_MediaPlayer::BufferingPlayer
D/FFplayer(  135): end of onBufferingThread
I/AudioHardwareALSA(  135): Audio exiting sandby will open audio device
E/DecodeAudio(  135): mConfig->nrChans = -1,mConfig->samplingRate = 0
E/AudioSink(  135): received unknown event type: 1 inside CallbackWrapper !
W/gralloc (  132):  Debugmem The fd=80, in vmalloc !!!! Ishwc=0
I/MediaFocusControl(  508):  AudioFocus  requestAudioFocus() from android.media.AudioManager@418ca3e0c...plugins.musicplay.l@418b9ae0
I/ActivityManager(  508): Displayed com.rockchip.mediacenter/.plugins.musicplay.MusicPlayer: +279ms
D/mali_winsys( 2423): new_window_surface returns 0x3000
W/gralloc (  132):  Debugmem The fd=43, in vmalloc !!!! Ishwc=0
V/ALSAModule(  135): SAMPLERATE:44100
D/ALSAModule(  135): open called for devices 00000800 in mode 0...
D/ALSAModule(  135): DevName: AndroidPlayback_Spdif_normal
E/ALSAModule(  135): buffersize: 3072, periodsize:1024
V/ALSAModule(  135): Set PLAYBACK PCM format to S16_LE (Signed 16 bit Little Endian)
V/ALSAModule(  135): Using 2 channels for PLAYBACK.
V/ALSAModule(  135): Set PLAYBACK sample rate to 44100 HZ
E/ALSAModule(  135): audio type flag: 0
V/ALSAModule(  135): Buffer size: 3072(frames)  period Size: 1024(frames)  periods: 3 (buffersize=periodSize*periods)
V/ALSAModule(  135): Latency: 69659   periodTime: 23219
D/ALSAModule(  135): 
D/ALSAModule(  135): DumpHandleInfo:
D/ALSAModule(  135): devices: 0xbfff
D/ALSAModule(  135): format: 0x2
D/ALSAModule(  135): channels: 2
D/ALSAModule(  135): sampleRate: 44100
D/ALSAModule(  135): latency: 69659
D/ALSAModule(  135): periodSize:1024
D/ALSAModule(  135): bufferSize:3072

Что лично мне в этом понятно:
1. Вначале какой-то MediaDecoder.cfg ищется. Сомневаюсь конечно, но может проблема его отсутствия дает сей результат?
2. На этапе декодирования и подготовки к передаче потока альсе происходит ошибка конфигурирования потока - указан нулевой семплрейт: mConfig->nrChans = -1,mConfig->samplingRate = 0. Частота при этом сбрасывается.
3. Альса принимает решение гнать поток на spdif согласно забитому в конфиге (?) дефолтному значению частоты семплирования для устройства AndroidPlayback_Spdif_normal.

Но тогда получается все должно быть наоборот - на выходе должно быть 44100 вместо по факту видимых 48000 (если креатив не обманывает), и звук в итоге должен замедлиться, а не ускорится
Или я не прав?