AudioSource.cpp中read()的过程

来源:互联网 发布:吸奶器哪个品牌好 知乎 编辑:程序博客网 时间:2024/05/27 09:46

---- StagefrightRecorder.h Matches (1 in 1 files) ----
MediaRecorderClient.cpp (frameworks\av\media\libmediaplayerservice):#include "StagefrightRecorder.h"
---- StagefrightRecorder Matches (0 in 0 files) ----
---- mSource Matches (13 in 1 files) ----
AudioPlayer.cpp (frameworks\av\media\libstagefright):    CHECK(mSource == NULL);
AudioPlayer.cpp (frameworks\av\media\libstagefright):    mSource = source;
AudioPlayer.cpp (frameworks\av\media\libstagefright):    CHECK(mSource != NULL);
AudioPlayer.cpp (frameworks\av\media\libstagefright):        err = mSource->start();
AudioPlayer.cpp (frameworks\av\media\libstagefright):    mFirstBufferResult = mSource->read(&mFirstBuffer, &options);
AudioPlayer.cpp (frameworks\av\media\libstagefright):    sp<MetaData> format = mSource->getFormat();
AudioPlayer.cpp (frameworks\av\media\libstagefright):                mSource->stop();
AudioPlayer.cpp (frameworks\av\media\libstagefright):                mSource->stop();
AudioPlayer.cpp (frameworks\av\media\libstagefright):    mSource->stop();
AudioPlayer.cpp (frameworks\av\media\libstagefright):    wp<MediaSource> tmp = mSource;
AudioPlayer.cpp (frameworks\av\media\libstagefright):    mSource.clear();
AudioPlayer.cpp (frameworks\av\media\libstagefright):    format = mSource->getFormat();
AudioPlayer.cpp (frameworks\av\media\libstagefright):                err = mSource->read(&mInputBuffer, &options);
---- mSource Matches (6 in 1 files) ----
AMRWriter.cpp (frameworks\av\media\libstagefright):    if (mSource != NULL) {
AMRWriter.cpp (frameworks\av\media\libstagefright):    mSource = source;
AMRWriter.cpp (frameworks\av\media\libstagefright):    if (mSource == NULL) {
AMRWriter.cpp (frameworks\av\media\libstagefright):    status_t err = mSource->start();
AMRWriter.cpp (frameworks\av\media\libstagefright):        status_t status = mSource->stop();
AMRWriter.cpp (frameworks\av\media\libstagefright):        err = mSource->read(&buffer);
---- mBuffersReceived Matches (8 in 1 files) ----
AudioSource.cpp (frameworks\av\media\libstagefright):    while (!mBuffersReceived.empty()) {
AudioSource.cpp (frameworks\av\media\libstagefright):        it = mBuffersReceived.begin();
AudioSource.cpp (frameworks\av\media\libstagefright):        mBuffersReceived.erase(it);
AudioSource.cpp (frameworks\av\media\libstagefright):    while (mStarted && mBuffersReceived.empty()) {
AudioSource.cpp (frameworks\av\media\libstagefright):    MediaBuffer *buffer = *mBuffersReceived.begin();
AudioSource.cpp (frameworks\av\media\libstagefright):    mBuffersReceived.erase(mBuffersReceived.begin());
AudioSource.cpp (frameworks\av\media\libstagefright):    mBuffersReceived.push_back(buffer);
---- mObserver Matches (11 in 1 files) ----
MediaBuffer.cpp (frameworks\av\media\libstagefright):    : mObserver(NULL),
MediaBuffer.cpp (frameworks\av\media\libstagefright):    : mObserver(NULL),
MediaBuffer.cpp (frameworks\av\media\libstagefright):    : mObserver(NULL),
MediaBuffer.cpp (frameworks\av\media\libstagefright):    : mObserver(NULL),
MediaBuffer.cpp (frameworks\av\media\libstagefright):    if (mObserver == NULL) {
MediaBuffer.cpp (frameworks\av\media\libstagefright):        if (mObserver == NULL) {
MediaBuffer.cpp (frameworks\av\media\libstagefright):        mObserver->signalBufferReturned(this);
MediaBuffer.cpp (frameworks\av\media\libstagefright):    CHECK(mObserver != NULL);
MediaBuffer.cpp (frameworks\av\media\libstagefright):    CHECK(mObserver == NULL);
MediaBuffer.cpp (frameworks\av\media\libstagefright):    CHECK(observer == NULL || mObserver == NULL);
MediaBuffer.cpp (frameworks\av\media\libstagefright):    mObserver = observer;
---- mObserver Matches (11 in 1 files) ----
MediaBuffer.cpp (frameworks\av\media\libstagefright):    : mObserver(NULL),
MediaBuffer.cpp (frameworks\av\media\libstagefright):    : mObserver(NULL),
MediaBuffer.cpp (frameworks\av\media\libstagefright):    : mObserver(NULL),
MediaBuffer.cpp (frameworks\av\media\libstagefright):    : mObserver(NULL),
MediaBuffer.cpp (frameworks\av\media\libstagefright):    if (mObserver == NULL) {
MediaBuffer.cpp (frameworks\av\media\libstagefright):        if (mObserver == NULL) {
MediaBuffer.cpp (frameworks\av\media\libstagefright):        mObserver->signalBufferReturned(this);
MediaBuffer.cpp (frameworks\av\media\libstagefright):    CHECK(mObserver != NULL);
MediaBuffer.cpp (frameworks\av\media\libstagefright):    CHECK(mObserver == NULL);
MediaBuffer.cpp (frameworks\av\media\libstagefright):    CHECK(observer == NULL || mObserver == NULL);
MediaBuffer.cpp (frameworks\av\media\libstagefright):    mObserver = observer;
---- MEDIA_RECORDER_EVENT_INFO Matches (2 in 1 files) ----
AMRWriter.cpp (frameworks\av\media\libstagefright):            notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED, 0);
AMRWriter.cpp (frameworks\av\media\libstagefright):            notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_DURATION_REACHED, 0);
---- MEDIA_RECORDER_EVENT_INFO Matches (12 in 5 files) ----
AACWriter.cpp (frameworks\av\media\libstagefright):            notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED, 0);
AACWriter.cpp (frameworks\av\media\libstagefright):            notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_DURATION_REACHED, 0);
AMRWriter.cpp (frameworks\av\media\libstagefright):            notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED, 0);
AMRWriter.cpp (frameworks\av\media\libstagefright):            notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_DURATION_REACHED, 0);
ExtendedWriter.cpp (frameworks\av\media\libstagefright):            notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED, 0);
ExtendedWriter.cpp (frameworks\av\media\libstagefright):            notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_DURATION_REACHED, 0);
ExtendedWriter.cpp (frameworks\av\media\libstagefright):        notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_TRACK_INFO_COMPLETION_STATUS, UNKNOWN_ERROR);
MPEG4Writer.cpp (frameworks\av\media\libstagefright):            mOwner->notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED, 0);
MPEG4Writer.cpp (frameworks\av\media\libstagefright):            mOwner->notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_DURATION_REACHED, 0);
WAVEWriter.cpp (frameworks\av\media\libstagefright):            notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED, 0);
WAVEWriter.cpp (frameworks\av\media\libstagefright):            notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_DURATION_REACHED, 0);
WAVEWriter.cpp (frameworks\av\media\libstagefright):        notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_TRACK_INFO_COMPLETION_STATUS, UNKNOWN_ERROR);
---- mBuffersReceived Matches (8 in 1 files) ----
AudioSource.cpp (frameworks\av\media\libstagefright):    while (!mBuffersReceived.empty()) {
AudioSource.cpp (frameworks\av\media\libstagefright):        it = mBuffersReceived.begin();
AudioSource.cpp (frameworks\av\media\libstagefright):        mBuffersReceived.erase(it);
AudioSource.cpp (frameworks\av\media\libstagefright):    while (mStarted && mBuffersReceived.empty()) {
AudioSource.cpp (frameworks\av\media\libstagefright):    MediaBuffer *buffer = *mBuffersReceived.begin();
AudioSource.cpp (frameworks\av\media\libstagefright):    mBuffersReceived.erase(mBuffersReceived.begin());
AudioSource.cpp (frameworks\av\media\libstagefright):    mBuffersReceived.push_back(buffer);
---- queueInputBuffer_l Matches (3 in 1 files) ----
AudioSource.cpp (frameworks\av\media\libstagefright):        queueInputBuffer_l(lostAudioBuffer, timeUs);
AudioSource.cpp (frameworks\av\media\libstagefright):    queueInputBuffer_l(buffer, timeUs);
AudioSource.cpp (frameworks\av\media\libstagefright):void AudioSource::queueInputBuffer_l(MediaBuffer *buffer, int64_t timeUs) {
---- mAudioRecordThread Matches (8 in 1 files) ----
AudioRecord.cpp (frameworks\av\media\libmedia):        if (mAudioRecordThread != 0) {
AudioRecord.cpp (frameworks\av\media\libmedia):            mAudioRecordThread->requestExit();  // see comment in AudioRecord.h
AudioRecord.cpp (frameworks\av\media\libmedia):            mAudioRecordThread->requestExitAndWait();
AudioRecord.cpp (frameworks\av\media\libmedia):            mAudioRecordThread.clear();
AudioRecord.cpp (frameworks\av\media\libmedia):        mAudioRecordThread = new AudioRecordThread(*this, threadCanCallJava);
AudioRecord.cpp (frameworks\av\media\libmedia):        mAudioRecordThread->run("AudioRecord", ANDROID_PRIORITY_AUDIO);
AudioRecord.cpp (frameworks\av\media\libmedia):    sp<AudioRecordThread> t = mAudioRecordThread;
AudioRecord.cpp (frameworks\av\media\libmedia): sp<AudioRecordThread> t = mAudioRecordThread;
---- dataCallback Matches (2 in 1 files) ----
AudioSource.cpp (frameworks\av\media\libstagefright):            source->dataCallback(*((AudioRecord::Buffer *) info));
AudioSource.cpp (frameworks\av\media\libstagefright):status_t AudioSource::dataCallback(const AudioRecord::Buffer& audioBuffer) {
---- AudioRecordCallbackFunction Matches (3 in 1 files) ----
AudioSource.cpp (frameworks\av\media\libstagefright):static void AudioRecordCallbackFunction(int event, void *user, void *info) {
AudioSource.cpp (frameworks\av\media\libstagefright):                    AudioRecordCallbackFunction,
AudioSource.cpp (frameworks\av\media\libstagefright):                AudioRecordCallbackFunction,
---- initCheck Matches (1 in 1 files) ----
AudioRecord.cpp (frameworks\av\media\libmedia):status_t AudioRecord::initCheck() const
---- mStatus Matches (6 in 1 files) ----
AudioRecord.cpp (frameworks\av\media\libmedia):    : mStatus(NO_INIT), mSessionId(0),
AudioRecord.cpp (frameworks\av\media\libmedia):    : mStatus(NO_INIT), mSessionId(0),
AudioRecord.cpp (frameworks\av\media\libmedia):    mStatus = set(inputSource, sampleRate, format, channelMask,
AudioRecord.cpp (frameworks\av\media\libmedia):    if (mStatus == NO_ERROR) {
AudioRecord.cpp (frameworks\av\media\libmedia):    mStatus = NO_ERROR;
AudioRecord.cpp (frameworks\av\media\libmedia):    return mStatus;
---- mUserData Matches (5 in 1 files) ----
AudioRecord.cpp (frameworks\av\media\libmedia):    mUserData = user;
AudioRecord.cpp (frameworks\av\media\libmedia):        mCbf(EVENT_MARKER, mUserData, &markerPosition);
AudioRecord.cpp (frameworks\av\media\libmedia):        mCbf(EVENT_NEW_POS, mUserData, &temp);
AudioRecord.cpp (frameworks\av\media\libmedia):        mCbf(EVENT_MORE_DATA, mUserData, &audioBuffer);
AudioRecord.cpp (frameworks\av\media\libmedia):            mCbf(EVENT_OVERRUN, mUserData, NULL);
---- EVENT_MORE_DATA Matches (1 in 1 files) ----
AudioRecord.cpp (frameworks\av\media\libmedia):        mCbf(EVENT_MORE_DATA, mUserData, &audioBuffer);
---- mCbf Matches (7 in 1 files) ----
AudioRecord.cpp (frameworks\av\media\libmedia):    mCbf = cbf;
AudioRecord.cpp (frameworks\av\media\libmedia):    if (mCbf == NULL) return INVALID_OPERATION;
AudioRecord.cpp (frameworks\av\media\libmedia):    if (mCbf == NULL) return INVALID_OPERATION;
AudioRecord.cpp (frameworks\av\media\libmedia):        mCbf(EVENT_MARKER, mUserData, &markerPosition);
AudioRecord.cpp (frameworks\av\media\libmedia):        mCbf(EVENT_NEW_POS, mUserData, &temp);
AudioRecord.cpp (frameworks\av\media\libmedia):        mCbf(EVENT_MORE_DATA, mUserData, &audioBuffer);
AudioRecord.cpp (frameworks\av\media\libmedia):            mCbf(EVENT_OVERRUN, mUserData, NULL);
---- processAudioBuffer Matches (2 in 1 files) ----
AudioRecord.cpp (frameworks\av\media\libmedia):bool AudioRecord::processAudioBuffer(const sp<AudioRecordThread>& thread)
AudioRecord.cpp (frameworks\av\media\libmedia):    if (!mReceiver.processAudioBuffer(this)) {
---- mAudioRecordThread Matches (8 in 1 files) ----
AudioRecord.cpp (frameworks\av\media\libmedia):        if (mAudioRecordThread != 0) {
AudioRecord.cpp (frameworks\av\media\libmedia):            mAudioRecordThread->requestExit();  // see comment in AudioRecord.h
AudioRecord.cpp (frameworks\av\media\libmedia):            mAudioRecordThread->requestExitAndWait();
AudioRecord.cpp (frameworks\av\media\libmedia):            mAudioRecordThread.clear();
AudioRecord.cpp (frameworks\av\media\libmedia):        mAudioRecordThread = new AudioRecordThread(*this, threadCanCallJava);
AudioRecord.cpp (frameworks\av\media\libmedia):        mAudioRecordThread->run("AudioRecord", ANDROID_PRIORITY_AUDIO);
AudioRecord.cpp (frameworks\av\media\libmedia):    sp<AudioRecordThread> t = mAudioRecordThread;
AudioRecord.cpp (frameworks\av\media\libmedia): sp<AudioRecordThread> t = mAudioRecordThread;

---- mReceiver Matches (2 in 1 files) ----
AudioRecord.cpp (frameworks\av\media\libmedia):    : Thread(bCanCallJava), mReceiver(receiver), mPaused(true)
AudioRecord.cpp (frameworks\av\media\libmedia):    if (!mReceiver.processAudioBuffer(this)) {

status_t AudioRecord::obtainBuffer(Buffer* audioBuffer, int32_t waitCount)

---- getInputFramesLost Matches (2 in 1 files) ----
AudioRecord.cpp (frameworks\av\media\libmedia):unsigned int AudioRecord::getInputFramesLost() const
AudioRecord.cpp (frameworks\av\media\libmedia):    return AudioSystem::getInputFramesLost(mInput);
---- getInputFramesLost Matches (17 in 9 files) ----
AudioDumpInterface.cpp (hardware\libhardware_legacy\audio):unsigned int AudioStreamInDump::getInputFramesLost() const
AudioDumpInterface.cpp (hardware\libhardware_legacy\audio):    if (mFinalStream != 0 ) return mFinalStream->getInputFramesLost();
AudioFlinger.cpp (frameworks\av\services\audioflinger):unsigned int AudioFlinger::getInputFramesLost(audio_io_handle_t ioHandle) const
AudioFlinger.cpp (frameworks\av\services\audioflinger):        return recordThread->getInputFramesLost();
AudioFlinger.cpp (frameworks\av\services\audioflinger):unsigned int AudioFlinger::RecordThread::getInputFramesLost()
AudioRecord. (frameworks\av\media\libcppmedia):unsigned int AudioRecord::getInputFramesLost() const
AudioRecord.cpp (frameworks\av\media\libmedia):    return AudioSystem::getInputFramesLost(mInput);
AudioSource.cpp (frameworks\av\media\libstagefright):        mRecord->getInputFramesLost();
AudioSource.cpp (frameworks\av\media\libstagefright):        // getInputFramesLost() returns the number of lost frames.
AudioSource.cpp (frameworks\av\media\libstagefright):        numLostBytes = mRecord->getInputFramesLost() * mRecord->frameSize();
AudioStreamInALSA.cpp (hardware\qcom\audio\alsa_sound):unsigned int AudioStreamInALSA::getInputFramesLost() const
AudioSystem.cpp (frameworks\av\media\libmedia):unsigned int AudioSystem::getInputFramesLost(audio_io_handle_t ioHandle) {
AudioSystem.cpp (frameworks\av\media\libmedia):    result = af->getInputFramesLost(ioHandle);
Audio_hw_hal.cpp (hardware\libhardware_legacy\audio):    return in->legacy_in->getInputFramesLost();
Audio_hw_hal.cpp (hardware\qcom\audio\alsa_sound):    return in->qcom_in->getInputFramesLost();
IAudioFlinger.cpp (frameworks\av\media\libmedia):    virtual unsigned int getInputFramesLost(audio_io_handle_t ioHandle) const
IAudioFlinger.cpp (frameworks\av\media\libmedia):            reply->writeInt32(getInputFramesLost(ioHandle));

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
05-27 16:12:02.463 D/AudioSource(  254): frameworks/av/media/libstagefright/AudioSource.cpp(315)-read:this is syh
05-27 16:12:02.463 D/AudioSource(  254): frameworks/av/media/libstagefright/AudioSource.cpp(317)-read:this is syh
05-27 16:12:02.473 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(913)-threadLoop:this is syh
05-27 16:12:02.473 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(908)-threadLoop:this is syh
05-27 16:12:02.473 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(548)-obtainBuffer:this is syh
05-27 16:12:02.473 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(550)-obtainBuffer:this is syh
05-27 16:12:02.483 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(609)-obtainBuffer:this is syh
05-27 16:12:02.483 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(613)-obtainBuffer:this is syh
05-27 16:12:02.483 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(617)-obtainBuffer:this is syh
05-27 16:12:02.483 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(620)-obtainBuffer:this is syh
05-27 16:12:02.483 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(624)-obtainBuffer:this is syh
05-27 16:12:02.483 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(629)-obtainBuffer:this is syh
05-27 16:12:02.483 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(631)-obtainBuffer:this is syh
05-27 16:12:02.483 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(633)-obtainBuffer:this is syh
05-27 16:12:02.483 W/AudioRecord(  254): frameworks/av/media/libmedia/AudioRecord.cpp(784)-processAudioBuffer:this is syh
05-27 16:12:02.483 W/AudioSource(  254): frameworks/av/media/libstagefright/AudioSource.cpp(44)-AudioRecordCallbackFunction:this is syh
05-27 16:12:02.483 W/AudioSource(  254): frameworks/av/media/libstagefright/AudioSource.cpp(395)-dataCallback:this is syh
05-27 16:12:02.483 W/AudioSource(  254): frameworks/av/media/libstagefright/AudioSource.cpp(403)-dataCallback:this is syh
05-27 16:12:02.483 W/AudioSource(  254): frameworks/av/media/libstagefright/AudioSource.cpp(416)-dataCallback:this is syh
05-27 16:12:02.483 W/AudioSource(  254): frameworks/av/media/libstagefright/AudioSource.cpp(421)-dataCallback:this is syh
05-27 16:12:08.038 W/        (  254): frameworks/av/include/media/stagefright/AMRWriter.h(40)-stop:this is syh
05-27 16:12:08.038 D/        (  254): frameworks/av/media/libstagefright/AMRWriter.cpp(168)-reset-mDone(1)-id(637):this is syh