you are missing a lot of muxers.
I find the reason g726 cannot be record is that Muxer cannot add the G726 stream.
the vlc uses
avi muxer defautly, and in the file
avi.c, the avi muxer not deal with VLC_CODEC_ADPCM_G726.
so i add below in avi.c, my G726 is 32bit.
Code: Select all
case VLC_CODEC_ADPCM_G726:
p_wf->wFormatTag = WAVE_FORMAT_G726;
p_wf->wBitsPerSample = 4;
p_wf->nAvgBytesPerSec = (p_wf->wBitsPerSample/8) *
p_wf->nSamplesPerSec * p_wf->nChannels;
break;
so the stream can be record now. but the avi file recorded cannot be play.
the vlc player gives the error below:
Code: Select all
VLC﹕ avi stream: <list 'AVI '>
VLC﹕ avi stream: <list 'hdrl'>
VLC﹕ avi stream: <list 'strl'>
VLC﹕ avi stream: </list 'strl'>
VLC﹕ avi stream: <list 'strl'>
VLC﹕ avi stream: </list 'strl'>
VLC﹕ avi stream: </list 'hdrl'>
VLC﹕ avi stream: skipping movi chunk
VLC﹕ avi stream: </list 'AVI '>
VLC﹕ avi stream: * LIST-root size:578568 pos:0
VLC﹕ avi stream: + RIFF-AVI size:578560 pos:0
VLC﹕ avi stream: | + LIST-hdrl size:10208 pos:12
VLC﹕ avi stream: | | + avih size:56 pos:24
VLC﹕ avi stream: | | + LIST-strl size:94 pos:88
VLC﹕ avi stream: | | | + strh size:56 pos:100
VLC﹕ avi stream: | | | + strf size:18 pos:164
VLC﹕ avi stream: | | + LIST-strl size:150 pos:190
VLC﹕ avi stream: | | | + strh size:56 pos:202
VLC﹕ avi stream: | | | + strf size:74 pos:266
VLC﹕ avi stream: | | + JUNK size:9872 pos:348
VLC﹕ avi stream: | + LIST-movi size:564996 pos:10228
VLC﹕ avi stream: | + idx1 size:3328 pos:575232
VLC﹕ avi demux: AVIH: 2 stream, flags HAS_INDEX IS_INTERLEAVED TRUST_CKTYPE
VLC﹕ avi demux: stream[0] rate:4080750 scale:1000 samplesize:1
VLC﹕ avi demux: stream[0] audio(0x45 - G.726 ADPCM Audio) 1 channels 8000Hz 4bits
VLC﹕ main input: selecting program id=0
VLC﹕ avi demux: stream[1] rate:21880 scale:1000 samplesize:0
VLC﹕ avi demux: stream[1] video(h264) 640x480 24bpp 21.879999fps
VLC﹕ avi demux: selected standard index for stream[0]
VLC﹕ avi demux: selected standard index for stream[1]
VLC﹕ avi demux: stream[0] created 30 index entries
VLC﹕ avi demux: stream[1] created 178 index entries
VLC﹕ avi demux: stream[0] length:7 (based on index)
VLC﹕ avi demux: stream[1] length:8 (based on index)
VLC﹕ main demux: using demux module "avi"
VLC﹕ main input: looking for a subtitle file in /storage/emulated/0/com.example.ares89/Video/
VLC﹕ main decoder: looking for decoder module matching "any": 31 candidates
VLC﹕ avcodec decoder: cannot open codec (G.726 ADPCM Audio)
VLC﹕ main decoder: no decoder modules matched
VLC﹕ main packetizer: looking for packetizer module matching "any": 20 candidates
VLC﹕ main packetizer: using packetizer module "packetizer_copy"
VLC﹕ main decoder: no suitable decoder module for fourcc `g726'. VLC probably does not support this sound or video format.
VLC﹕ main decoder: No suitable decoder module
VLC﹕ main decoder: VLC does not support the audio or video format "g726". Unfortunately there is no way for you to fix this.
VLC﹕ main decoder: killing decoder fourcc `g726', 0 PES in FIFO
now the problem is vlc don't have g726 decoder, what can i do now? thanks for your help!