Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6f9028e5 authored by James Dong's avatar James Dong Committed by Android (Google) Code Review
Browse files

Merge "More source code Clean up in video editor engine"

parents ed6269fd 00f742c0
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ LOCAL_SRC_FILES:= \
    DummyVideoSource.cpp \
    VideoEditorBGAudioProcessing.cpp \
    AudioPlayerBase.cpp \
    PreviewPlayerBase.cpp \
    PreviewRenderer.cpp \
    I420ColorConverter.cpp \
    NativeWindowRenderer.cpp
+2 −2
Original line number Diff line number Diff line
@@ -27,13 +27,13 @@
#include <media/stagefright/MetaData.h>

#include "AudioPlayerBase.h"
#include "PreviewPlayerBase.h"
#include "PreviewPlayer.h"

namespace android {

AudioPlayerBase::AudioPlayerBase(
        const sp<MediaPlayerBase::AudioSink> &audioSink,
        PreviewPlayerBase *observer)
        PreviewPlayer *observer)
    : mAudioTrack(NULL),
      mInputBuffer(NULL),
      mSampleRate(0),
+3 −3
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ namespace android {

class MediaSource;
class AudioTrack;
class PreviewPlayerBase;
class PreviewPlayer;

class AudioPlayerBase : public TimeSource {
public:
@@ -37,7 +37,7 @@ public:
    };

    AudioPlayerBase(const sp<MediaPlayerBase::AudioSink> &audioSink,
                PreviewPlayerBase *audioObserver = NULL);
                PreviewPlayer *audioObserver = NULL);

    virtual ~AudioPlayerBase();

@@ -93,7 +93,7 @@ private:
    MediaBuffer *mFirstBuffer;

    sp<MediaPlayerBase::AudioSink> mAudioSink;
    PreviewPlayerBase *mObserver;
    PreviewPlayer *mObserver;

    static void AudioCallback(int event, void *user, void *info);
    void AudioCallback(int event, void *info);
+61 −93
Original line number Diff line number Diff line
@@ -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,
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);
    return aSource;
}

}

DummyAudioSource::DummyAudioSource (int32_t samplingRate,
                                    int32_t channelCount,
                                    int64_t frameDurationUs,
                                    int64_t audioDurationUs):
    mSamplingRate(samplingRate),
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);

    LOG2("DummyAudioSource::DummyAudioSource constructor END");
}
    mNumberOfSamplePerFrame = (int32_t)
            ((1L * mSamplingRate * mFrameDurationUs)/1000000);
    mNumberOfSamplePerFrame = mNumberOfSamplePerFrame  * mChannelCount;

    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() {
    /* Do nothing here? */
    LOG2("DummyAudioSource::~DummyAudioSource");
    ALOGV("~DummyAudioSource");
}

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",

    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
+15 −20
Original line number Diff line number Diff line
@@ -15,44 +15,34 @@
 */

#ifndef DUMMY_AUDIOSOURCE_H_

#define DUMMY_AUDIOSOURCE_H_

#include <utils/RefBase.h>
#include <utils/threads.h>
#include <media/stagefright/MediaBufferGroup.h>
#include <media/stagefright/MediaSource.h>
#include <media/stagefright/DataSource.h>


namespace android {


class MediaBuffer;
class MetaData;
struct MediaBufferGroup;



struct DummyAudioSource : public MediaSource {

public:
    static sp<DummyAudioSource> Create(int32_t samplingRate,
                                       int32_t channelCount,
                                       int64_t frameDurationUs,
                                       int64_t audioDurationUs);
    static sp<DummyAudioSource> Create(
                int32_t samplingRate, int32_t channelCount,
                int64_t frameDurationUs, int64_t audioDurationUs);

    virtual status_t start(MetaData *params = NULL);
    virtual status_t stop();
    virtual sp<MetaData> getFormat();
    virtual status_t read (MediaBuffer **buffer,

    virtual status_t read(
                MediaBuffer **buffer,
                const MediaSource::ReadOptions *options = NULL);

    void setDuration(int64_t audioDurationUs);

protected:
    DummyAudioSource (int32_t samplingRate,
                      int32_t channelCount,
                      int64_t frameDurationUs,
                      int64_t audioDurationUs);
    virtual ~DummyAudioSource();

private:
@@ -66,6 +56,11 @@ private:

    MediaBufferGroup *mBufferGroup;

    DummyAudioSource(
            int32_t samplingRate, int32_t channelCount,
            int64_t frameDurationUs, int64_t audioDurationUs);

    // Don't call me
    DummyAudioSource(const DummyAudioSource &);
    DummyAudioSource &operator=(const DummyAudioSource &);

Loading