}
-
-
-
-
-OMX_ERRORTYPE AudioOMX::EmptyBufferDone_OMX(OMX_IN OMX_HANDLETYPE hcomp,OMX_IN OMX_PTR appdata,OMX_IN OMX_BUFFERHEADERTYPE* buffer){
-
- //Log::getInstance()->log("Audio", Log::NOTICE, "EmptyBufferDone");
- AudioOMX* audio = static_cast<AudioOMX*>(getInstance());
- audio->ReturnEmptyOMXBuffer(buffer);
- return OMX_ErrorNone;
+OMX_ERRORTYPE AudioOMX::EmptyBufferDone_OMX(OMX_IN OMX_HANDLETYPE /* hcomp */, OMX_IN OMX_PTR /* appdata */, OMX_IN OMX_BUFFERHEADERTYPE* buffer)
+{
+ //Log::getInstance()->log("Audio", Log::NOTICE, "EmptyBufferDone");
+ AudioOMX* audio = static_cast<AudioOMX*>(getInstance());
+ audio->ReturnEmptyOMXBuffer(buffer);
+ return OMX_ErrorNone;
}
-void AudioOMX::ReturnEmptyOMXBuffer(OMX_BUFFERHEADERTYPE* buffer){
- input_bufs_omx_mutex.lock();
- //Log::getInstance()->log("Audio", Log::NOTICE, "ReturnEmptyOMXBuffer %d",input_bufs_omx_free.size());
- input_bufs_omx_free.push_back(buffer);
- //Log::getInstance()->log("Audio", Log::NOTICE, "ReturnEmptyOMXBuffer %d",input_bufs_omx_free.size());
- input_bufs_omx_mutex.unlock();
- VideoOMX* video = static_cast<VideoOMX*>(Video::getInstance());
- video->signalOmx();
+void AudioOMX::ReturnEmptyOMXBuffer(OMX_BUFFERHEADERTYPE* buffer)
+{
+ input_bufs_omx_mutex.lock();
+ //Log::getInstance()->log("Audio", Log::NOTICE, "ReturnEmptyOMXBuffer %d",input_bufs_omx_free.size());
+ input_bufs_omx_free.push_back(buffer);
+ //Log::getInstance()->log("Audio", Log::NOTICE, "ReturnEmptyOMXBuffer %d",input_bufs_omx_free.size());
+ input_bufs_omx_mutex.unlock();
+ VideoOMX* video = static_cast<VideoOMX*>(Video::getInstance());
+ video->signalOmx();
}
- OMX_ERRORTYPE AudioOMX::FillBufferDone_OMX(OMX_IN OMX_HANDLETYPE hcomp, OMX_IN OMX_PTR appdata,OMX_IN OMX_BUFFERHEADERTYPE* buffer) {
- Log::getInstance()->log("Audio", Log::NOTICE, "FillBufferDone");
- VideoOMX* video = static_cast<VideoOMX*>(Video::getInstance());
- video->signalOmx();
- return OMX_ErrorNone;
+OMX_ERRORTYPE AudioOMX::FillBufferDone_OMX(OMX_IN OMX_HANDLETYPE /* hcomp */, OMX_IN OMX_PTR /* appdata */, OMX_IN OMX_BUFFERHEADERTYPE* /* buffer */)
+{
+ Log::getInstance()->log("Audio", Log::NOTICE, "FillBufferDone");
+ VideoOMX* video = static_cast<VideoOMX*>(Video::getInstance());
+ video->signalOmx();
+ return OMX_ErrorNone;
}
-
-
-int AudioOMX::setStreamType(UCHAR type)
+int AudioOMX::setStreamType(UCHAR /* type */)
{
if (!initted) return 0;
return 0;
}
- resam_con_libav = avresample_alloc_context();
+ resam_con_libav = swr_alloc();
if (resam_con_libav == NULL) {
Log::getInstance()->log("Audio", Log::DEBUG,
"Alloc resample context failed");
av_free(mp23codec_context_libav);
mp23codec_context_libav = NULL;
- avresample_free(&resam_con_libav);
+ swr_free(&resam_con_libav);
resam_con_libav=NULL;
}
-void AudioOMX::PrepareMediaSample(const MediaPacketList& mplist,UINT samplepos)
+void AudioOMX::PrepareMediaSample(const MediaPacketList& mplist, UINT /* samplepos */)
{
packet = mplist.front();
}
//Log::getInstance()->log("Audio", Log::ERR,"AV resampledata %d %d %d %d",current_context->channels,current_context->sample_rate,current_context->sample_fmt,current_context->channel_layout);
//Log::getInstance()->log("Audio", Log::ERR,"AV resampledata2 %d %d %d",decode_frame_libav->sample_rate,decode_frame_libav->format,decode_frame_libav->channel_layout);
- int ret=avresample_open(resam_con_libav);
+ int ret = swr_init(resam_con_libav);
if (ret<0) {
Log::getInstance()->log("Audio", Log::ERR,"Opening AV resample failed %d",ret);
} else {
uint8_t *output=cur_input_buf_omx->pBuffer + cur_input_buf_omx->nFilledLen;
-
- avresample_convert(resam_con_libav, &output,
- dsize, decode_frame_libav->nb_samples,
- decode_frame_libav->extended_data, decode_frame_libav->linesize[0], decode_frame_libav->nb_samples);
- avresample_close(resam_con_libav);
+/*
+ * old docs:
+ avresample_convert ( AVAudioResampleContext * avr,
+ uint8_t ** output,
+ int out_plane_size,
+ int out_samples,
+ uint8_t *const * input,
+ int in_plane_size,
+ int in_samples
+ )
+
+ old call:
+ avresample_convert(resam_con_libav,
+ &output, dsize, decode_frame_libav->nb_samples,
+ decode_frame_libav->extended_data, decode_frame_libav->linesize[0], decode_frame_libav->nb_samples);
+
+ new docs:
+ swr_convert ( struct SwrContext * s,
+ uint8_t ** out,
+ int out_count,
+ const uint8_t ** in,
+ int in_count
+ )
+ new call:
+ */
+ //Log::getInstance()->log("AudioOMX", Log::DEBUG, "Calling swr_convert");
+
+ swr_convert(resam_con_libav, &output, decode_frame_libav->nb_samples, (const uint8_t**)decode_frame_libav->extended_data, decode_frame_libav->nb_samples);
+
+ swr_close(resam_con_libav);
}
//Log::getInstance()->log("Audio", Log::DEBUG,"memcpy out");