-rw-r--r-- | audio_hw.c | 2 | ||||
-rw-r--r-- | libTVaudio/audio/DDP_media_source.cpp | 14 | ||||
-rw-r--r-- | libTVaudio/audio/DTSHD_media_source.cpp | 15 | ||||
-rw-r--r-- | libTVaudio/audio/aml_audio.c | 41 | ||||
-rw-r--r-- | libTVaudio/audio/android_out.cpp | 28 |
5 files changed, 67 insertions, 33 deletions
diff --git a/libTVaudio/audio/DTSHD_media_source.cpp b/libTVaudio/audio/DTSHD_media_source.cpp index 6945da3..f3c107c 100644 --- a/libTVaudio/audio/DTSHD_media_source.cpp +++ b/libTVaudio/audio/DTSHD_media_source.cpp @@ -124,6 +124,9 @@ Dtshd_Media_Source::Dtshd_Media_Source(void) { mCurrentTimeUs=0; bytes_readed_sum_pre=0; bytes_readed_sum=0; + + mMeta->setInt32(kKeyChannelCount, 2); + mMeta->setInt32(kKeySampleRate, 48000); } Dtshd_Media_Source::~Dtshd_Media_Source() { @@ -341,6 +344,10 @@ status_t Aml_OMX_DtsCodec::read(unsigned char *buf, unsigned *size, int *exit) { status_t status; m_OMXMediaSource->Set_Stop_ReadBuf_Flag(*exit); + if (m_codec == NULL) { + return -1; + } + if (*exit) { ALOGI("NOTE:exit flag enabled! [%s %d] \n", __FUNCTION__, __LINE__); *size = 0; @@ -375,7 +382,13 @@ status_t Aml_OMX_DtsCodec::read(unsigned char *buf, unsigned *size, int *exit) { status_t Aml_OMX_DtsCodec::start() { ALOGI("[Aml_OMX_DtsCodec::%s %d] enter!\n", __FUNCTION__, __LINE__); - status_t status = m_codec->start(); + status_t status; + if (m_codec != NULL) + status = m_codec->start(); + else + ALOGE("m_codec==NULL, m_codec->pause() start! [%s %d] \n", + __FUNCTION__, __LINE__); + if (status != OK) { ALOGE("Err:OMX client can't start OMX decoder! status=%d (0x%08x)\n", (int) status, (int) status); |