void PageOutput::LoadProfileSettings(QSettings* settings) { // choose default container and codecs enum_container default_container = (enum_container) 0; for(unsigned int i = 0; i < VIDEO_CODEC_COUNT; ++i) { if(AVFormatIsInstalled(m_containers[i].avname)) { default_container = (enum_container) i; break; } } enum_video_codec default_video_codec = (enum_video_codec) 0; for(unsigned int i = 0; i < VIDEO_CODEC_COUNT; ++i) { if(AVCodecIsInstalled(m_video_codecs[i].avname) && m_containers[default_container].supported_video_codecs.count((enum_video_codec) i)) { default_video_codec = (enum_video_codec) i; break; } } enum_audio_codec default_audio_codec = (enum_audio_codec) 0; for(unsigned int i = 0; i < AUDIO_CODEC_COUNT; ++i) { if(AVCodecIsInstalled(m_audio_codecs[i].avname) && m_containers[default_container].supported_audio_codecs.count((enum_audio_codec) i)) { default_audio_codec = (enum_audio_codec) i; break; } } // load settings SetFile(settings->value("output/file", "").toString()); SetSeparateFiles(settings->value("output/separate_files", false).toBool()); SetContainer(FindContainer(settings->value("output/container", QString()).toString(), default_container)); SetContainerAV(FindContainerAV(settings->value("output/container_av", QString()).toString())); SetVideoCodec(FindVideoCodec(settings->value("output/video_codec", QString()).toString(), default_video_codec)); SetVideoCodecAV(FindVideoCodecAV(settings->value("output/video_codec_av", QString()).toString())); SetVideoKBitRate(settings->value("output/video_kbit_rate", 5000).toUInt()); SetH264CRF(settings->value("output/video_h264_crf", 23).toUInt()); SetH264Preset((enum_h264_preset) settings->value("output/video_h264_preset", H264_PRESET_SUPERFAST).toUInt()); SetVP8CPUUsed(settings->value("output/video_vp8_cpu_used", 5).toUInt()); SetVideoOptions(settings->value("output/video_options", "").toString()); SetVideoAllowFrameSkipping(settings->value("output/video_allow_frame_skipping", true).toBool()); SetAudioCodec(FindAudioCodec(settings->value("output/audio_codec", QString()).toString(), default_audio_codec)); SetAudioCodecAV(FindAudioCodecAV(settings->value("output/audio_codec_av", QString()).toString())); SetAudioKBitRate(settings->value("output/audio_kbit_rate", 128).toUInt()); SetAudioOptions(settings->value("output/audio_options", "").toString()); // update things OnUpdateContainerFields(); OnUpdateVideoCodecFields(); OnUpdateAudioCodecFields(); }
OMX_BOOL AudioDecoder::AudioDecSetConext(sh_audio_t *sh){ if(shContext) { memcpy(shContext,sh,sizeof(sh_audio_t)); if(shContext->format == 0) shContext->format = shContext->wf->wFormatTag; if(shContext->format != 0) { if(shContext->format == 0) shContext->format = shContext->wf->wFormatTag; if(shContext->format != 0) { parse_codec_cfg(NULL); if(FindAudioCodec(shContext)) { sh->i_bps=shContext->i_bps; return OMX_TRUE; }else{ ALOGE("Error: No AudioCodec found!!!"); return OMX_FALSE; } }else { ALOGE("Error: sh format is 0!!!"); return OMX_FALSE; } } } return OMX_FALSE; }