summaryrefslogtreecommitdiffstats
path: root/libvideoeditor/lvpp/DummyAudioSource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libvideoeditor/lvpp/DummyAudioSource.cpp')
-rwxr-xr-xlibvideoeditor/lvpp/DummyAudioSource.cpp154
1 files changed, 61 insertions, 93 deletions
diff --git a/libvideoeditor/lvpp/DummyAudioSource.cpp b/libvideoeditor/lvpp/DummyAudioSource.cpp
index bc38a20..1c497f9 100755
--- a/libvideoeditor/lvpp/DummyAudioSource.cpp
+++ b/libvideoeditor/lvpp/DummyAudioSource.cpp
@@ -14,149 +14,112 @@
* limitations under the License.
*/
-#define LOG_NDEBUG 1
+// #define LOG_NDEBUG 0
#define LOG_TAG "DummyAudioSource"
-#include "utils/Log.h"
-
+#include <utils/Log.h>
#include <media/stagefright/MediaErrors.h>
#include <media/stagefright/MediaDebug.h>
#include <media/stagefright/MediaDefs.h>
-#include <media/stagefright/MediaBuffer.h>
#include <media/stagefright/MediaBufferGroup.h>
#include <media/stagefright/MetaData.h>
-
-
#include "DummyAudioSource.h"
-
-/* Android includes*/
-#include <utils/Log.h>
-#include <memory.h>
-
-
-/*---------------------*/
-/* DEBUG LEVEL SETUP */
-/*---------------------*/
-#define LOG1 ALOGE /*ERRORS Logging*/
-#define LOG2 ALOGV /*WARNING Logging*/
-#define LOG3 //ALOGV /*COMMENTS Logging*/
-
-/*---------------------*/
-/* CONSTANTS */
-/*---------------------*/
-
-
namespace android {
-
-/*---------------------*/
-/* SEEK SOURCE */
-/*---------------------*/
-
//static
-sp<DummyAudioSource> DummyAudioSource::Create(int32_t samplingRate,
- int32_t channelCount,
- int64_t frameDurationUs,
- int64_t audioDurationUs) {
- LOG2("DummyAudioSource::Create ");
- sp<DummyAudioSource> aSource = new DummyAudioSource (samplingRate,
- channelCount,
- frameDurationUs,
- audioDurationUs);
- return aSource;
-}
+sp<DummyAudioSource> DummyAudioSource::Create(
+ int32_t samplingRate, int32_t channelCount,
+ int64_t frameDurationUs, int64_t audioDurationUs) {
+ ALOGV("Create ");
+ return new DummyAudioSource(samplingRate,
+ channelCount,
+ frameDurationUs,
+ audioDurationUs);
-DummyAudioSource::DummyAudioSource (int32_t samplingRate,
- int32_t channelCount,
- int64_t frameDurationUs,
- int64_t audioDurationUs):
- mSamplingRate(samplingRate),
- mChannelCount(channelCount),
- mFrameDurationUs(frameDurationUs),
- mNumberOfSamplePerFrame(0),
- mAudioDurationUs(audioDurationUs),
- mTimeStampUs(0) ,
+}
- mBufferGroup(NULL){
- LOG2("DummyAudioSource::DummyAudioSource constructor START");
- /* Do nothing here? */
- LOG2("DummyAudioSource::DummyAudioSource");
- LOG2("DummyAudioSource:: mSamplingRate = %d",samplingRate);
- LOG2("DummyAudioSource:: mChannelCount = %d",channelCount);
- LOG2("DummyAudioSource:: frameDurationUs = %lld",frameDurationUs);
- LOG2("DummyAudioSource:: mAudioDurationUs = %lld",mAudioDurationUs);
+DummyAudioSource::DummyAudioSource(
+ int32_t samplingRate, int32_t channelCount,
+ int64_t frameDurationUs, int64_t audioDurationUs)
+ : mSamplingRate(samplingRate),
+ mChannelCount(channelCount),
+ mFrameDurationUs(frameDurationUs),
+ mNumberOfSamplePerFrame(0),
+ mAudioDurationUs(audioDurationUs),
+ mTimeStampUs(0),
+ mBufferGroup(NULL) {
+
+ mNumberOfSamplePerFrame = (int32_t)
+ ((1L * mSamplingRate * mFrameDurationUs)/1000000);
+ mNumberOfSamplePerFrame = mNumberOfSamplePerFrame * mChannelCount;
- LOG2("DummyAudioSource::DummyAudioSource constructor END");
+ ALOGV("Constructor: E");
+ ALOGV("samplingRate = %d", samplingRate);
+ ALOGV("channelCount = %d", channelCount);
+ ALOGV("frameDurationUs = %lld", frameDurationUs);
+ ALOGV("audioDurationUs = %lld", audioDurationUs);
+ ALOGV("mNumberOfSamplePerFrame = %d", mNumberOfSamplePerFrame);
+ ALOGV("Constructor: X");
}
-
-DummyAudioSource::~DummyAudioSource () {
+DummyAudioSource::~DummyAudioSource() {
/* Do nothing here? */
- LOG2("DummyAudioSource::~DummyAudioSource");
+ ALOGV("~DummyAudioSource");
}
-void DummyAudioSource::setDuration (int64_t audioDurationUs) {
+void DummyAudioSource::setDuration(int64_t audioDurationUs) {
+ ALOGV("setDuration: %lld us added to %lld us",
+ audioDurationUs, mAudioDurationUs);
+
Mutex::Autolock autoLock(mLock);
- LOG2("SetDuration %lld", mAudioDurationUs);
mAudioDurationUs += audioDurationUs;
- LOG2("SetDuration %lld", mAudioDurationUs);
}
status_t DummyAudioSource::start(MetaData *params) {
+ ALOGV("start: E");
status_t err = OK;
- LOG2("DummyAudioSource::start START");
mTimeStampUs = 0;
- mNumberOfSamplePerFrame = (int32_t) ((1L * mSamplingRate * mFrameDurationUs)/1000000);
- mNumberOfSamplePerFrame = mNumberOfSamplePerFrame * mChannelCount;
mBufferGroup = new MediaBufferGroup;
mBufferGroup->add_buffer(
new MediaBuffer(mNumberOfSamplePerFrame * sizeof(int16_t)));
- LOG2("DummyAudioSource:: mNumberOfSamplePerFrame = %d",mNumberOfSamplePerFrame);
- LOG2("DummyAudioSource::start END");
+ ALOGV("start: X");
return err;
}
-
status_t DummyAudioSource::stop() {
- status_t err = OK;
-
- LOG2("DummyAudioSource::stop START");
+ ALOGV("stop");
delete mBufferGroup;
mBufferGroup = NULL;
-
- LOG2("DummyAudioSource::stop END");
-
- return err;
+ return OK;
}
sp<MetaData> DummyAudioSource::getFormat() {
- LOG2("DummyAudioSource::getFormat");
+ ALOGV("getFormat");
sp<MetaData> meta = new MetaData;
-
meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_RAW);
meta->setInt32(kKeyChannelCount, mChannelCount);
meta->setInt32(kKeySampleRate, mSamplingRate);
meta->setInt64(kKeyDuration, mFrameDurationUs);
-
meta->setCString(kKeyDecoderComponent, "DummyAudioSource");
return meta;
}
-status_t DummyAudioSource::read( MediaBuffer **out, const MediaSource::ReadOptions *options) {
- status_t err = OK;
- //LOG2("DummyAudioSource::read START");
- MediaBuffer *buffer;
+status_t DummyAudioSource::read(
+ MediaBuffer **out, const MediaSource::ReadOptions *options) {
+
+ ALOGV("read: E");
+
int64_t seekTimeUs;
ReadOptions::SeekMode mode;
@@ -164,32 +127,37 @@ status_t DummyAudioSource::read( MediaBuffer **out, const MediaSource::ReadOptio
CHECK(seekTimeUs >= 0);
mTimeStampUs = seekTimeUs;
}
+
{
Mutex::Autolock autoLock(mLock);
if (mTimeStampUs >= mAudioDurationUs) {
+ ALOGI("read: EOS reached %lld > %lld",
+ mTimeStampUs, mAudioDurationUs);
+
*out = NULL;
- ALOGI("EOS reached");
return ERROR_END_OF_STREAM;
}
}
- err = mBufferGroup->acquire_buffer(&buffer);
+ MediaBuffer *buffer;
+ status_t err = mBufferGroup->acquire_buffer(&buffer);
if (err != OK) {
+ ALOGE("Failed to acquire buffer from mBufferGroup: %d", err);
return err;
}
memset((uint8_t *) buffer->data() + buffer->range_offset(),
0, mNumberOfSamplePerFrame << 1);
-
buffer->set_range(buffer->range_offset(), (mNumberOfSamplePerFrame << 1));
-
buffer->meta_data()->setInt64(kKeyTime, mTimeStampUs);
- LOG2("DummyAudioSource::read Buffer_offset = %d,"
- "Buffer_Size = %d, mTimeStampUs = %lld",
- buffer->range_offset(),buffer->size(),mTimeStampUs);
+
+ ALOGV("read: offset = %d, size = %d, mTimeStampUs = %lld",
+ buffer->range_offset(), buffer->size(), mTimeStampUs);
+
mTimeStampUs = mTimeStampUs + mFrameDurationUs;
*out = buffer;
- return err;
+
+ return OK;
}
}// namespace android