diff options
| author | Lajos Molnar <lajos@google.com> | 2015-03-04 16:46:34 -0800 | 
|---|---|---|
| committer | Lajos Molnar <lajos@google.com> | 2015-03-05 17:49:50 -0800 | 
| commit | 1d15ab58bf8239069ef343de6cb21aabf3ef7d78 (patch) | |
| tree | d4b3266c9baf5e6dee214fc6562391101e198be7 | |
| parent | 5804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14 (diff) | |
| download | frameworks_av-1d15ab58bf8239069ef343de6cb21aabf3ef7d78.zip frameworks_av-1d15ab58bf8239069ef343de6cb21aabf3ef7d78.tar.gz frameworks_av-1d15ab58bf8239069ef343de6cb21aabf3ef7d78.tar.bz2  | |
media: switch to new AMessage handling
Bug: 19607784
Change-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa
40 files changed, 321 insertions, 324 deletions
diff --git a/cmds/stagefright/SimplePlayer.cpp b/cmds/stagefright/SimplePlayer.cpp index 4b2f980..40762e5 100644 --- a/cmds/stagefright/SimplePlayer.cpp +++ b/cmds/stagefright/SimplePlayer.cpp @@ -59,14 +59,14 @@ status_t PostAndAwaitResponse(      return err;  }  status_t SimplePlayer::setDataSource(const char *path) { -    sp<AMessage> msg = new AMessage(kWhatSetDataSource, id()); +    sp<AMessage> msg = new AMessage(kWhatSetDataSource, this);      msg->setString("path", path);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response);  }  status_t SimplePlayer::setSurface(const sp<IGraphicBufferProducer> &bufferProducer) { -    sp<AMessage> msg = new AMessage(kWhatSetSurface, id()); +    sp<AMessage> msg = new AMessage(kWhatSetSurface, this);      sp<Surface> surface;      if (bufferProducer != NULL) { @@ -81,25 +81,25 @@ status_t SimplePlayer::setSurface(const sp<IGraphicBufferProducer> &bufferProduc  }  status_t SimplePlayer::prepare() { -    sp<AMessage> msg = new AMessage(kWhatPrepare, id()); +    sp<AMessage> msg = new AMessage(kWhatPrepare, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response);  }  status_t SimplePlayer::start() { -    sp<AMessage> msg = new AMessage(kWhatStart, id()); +    sp<AMessage> msg = new AMessage(kWhatStart, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response);  }  status_t SimplePlayer::stop() { -    sp<AMessage> msg = new AMessage(kWhatStop, id()); +    sp<AMessage> msg = new AMessage(kWhatStop, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response);  }  status_t SimplePlayer::reset() { -    sp<AMessage> msg = new AMessage(kWhatReset, id()); +    sp<AMessage> msg = new AMessage(kWhatReset, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response);  } @@ -382,7 +382,7 @@ status_t SimplePlayer::onStart() {      mStartTimeRealUs = -1ll; -    sp<AMessage> msg = new AMessage(kWhatDoMoreStuff, id()); +    sp<AMessage> msg = new AMessage(kWhatDoMoreStuff, this);      msg->setInt32("generation", ++mDoMoreStuffGeneration);      msg->post(); diff --git a/cmds/stagefright/sf2.cpp b/cmds/stagefright/sf2.cpp index 0f729a3..172dc36 100644 --- a/cmds/stagefright/sf2.cpp +++ b/cmds/stagefright/sf2.cpp @@ -72,7 +72,7 @@ struct Controller : public AHandler {      }      void startAsync() { -        (new AMessage(kWhatStart, id()))->post(); +        (new AMessage(kWhatStart, this))->post();      }  protected: @@ -100,7 +100,7 @@ protected:          if (ctrlc) {              printf("\n");              printStatistics(); -            (new AMessage(kWhatStop, id()))->post(); +            (new AMessage(kWhatStop, this))->post();              ctrlc = false;          }          switch (msg->what()) { @@ -149,7 +149,7 @@ protected:                  mDecodeLooper->registerHandler(mCodec);                  mCodec->setNotificationMessage( -                        new AMessage(kWhatCodecNotify, id())); +                        new AMessage(kWhatCodecNotify, this));                  sp<AMessage> format = makeFormat(mSource->getFormat()); @@ -168,7 +168,7 @@ protected:                  mFinalResult = OK;                  mSeekState = SEEK_NONE; -                // (new AMessage(kWhatSeek, id()))->post(5000000ll); +                // (new AMessage(kWhatSeek, this))->post(5000000ll);                  break;              } @@ -225,12 +225,12 @@ protected:                      printf((what == CodecBase::kWhatEOS) ? "$\n" : "E\n");                      printStatistics(); -                    (new AMessage(kWhatStop, id()))->post(); +                    (new AMessage(kWhatStop, this))->post();                  } else if (what == CodecBase::kWhatFlushCompleted) {                      mSeekState = SEEK_FLUSH_COMPLETED;                      mCodec->signalResume(); -                    (new AMessage(kWhatSeek, id()))->post(5000000ll); +                    (new AMessage(kWhatSeek, this))->post(5000000ll);                  } else if (what == CodecBase::kWhatOutputFormatChanged) {                  } else if (what == CodecBase::kWhatShutdownCompleted) {                      mDecodeLooper->unregisterHandler(mCodec->id()); diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.cpp b/media/libmediaplayerservice/nuplayer/GenericSource.cpp index cbc5e0d..24163e8 100644 --- a/media/libmediaplayerservice/nuplayer/GenericSource.cpp +++ b/media/libmediaplayerservice/nuplayer/GenericSource.cpp @@ -334,7 +334,7 @@ void NuPlayer::GenericSource::prepareAsync() {          mLooper->registerHandler(this);      } -    sp<AMessage> msg = new AMessage(kWhatPrepareAsync, id()); +    sp<AMessage> msg = new AMessage(kWhatPrepareAsync, this);      msg->post();  } @@ -393,7 +393,7 @@ void NuPlayer::GenericSource::onPrepareAsync() {      status_t err = prefillCacheIfNecessary();      if (err != OK) {          if (err == -EAGAIN) { -            (new AMessage(kWhatPrepareAsync, id()))->post(200000); +            (new AMessage(kWhatPrepareAsync, this))->post(200000);          } else {              ALOGE("Failed to prefill data cache!");              notifyPreparedAndCleanup(UNKNOWN_ERROR); @@ -538,7 +538,7 @@ void NuPlayer::GenericSource::start() {      setDrmPlaybackStatusIfNeeded(Playback::START, getLastReadPosition() / 1000);      mStarted = true; -    (new AMessage(kWhatStart, id()))->post(); +    (new AMessage(kWhatStart, this))->post();  }  void NuPlayer::GenericSource::stop() { @@ -547,7 +547,7 @@ void NuPlayer::GenericSource::stop() {      mStarted = false;      if (mIsWidevine || mIsSecure) {          // For widevine or secure sources we need to prevent any further reads. -        sp<AMessage> msg = new AMessage(kWhatStopWidevine, id()); +        sp<AMessage> msg = new AMessage(kWhatStopWidevine, this);          sp<AMessage> response;          (void) msg->postAndAwaitResponse(&response);      } @@ -564,7 +564,7 @@ void NuPlayer::GenericSource::resume() {      setDrmPlaybackStatusIfNeeded(Playback::START, getLastReadPosition() / 1000);      mStarted = true; -    (new AMessage(kWhatResume, id()))->post(); +    (new AMessage(kWhatResume, this))->post();  }  void NuPlayer::GenericSource::disconnect() { @@ -591,7 +591,7 @@ status_t NuPlayer::GenericSource::feedMoreTSData() {  }  void NuPlayer::GenericSource::schedulePollBuffering() { -    sp<AMessage> msg = new AMessage(kWhatPollBuffering, id()); +    sp<AMessage> msg = new AMessage(kWhatPollBuffering, this);      msg->setInt32("generation", mPollBufferingGeneration);      msg->post(1000000ll);  } @@ -928,7 +928,7 @@ void NuPlayer::GenericSource::fetchTextData(          const int64_t oneSecUs = 1000000ll;          delayUs -= oneSecUs;      } -    sp<AMessage> msg2 = new AMessage(sendWhat, id()); +    sp<AMessage> msg2 = new AMessage(sendWhat, this);      msg2->setInt32("generation", msgGeneration);      msg2->post(delayUs < 0 ? 0 : delayUs);  } @@ -968,7 +968,7 @@ void NuPlayer::GenericSource::sendTextData(  }  sp<MetaData> NuPlayer::GenericSource::getFormatMeta(bool audio) { -    sp<AMessage> msg = new AMessage(kWhatGetFormat, id()); +    sp<AMessage> msg = new AMessage(kWhatGetFormat, this);      msg->setInt32("audio", audio);      sp<AMessage> response; @@ -1057,7 +1057,7 @@ status_t NuPlayer::GenericSource::dequeueAccessUnit(      if (mSubtitleTrack.mSource != NULL              && !mSubtitleTrack.mPackets->hasBufferAvailable(&eosResult)) { -        sp<AMessage> msg = new AMessage(kWhatFetchSubtitleData, id()); +        sp<AMessage> msg = new AMessage(kWhatFetchSubtitleData, this);          msg->setInt64("timeUs", timeUs);          msg->setInt32("generation", mFetchSubtitleDataGeneration);          msg->post(); @@ -1065,7 +1065,7 @@ status_t NuPlayer::GenericSource::dequeueAccessUnit(      if (mTimedTextTrack.mSource != NULL              && !mTimedTextTrack.mPackets->hasBufferAvailable(&eosResult)) { -        sp<AMessage> msg = new AMessage(kWhatFetchTimedTextData, id()); +        sp<AMessage> msg = new AMessage(kWhatFetchTimedTextData, this);          msg->setInt64("timeUs", timeUs);          msg->setInt32("generation", mFetchTimedTextDataGeneration);          msg->post(); @@ -1130,7 +1130,7 @@ sp<AMessage> NuPlayer::GenericSource::getTrackInfo(size_t trackIndex) const {  }  ssize_t NuPlayer::GenericSource::getSelectedTrack(media_track_type type) const { -    sp<AMessage> msg = new AMessage(kWhatGetSelectedTrack, id()); +    sp<AMessage> msg = new AMessage(kWhatGetSelectedTrack, this);      msg->setInt32("type", type);      sp<AMessage> response; @@ -1186,7 +1186,7 @@ ssize_t NuPlayer::GenericSource::doGetSelectedTrack(media_track_type type) const  status_t NuPlayer::GenericSource::selectTrack(size_t trackIndex, bool select, int64_t timeUs) {      ALOGV("%s track: %zu", select ? "select" : "deselect", trackIndex); -    sp<AMessage> msg = new AMessage(kWhatSelectTrack, id()); +    sp<AMessage> msg = new AMessage(kWhatSelectTrack, this);      msg->setInt32("trackIndex", trackIndex);      msg->setInt32("select", select);      msg->setInt64("timeUs", timeUs); @@ -1272,7 +1272,7 @@ status_t NuPlayer::GenericSource::doSelectTrack(size_t trackIndex, bool select,          status_t eosResult; // ignored          if (mSubtitleTrack.mSource != NULL                  && !mSubtitleTrack.mPackets->hasBufferAvailable(&eosResult)) { -            sp<AMessage> msg = new AMessage(kWhatFetchSubtitleData, id()); +            sp<AMessage> msg = new AMessage(kWhatFetchSubtitleData, this);              msg->setInt64("timeUs", timeUs);              msg->setInt32("generation", mFetchSubtitleDataGeneration);              msg->post(); @@ -1280,7 +1280,7 @@ status_t NuPlayer::GenericSource::doSelectTrack(size_t trackIndex, bool select,          if (mTimedTextTrack.mSource != NULL                  && !mTimedTextTrack.mPackets->hasBufferAvailable(&eosResult)) { -            sp<AMessage> msg = new AMessage(kWhatFetchTimedTextData, id()); +            sp<AMessage> msg = new AMessage(kWhatFetchTimedTextData, this);              msg->setInt64("timeUs", timeUs);              msg->setInt32("generation", mFetchTimedTextDataGeneration);              msg->post(); @@ -1294,7 +1294,7 @@ status_t NuPlayer::GenericSource::doSelectTrack(size_t trackIndex, bool select,              return OK;          } -        sp<AMessage> msg = new AMessage(kWhatChangeAVSource, id()); +        sp<AMessage> msg = new AMessage(kWhatChangeAVSource, this);          msg->setInt32("trackIndex", trackIndex);          msg->post();          return OK; @@ -1304,7 +1304,7 @@ status_t NuPlayer::GenericSource::doSelectTrack(size_t trackIndex, bool select,  }  status_t NuPlayer::GenericSource::seekTo(int64_t seekTimeUs) { -    sp<AMessage> msg = new AMessage(kWhatSeek, id()); +    sp<AMessage> msg = new AMessage(kWhatSeek, this);      msg->setInt64("seekTimeUs", seekTimeUs);      sp<AMessage> response; @@ -1444,7 +1444,7 @@ void NuPlayer::GenericSource::postReadBuffer(media_track_type trackType) {      if ((mPendingReadBufferTypes & (1 << trackType)) == 0) {          mPendingReadBufferTypes |= (1 << trackType); -        sp<AMessage> msg = new AMessage(kWhatReadBuffer, id()); +        sp<AMessage> msg = new AMessage(kWhatReadBuffer, this);          msg->setInt32("trackType", trackType);          msg->post();      } diff --git a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp index a26ef9e..d01e83a 100644 --- a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp +++ b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp @@ -81,7 +81,7 @@ void NuPlayer::HTTPLiveSource::prepareAsync() {          mLiveLooper->registerHandler(this);      } -    sp<AMessage> notify = new AMessage(kWhatSessionNotify, id()); +    sp<AMessage> notify = new AMessage(kWhatSessionNotify, this);      mLiveSession = new LiveSession(              notify, @@ -153,7 +153,7 @@ status_t NuPlayer::HTTPLiveSource::selectTrack(size_t trackIndex, bool select, i      if (err == OK) {          mFetchSubtitleDataGeneration++;          if (select) { -            sp<AMessage> msg = new AMessage(kWhatFetchSubtitleData, id()); +            sp<AMessage> msg = new AMessage(kWhatFetchSubtitleData, this);              msg->setInt32("generation", mFetchSubtitleDataGeneration);              msg->post();          } diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp index 1e88bfa..007fbb9 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp @@ -200,9 +200,9 @@ void NuPlayer::setDriver(const wp<NuPlayerDriver> &driver) {  }  void NuPlayer::setDataSourceAsync(const sp<IStreamSource> &source) { -    sp<AMessage> msg = new AMessage(kWhatSetDataSource, id()); +    sp<AMessage> msg = new AMessage(kWhatSetDataSource, this); -    sp<AMessage> notify = new AMessage(kWhatSourceNotify, id()); +    sp<AMessage> notify = new AMessage(kWhatSourceNotify, this);      msg->setObject("source", new StreamingSource(notify, source));      msg->post(); @@ -230,10 +230,10 @@ void NuPlayer::setDataSourceAsync(          const char *url,          const KeyedVector<String8, String8> *headers) { -    sp<AMessage> msg = new AMessage(kWhatSetDataSource, id()); +    sp<AMessage> msg = new AMessage(kWhatSetDataSource, this);      size_t len = strlen(url); -    sp<AMessage> notify = new AMessage(kWhatSourceNotify, id()); +    sp<AMessage> notify = new AMessage(kWhatSourceNotify, this);      sp<Source> source;      if (IsHTTPLiveURL(url)) { @@ -267,9 +267,9 @@ void NuPlayer::setDataSourceAsync(  }  void NuPlayer::setDataSourceAsync(int fd, int64_t offset, int64_t length) { -    sp<AMessage> msg = new AMessage(kWhatSetDataSource, id()); +    sp<AMessage> msg = new AMessage(kWhatSetDataSource, this); -    sp<AMessage> notify = new AMessage(kWhatSourceNotify, id()); +    sp<AMessage> notify = new AMessage(kWhatSourceNotify, this);      sp<GenericSource> source =              new GenericSource(notify, mUIDValid, mUID); @@ -286,12 +286,12 @@ void NuPlayer::setDataSourceAsync(int fd, int64_t offset, int64_t length) {  }  void NuPlayer::prepareAsync() { -    (new AMessage(kWhatPrepare, id()))->post(); +    (new AMessage(kWhatPrepare, this))->post();  }  void NuPlayer::setVideoSurfaceTextureAsync(          const sp<IGraphicBufferProducer> &bufferProducer) { -    sp<AMessage> msg = new AMessage(kWhatSetVideoNativeWindow, id()); +    sp<AMessage> msg = new AMessage(kWhatSetVideoNativeWindow, this);      if (bufferProducer == NULL) {          msg->setObject("native-window", NULL); @@ -306,23 +306,23 @@ void NuPlayer::setVideoSurfaceTextureAsync(  }  void NuPlayer::setAudioSink(const sp<MediaPlayerBase::AudioSink> &sink) { -    sp<AMessage> msg = new AMessage(kWhatSetAudioSink, id()); +    sp<AMessage> msg = new AMessage(kWhatSetAudioSink, this);      msg->setObject("sink", sink);      msg->post();  }  void NuPlayer::start() { -    (new AMessage(kWhatStart, id()))->post(); +    (new AMessage(kWhatStart, this))->post();  }  void NuPlayer::setPlaybackRate(float rate) { -    sp<AMessage> msg = new AMessage(kWhatSetRate, id()); +    sp<AMessage> msg = new AMessage(kWhatSetRate, this);      msg->setFloat("rate", rate);      msg->post();  }  void NuPlayer::pause() { -    (new AMessage(kWhatPause, id()))->post(); +    (new AMessage(kWhatPause, this))->post();  }  void NuPlayer::resetAsync() { @@ -336,11 +336,11 @@ void NuPlayer::resetAsync() {          mSource->disconnect();      } -    (new AMessage(kWhatReset, id()))->post(); +    (new AMessage(kWhatReset, this))->post();  }  void NuPlayer::seekToAsync(int64_t seekTimeUs, bool needNotify) { -    sp<AMessage> msg = new AMessage(kWhatSeek, id()); +    sp<AMessage> msg = new AMessage(kWhatSeek, this);      msg->setInt64("seekTimeUs", seekTimeUs);      msg->setInt32("needNotify", needNotify);      msg->post(); @@ -1061,7 +1061,7 @@ void NuPlayer::onStart() {          flags |= Renderer::FLAG_OFFLOAD_AUDIO;      } -    sp<AMessage> notify = new AMessage(kWhatRendererNotify, id()); +    sp<AMessage> notify = new AMessage(kWhatRendererNotify, this);      ++mRendererGeneration;      notify->setInt32("generation", mRendererGeneration);      mRenderer = new Renderer(mAudioSink, notify, flags); @@ -1177,7 +1177,7 @@ void NuPlayer::postScanSources() {          return;      } -    sp<AMessage> msg = new AMessage(kWhatScanSources, id()); +    sp<AMessage> msg = new AMessage(kWhatScanSources, this);      msg->setInt32("generation", mScanSourcesGeneration);      msg->post(); @@ -1219,7 +1219,7 @@ status_t NuPlayer::instantiateDecoder(bool audio, sp<DecoderBase> *decoder) {          AString mime;          CHECK(format->findString("mime", &mime)); -        sp<AMessage> ccNotify = new AMessage(kWhatClosedCaptionNotify, id()); +        sp<AMessage> ccNotify = new AMessage(kWhatClosedCaptionNotify, this);          if (mCCDecoder == NULL) {              mCCDecoder = new CCDecoder(ccNotify);          } @@ -1234,7 +1234,7 @@ status_t NuPlayer::instantiateDecoder(bool audio, sp<DecoderBase> *decoder) {      }      if (audio) { -        sp<AMessage> notify = new AMessage(kWhatAudioNotify, id()); +        sp<AMessage> notify = new AMessage(kWhatAudioNotify, this);          ++mAudioDecoderGeneration;          notify->setInt32("generation", mAudioDecoderGeneration); @@ -1244,7 +1244,7 @@ status_t NuPlayer::instantiateDecoder(bool audio, sp<DecoderBase> *decoder) {              *decoder = new Decoder(notify, mSource, mRenderer);          }      } else { -        sp<AMessage> notify = new AMessage(kWhatVideoNotify, id()); +        sp<AMessage> notify = new AMessage(kWhatVideoNotify, this);          ++mVideoDecoderGeneration;          notify->setInt32("generation", mVideoDecoderGeneration); @@ -1435,7 +1435,7 @@ status_t NuPlayer::setVideoScalingMode(int32_t mode) {  }  status_t NuPlayer::getTrackInfo(Parcel* reply) const { -    sp<AMessage> msg = new AMessage(kWhatGetTrackInfo, id()); +    sp<AMessage> msg = new AMessage(kWhatGetTrackInfo, this);      msg->setPointer("reply", reply);      sp<AMessage> response; @@ -1444,7 +1444,7 @@ status_t NuPlayer::getTrackInfo(Parcel* reply) const {  }  status_t NuPlayer::getSelectedTrack(int32_t type, Parcel* reply) const { -    sp<AMessage> msg = new AMessage(kWhatGetSelectedTrack, id()); +    sp<AMessage> msg = new AMessage(kWhatGetSelectedTrack, this);      msg->setPointer("reply", reply);      msg->setInt32("type", type); @@ -1457,7 +1457,7 @@ status_t NuPlayer::getSelectedTrack(int32_t type, Parcel* reply) const {  }  status_t NuPlayer::selectTrack(size_t trackIndex, bool select, int64_t timeUs) { -    sp<AMessage> msg = new AMessage(kWhatSelectTrack, id()); +    sp<AMessage> msg = new AMessage(kWhatSelectTrack, this);      msg->setSize("trackIndex", trackIndex);      msg->setInt32("select", select);      msg->setInt64("timeUs", timeUs); @@ -1500,7 +1500,7 @@ sp<MetaData> NuPlayer::getFileMeta() {  }  void NuPlayer::schedulePollDuration() { -    sp<AMessage> msg = new AMessage(kWhatPollDuration, id()); +    sp<AMessage> msg = new AMessage(kWhatPollDuration, this);      msg->setInt32("generation", mPollDurationGeneration);      msg->post();  } diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp index 5d98d98..8e59b75 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp @@ -480,7 +480,7 @@ bool NuPlayer::Decoder::handleAnOutputBuffer() {      }      // we do not expect CODECCONFIG or SYNCFRAME for decoder -    sp<AMessage> reply = new AMessage(kWhatRenderBuffer, id()); +    sp<AMessage> reply = new AMessage(kWhatRenderBuffer, this);      reply->setSize("buffer-ix", bufferIx);      reply->setInt32("generation", mBufferGeneration); @@ -537,7 +537,7 @@ void NuPlayer::Decoder::requestCodecNotification() {          return;      }      if (mCodec != NULL) { -        sp<AMessage> reply = new AMessage(kWhatCodecNotify, id()); +        sp<AMessage> reply = new AMessage(kWhatCodecNotify, this);          reply->setInt32("generation", mBufferGeneration);          mCodec->requestActivityNotification(reply);      } diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoderBase.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoderBase.cpp index d56fc4d..72e7b0d 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoderBase.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoderBase.cpp @@ -61,7 +61,7 @@ status_t PostAndAwaitResponse(  }  void NuPlayer::DecoderBase::configure(const sp<AMessage> &format) { -    sp<AMessage> msg = new AMessage(kWhatConfigure, id()); +    sp<AMessage> msg = new AMessage(kWhatConfigure, this);      msg->setMessage("format", format);      msg->post();  } @@ -71,13 +71,13 @@ void NuPlayer::DecoderBase::init() {  }  void NuPlayer::DecoderBase::setRenderer(const sp<Renderer> &renderer) { -    sp<AMessage> msg = new AMessage(kWhatSetRenderer, id()); +    sp<AMessage> msg = new AMessage(kWhatSetRenderer, this);      msg->setObject("renderer", renderer);      msg->post();  }  status_t NuPlayer::DecoderBase::getInputBuffers(Vector<sp<ABuffer> > *buffers) const { -    sp<AMessage> msg = new AMessage(kWhatGetInputBuffers, id()); +    sp<AMessage> msg = new AMessage(kWhatGetInputBuffers, this);      msg->setPointer("buffers", buffers);      sp<AMessage> response; @@ -85,17 +85,17 @@ status_t NuPlayer::DecoderBase::getInputBuffers(Vector<sp<ABuffer> > *buffers) c  }  void NuPlayer::DecoderBase::signalFlush() { -    (new AMessage(kWhatFlush, id()))->post(); +    (new AMessage(kWhatFlush, this))->post();  }  void NuPlayer::DecoderBase::signalResume(bool notifyComplete) { -    sp<AMessage> msg = new AMessage(kWhatResume, id()); +    sp<AMessage> msg = new AMessage(kWhatResume, this);      msg->setInt32("notifyComplete", notifyComplete);      msg->post();  }  void NuPlayer::DecoderBase::initiateShutdown() { -    (new AMessage(kWhatShutdown, id()))->post(); +    (new AMessage(kWhatShutdown, this))->post();  }  void NuPlayer::DecoderBase::onRequestInputBuffers() { @@ -111,7 +111,7 @@ void NuPlayer::DecoderBase::scheduleRequestBuffers() {          return;      }      mRequestInputBuffersPending = true; -    sp<AMessage> msg = new AMessage(kWhatRequestInputBuffers, id()); +    sp<AMessage> msg = new AMessage(kWhatRequestInputBuffers, this);      msg->post(10 * 1000ll);  } diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.cpp index 9f7f09a..479eba1 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.cpp @@ -333,7 +333,7 @@ void NuPlayer::DecoderPassThrough::onInputBufferFetched(          return;      } -    sp<AMessage> reply = new AMessage(kWhatBufferConsumed, id()); +    sp<AMessage> reply = new AMessage(kWhatBufferConsumed, this);      reply->setInt32("generation", mBufferGeneration);      reply->setInt32("size", bufferSize); diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp index e491a31..337f7b1 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp @@ -104,7 +104,7 @@ void NuPlayer::Renderer::queueBuffer(          bool audio,          const sp<ABuffer> &buffer,          const sp<AMessage> ¬ifyConsumed) { -    sp<AMessage> msg = new AMessage(kWhatQueueBuffer, id()); +    sp<AMessage> msg = new AMessage(kWhatQueueBuffer, this);      msg->setInt32("queueGeneration", getQueueGeneration(audio));      msg->setInt32("audio", static_cast<int32_t>(audio));      msg->setBuffer("buffer", buffer); @@ -115,7 +115,7 @@ void NuPlayer::Renderer::queueBuffer(  void NuPlayer::Renderer::queueEOS(bool audio, status_t finalResult) {      CHECK_NE(finalResult, (status_t)OK); -    sp<AMessage> msg = new AMessage(kWhatQueueEOS, id()); +    sp<AMessage> msg = new AMessage(kWhatQueueEOS, this);      msg->setInt32("queueGeneration", getQueueGeneration(audio));      msg->setInt32("audio", static_cast<int32_t>(audio));      msg->setInt32("finalResult", finalResult); @@ -123,7 +123,7 @@ void NuPlayer::Renderer::queueEOS(bool audio, status_t finalResult) {  }  void NuPlayer::Renderer::setPlaybackRate(float rate) { -    sp<AMessage> msg = new AMessage(kWhatSetRate, id()); +    sp<AMessage> msg = new AMessage(kWhatSetRate, this);      msg->setFloat("rate", rate);      msg->post();  } @@ -147,7 +147,7 @@ void NuPlayer::Renderer::flush(bool audio, bool notifyComplete) {          mSyncQueues = false;      } -    sp<AMessage> msg = new AMessage(kWhatFlush, id()); +    sp<AMessage> msg = new AMessage(kWhatFlush, this);      msg->setInt32("audio", static_cast<int32_t>(audio));      msg->post();  } @@ -156,23 +156,23 @@ void NuPlayer::Renderer::signalTimeDiscontinuity() {  }  void NuPlayer::Renderer::signalDisableOffloadAudio() { -    (new AMessage(kWhatDisableOffloadAudio, id()))->post(); +    (new AMessage(kWhatDisableOffloadAudio, this))->post();  }  void NuPlayer::Renderer::signalEnableOffloadAudio() { -    (new AMessage(kWhatEnableOffloadAudio, id()))->post(); +    (new AMessage(kWhatEnableOffloadAudio, this))->post();  }  void NuPlayer::Renderer::pause() { -    (new AMessage(kWhatPause, id()))->post(); +    (new AMessage(kWhatPause, this))->post();  }  void NuPlayer::Renderer::resume() { -    (new AMessage(kWhatResume, id()))->post(); +    (new AMessage(kWhatResume, this))->post();  }  void NuPlayer::Renderer::setVideoFrameRate(float fps) { -    sp<AMessage> msg = new AMessage(kWhatSetVideoFrameRate, id()); +    sp<AMessage> msg = new AMessage(kWhatSetVideoFrameRate, this);      msg->setFloat("frame-rate", fps);      msg->post();  } @@ -216,7 +216,7 @@ status_t NuPlayer::Renderer::openAudioSink(          bool hasVideo,          uint32_t flags,          bool *isOffloaded) { -    sp<AMessage> msg = new AMessage(kWhatOpenAudioSink, id()); +    sp<AMessage> msg = new AMessage(kWhatOpenAudioSink, this);      msg->setMessage("format", format);      msg->setInt32("offload-only", offloadOnly);      msg->setInt32("has-video", hasVideo); @@ -237,7 +237,7 @@ status_t NuPlayer::Renderer::openAudioSink(  }  void NuPlayer::Renderer::closeAudioSink() { -    sp<AMessage> msg = new AMessage(kWhatCloseAudioSink, id()); +    sp<AMessage> msg = new AMessage(kWhatCloseAudioSink, this);      sp<AMessage> response;      msg->postAndAwaitResponse(&response); @@ -447,7 +447,7 @@ void NuPlayer::Renderer::postDrainAudioQueue_l(int64_t delayUs) {      }      mDrainAudioQueuePending = true; -    sp<AMessage> msg = new AMessage(kWhatDrainAudioQueue, id()); +    sp<AMessage> msg = new AMessage(kWhatDrainAudioQueue, this);      msg->setInt32("drainGeneration", mAudioDrainGeneration);      msg->post(delayUs);  } @@ -560,7 +560,7 @@ size_t NuPlayer::Renderer::fillAudioBuffer(void *buffer, size_t size) {      }      if (hasEOS) { -        (new AMessage(kWhatStopAudioSink, id()))->post(); +        (new AMessage(kWhatStopAudioSink, this))->post();      }      return sizeCopied; @@ -733,7 +733,7 @@ void NuPlayer::Renderer::postDrainVideoQueue() {      QueueEntry &entry = *mVideoQueue.begin(); -    sp<AMessage> msg = new AMessage(kWhatDrainVideoQueue, id()); +    sp<AMessage> msg = new AMessage(kWhatDrainVideoQueue, this);      msg->setInt32("drainGeneration", getDrainGeneration(false /* audio */));      if (entry.mBuffer == NULL) { @@ -894,7 +894,7 @@ void NuPlayer::Renderer::notifyEOS(bool audio, status_t finalResult, int64_t del  }  void NuPlayer::Renderer::notifyAudioOffloadTearDown() { -    (new AMessage(kWhatAudioOffloadTearDown, id()))->post(); +    (new AMessage(kWhatAudioOffloadTearDown, this))->post();  }  void NuPlayer::Renderer::onQueueBuffer(const sp<AMessage> &msg) { @@ -1322,7 +1322,7 @@ void NuPlayer::Renderer::onAudioOffloadTearDown(AudioOffloadTearDownReason reaso  void NuPlayer::Renderer::startAudioOffloadPauseTimeout() {      if (offloadingAudio()) {          mWakeLock->acquire(); -        sp<AMessage> msg = new AMessage(kWhatAudioOffloadPauseTimeout, id()); +        sp<AMessage> msg = new AMessage(kWhatAudioOffloadPauseTimeout, this);          msg->setInt32("drainGeneration", mAudioOffloadPauseTimeoutGeneration);          msg->post(kOffloadPauseMaxUs);      } diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.cpp index 885ebe4..f53afbd 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.cpp @@ -29,9 +29,9 @@ namespace android {  NuPlayer::NuPlayerStreamListener::NuPlayerStreamListener(          const sp<IStreamSource> &source, -        ALooper::handler_id id) +        const sp<AHandler> &targetHandler)      : mSource(source), -      mTargetID(id), +      mTargetHandler(targetHandler),        mEOS(false),        mSendDataNotification(true) {      mSource->setListener(this); @@ -65,8 +65,8 @@ void NuPlayer::NuPlayerStreamListener::queueBuffer(size_t index, size_t size) {      if (mSendDataNotification) {          mSendDataNotification = false; -        if (mTargetID != 0) { -            (new AMessage(kWhatMoreDataQueued, mTargetID))->post(); +        if (mTargetHandler != NULL) { +            (new AMessage(kWhatMoreDataQueued, mTargetHandler))->post();          }      }  } @@ -86,8 +86,8 @@ void NuPlayer::NuPlayerStreamListener::issueCommand(      if (mSendDataNotification) {          mSendDataNotification = false; -        if (mTargetID != 0) { -            (new AMessage(kWhatMoreDataQueued, mTargetID))->post(); +        if (mTargetHandler != NULL) { +            (new AMessage(kWhatMoreDataQueued, mTargetHandler))->post();          }      }  } diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.h b/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.h index 1874d80..2de829b 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.h +++ b/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.h @@ -29,7 +29,7 @@ struct MemoryDealer;  struct NuPlayer::NuPlayerStreamListener : public BnStreamListener {      NuPlayerStreamListener(              const sp<IStreamSource> &source, -            ALooper::handler_id targetID); +            const sp<AHandler> &targetHandler);      virtual void queueBuffer(size_t index, size_t size); @@ -59,7 +59,7 @@ private:      Mutex mLock;      sp<IStreamSource> mSource; -    ALooper::handler_id mTargetID; +    sp<AHandler> mTargetHandler;      sp<MemoryDealer> mMemoryDealer;      Vector<sp<IMemory> > mBuffers;      List<QueueEntry> mQueue; diff --git a/media/libmediaplayerservice/nuplayer/RTSPSource.cpp b/media/libmediaplayerservice/nuplayer/RTSPSource.cpp index 0282a9f..57d9ab2 100644 --- a/media/libmediaplayerservice/nuplayer/RTSPSource.cpp +++ b/media/libmediaplayerservice/nuplayer/RTSPSource.cpp @@ -87,7 +87,7 @@ void NuPlayer::RTSPSource::prepareAsync() {      CHECK(mHandler == NULL);      CHECK(mSDPLoader == NULL); -    sp<AMessage> notify = new AMessage(kWhatNotify, id()); +    sp<AMessage> notify = new AMessage(kWhatNotify, this);      CHECK_EQ(mState, (int)DISCONNECTED);      mState = CONNECTING; @@ -116,7 +116,7 @@ void NuPlayer::RTSPSource::stop() {      if (mLooper == NULL) {          return;      } -    sp<AMessage> msg = new AMessage(kWhatDisconnect, id()); +    sp<AMessage> msg = new AMessage(kWhatDisconnect, this);      sp<AMessage> dummy;      msg->postAndAwaitResponse(&dummy); @@ -292,7 +292,7 @@ status_t NuPlayer::RTSPSource::getDuration(int64_t *durationUs) {  }  status_t NuPlayer::RTSPSource::seekTo(int64_t seekTimeUs) { -    sp<AMessage> msg = new AMessage(kWhatPerformSeek, id()); +    sp<AMessage> msg = new AMessage(kWhatPerformSeek, this);      msg->setInt32("generation", ++mSeekGeneration);      msg->setInt64("timeUs", seekTimeUs);      msg->post(200000ll); @@ -600,7 +600,7 @@ void NuPlayer::RTSPSource::onSDPLoaded(const sp<AMessage> &msg) {              ALOGE("Unable to find url in SDP");              err = UNKNOWN_ERROR;          } else { -            sp<AMessage> notify = new AMessage(kWhatNotify, id()); +            sp<AMessage> notify = new AMessage(kWhatNotify, this);              mHandler = new MyHandler(rtspUri.c_str(), notify, mUIDValid, mUID);              mLooper->registerHandler(mHandler); diff --git a/media/libmediaplayerservice/nuplayer/StreamingSource.cpp b/media/libmediaplayerservice/nuplayer/StreamingSource.cpp index b3f224d..0246b59 100644 --- a/media/libmediaplayerservice/nuplayer/StreamingSource.cpp +++ b/media/libmediaplayerservice/nuplayer/StreamingSource.cpp @@ -63,7 +63,7 @@ void NuPlayer::StreamingSource::prepareAsync() {  }  void NuPlayer::StreamingSource::start() { -    mStreamListener = new NuPlayerStreamListener(mSource, 0); +    mStreamListener = new NuPlayerStreamListener(mSource, NULL);      uint32_t sourceFlags = mSource->flags(); @@ -163,7 +163,7 @@ status_t NuPlayer::StreamingSource::postReadBuffer() {          mBuffering = true;      } -    (new AMessage(kWhatReadBuffer, id()))->post(); +    (new AMessage(kWhatReadBuffer, this))->post();      return OK;  } diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 7d313e0..c75d4df 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -452,61 +452,61 @@ void ACodec::setNotificationMessage(const sp<AMessage> &msg) {  void ACodec::initiateSetup(const sp<AMessage> &msg) {      msg->setWhat(kWhatSetup); -    msg->setTarget(id()); +    msg->setTarget(this);      msg->post();  }  void ACodec::signalSetParameters(const sp<AMessage> ¶ms) { -    sp<AMessage> msg = new AMessage(kWhatSetParameters, id()); +    sp<AMessage> msg = new AMessage(kWhatSetParameters, this);      msg->setMessage("params", params);      msg->post();  }  void ACodec::initiateAllocateComponent(const sp<AMessage> &msg) {      msg->setWhat(kWhatAllocateComponent); -    msg->setTarget(id()); +    msg->setTarget(this);      msg->post();  }  void ACodec::initiateConfigureComponent(const sp<AMessage> &msg) {      msg->setWhat(kWhatConfigureComponent); -    msg->setTarget(id()); +    msg->setTarget(this);      msg->post();  }  void ACodec::initiateCreateInputSurface() { -    (new AMessage(kWhatCreateInputSurface, id()))->post(); +    (new AMessage(kWhatCreateInputSurface, this))->post();  }  void ACodec::signalEndOfInputStream() { -    (new AMessage(kWhatSignalEndOfInputStream, id()))->post(); +    (new AMessage(kWhatSignalEndOfInputStream, this))->post();  }  void ACodec::initiateStart() { -    (new AMessage(kWhatStart, id()))->post(); +    (new AMessage(kWhatStart, this))->post();  }  void ACodec::signalFlush() {      ALOGV("[%s] signalFlush", mComponentName.c_str()); -    (new AMessage(kWhatFlush, id()))->post(); +    (new AMessage(kWhatFlush, this))->post();  }  void ACodec::signalResume() { -    (new AMessage(kWhatResume, id()))->post(); +    (new AMessage(kWhatResume, this))->post();  }  void ACodec::initiateShutdown(bool keepComponentAllocated) { -    sp<AMessage> msg = new AMessage(kWhatShutdown, id()); +    sp<AMessage> msg = new AMessage(kWhatShutdown, this);      msg->setInt32("keepComponentAllocated", keepComponentAllocated);      msg->post();      if (!keepComponentAllocated) {          // ensure shutdown completes in 3 seconds -        (new AMessage(kWhatReleaseCodecInstance, id()))->post(3000000); +        (new AMessage(kWhatReleaseCodecInstance, this))->post(3000000);      }  }  void ACodec::signalRequestIDRFrame() { -    (new AMessage(kWhatRequestIDRFrame, id()))->post(); +    (new AMessage(kWhatRequestIDRFrame, this))->post();  }  // *** NOTE: THE FOLLOWING WORKAROUND WILL BE REMOVED *** @@ -517,7 +517,7 @@ void ACodec::signalRequestIDRFrame() {  void ACodec::signalSubmitOutputMetaDataBufferIfEOS_workaround() {      if (mPortEOS[kPortIndexInput] && !mPortEOS[kPortIndexOutput] &&              mMetaDataBuffersToSubmit > 0) { -        (new AMessage(kWhatSubmitOutputMetaDataBufferIfEOS, id()))->post(); +        (new AMessage(kWhatSubmitOutputMetaDataBufferIfEOS, this))->post();      }  } @@ -4298,7 +4298,7 @@ void ACodec::BaseState::postFillThisBuffer(BufferInfo *info) {      info->mData->meta()->clear();      notify->setBuffer("buffer", info->mData); -    sp<AMessage> reply = new AMessage(kWhatInputBufferFilled, mCodec->id()); +    sp<AMessage> reply = new AMessage(kWhatInputBufferFilled, mCodec);      reply->setInt32("buffer-id", info->mBufferID);      notify->setMessage("reply", reply); @@ -4558,7 +4558,7 @@ bool ACodec::BaseState::onOMXFillBufferDone(              }              sp<AMessage> reply = -                new AMessage(kWhatOutputBufferDrained, mCodec->id()); +                new AMessage(kWhatOutputBufferDrained, mCodec);              if (!mCodec->mSentFormat && rangeLength > 0) {                  mCodec->sendFormatChange(reply); @@ -4834,7 +4834,7 @@ bool ACodec::UninitializedState::onAllocateComponent(const sp<AMessage> &msg) {      sp<IOMX> omx = client.interface(); -    sp<AMessage> notify = new AMessage(kWhatOMXDied, mCodec->id()); +    sp<AMessage> notify = new AMessage(kWhatOMXDied, mCodec);      mDeathNotifier = new DeathNotifier(notify);      if (IInterface::asBinder(omx)->linkToDeath(mDeathNotifier) != OK) { @@ -4909,7 +4909,7 @@ bool ACodec::UninitializedState::onAllocateComponent(const sp<AMessage> &msg) {          return false;      } -    notify = new AMessage(kWhatOMXMessage, mCodec->id()); +    notify = new AMessage(kWhatOMXMessage, mCodec);      observer->setNotificationMessage(notify);      mCodec->mComponentName = componentName; @@ -6000,7 +6000,7 @@ bool ACodec::FlushingState::onOMXEvent(          case OMX_EventPortSettingsChanged:          { -            sp<AMessage> msg = new AMessage(kWhatOMXMessage, mCodec->id()); +            sp<AMessage> msg = new AMessage(kWhatOMXMessage, mCodec);              msg->setInt32("type", omx_message::EVENT);              msg->setInt32("node", mCodec->mNode);              msg->setInt32("event", event); diff --git a/media/libstagefright/MPEG2TSWriter.cpp b/media/libstagefright/MPEG2TSWriter.cpp index 4359fb9..ef07aa0 100644 --- a/media/libstagefright/MPEG2TSWriter.cpp +++ b/media/libstagefright/MPEG2TSWriter.cpp @@ -135,7 +135,7 @@ void MPEG2TSWriter::SourceInfo::start(const sp<AMessage> ¬ify) {      mNotify = notify; -    (new AMessage(kWhatStart, id()))->post(); +    (new AMessage(kWhatStart, this))->post();  }  void MPEG2TSWriter::SourceInfo::stop() { @@ -361,7 +361,7 @@ bool MPEG2TSWriter::SourceInfo::flushAACFrames() {  }  void MPEG2TSWriter::SourceInfo::readMore() { -    (new AMessage(kWhatRead, id()))->post(); +    (new AMessage(kWhatRead, this))->post();  }  void MPEG2TSWriter::SourceInfo::onMessageReceived(const sp<AMessage> &msg) { @@ -552,7 +552,7 @@ status_t MPEG2TSWriter::start(MetaData * /* param */) {      for (size_t i = 0; i < mSources.size(); ++i) {          sp<AMessage> notify = -            new AMessage(kWhatSourceNotify, mReflector->id()); +            new AMessage(kWhatSourceNotify, mReflector);          notify->setInt32("source-index", i); diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp index 50e6bd0..6282813 100644 --- a/media/libstagefright/MediaCodec.cpp +++ b/media/libstagefright/MediaCodec.cpp @@ -237,9 +237,9 @@ status_t MediaCodec::init(const AString &name, bool nameIsType, bool encoder) {      mLooper->registerHandler(this); -    mCodec->setNotificationMessage(new AMessage(kWhatCodecNotify, id())); +    mCodec->setNotificationMessage(new AMessage(kWhatCodecNotify, this)); -    sp<AMessage> msg = new AMessage(kWhatInit, id()); +    sp<AMessage> msg = new AMessage(kWhatInit, this);      msg->setString("name", name);      msg->setInt32("nameIsType", nameIsType); @@ -252,7 +252,7 @@ status_t MediaCodec::init(const AString &name, bool nameIsType, bool encoder) {  }  status_t MediaCodec::setCallback(const sp<AMessage> &callback) { -    sp<AMessage> msg = new AMessage(kWhatSetCallback, id()); +    sp<AMessage> msg = new AMessage(kWhatSetCallback, this);      msg->setMessage("callback", callback);      sp<AMessage> response; @@ -264,7 +264,7 @@ status_t MediaCodec::configure(          const sp<Surface> &nativeWindow,          const sp<ICrypto> &crypto,          uint32_t flags) { -    sp<AMessage> msg = new AMessage(kWhatConfigure, id()); +    sp<AMessage> msg = new AMessage(kWhatConfigure, this);      msg->setMessage("format", format);      msg->setInt32("flags", flags); @@ -298,7 +298,7 @@ status_t MediaCodec::configure(  status_t MediaCodec::createInputSurface(          sp<IGraphicBufferProducer>* bufferProducer) { -    sp<AMessage> msg = new AMessage(kWhatCreateInputSurface, id()); +    sp<AMessage> msg = new AMessage(kWhatCreateInputSurface, this);      sp<AMessage> response;      status_t err = PostAndAwaitResponse(msg, &response); @@ -317,21 +317,21 @@ status_t MediaCodec::createInputSurface(  }  status_t MediaCodec::start() { -    sp<AMessage> msg = new AMessage(kWhatStart, id()); +    sp<AMessage> msg = new AMessage(kWhatStart, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response);  }  status_t MediaCodec::stop() { -    sp<AMessage> msg = new AMessage(kWhatStop, id()); +    sp<AMessage> msg = new AMessage(kWhatStop, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response);  }  status_t MediaCodec::release() { -    sp<AMessage> msg = new AMessage(kWhatRelease, id()); +    sp<AMessage> msg = new AMessage(kWhatRelease, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response); @@ -383,7 +383,7 @@ status_t MediaCodec::queueInputBuffer(          errorDetailMsg->clear();      } -    sp<AMessage> msg = new AMessage(kWhatQueueInputBuffer, id()); +    sp<AMessage> msg = new AMessage(kWhatQueueInputBuffer, this);      msg->setSize("index", index);      msg->setSize("offset", offset);      msg->setSize("size", size); @@ -410,7 +410,7 @@ status_t MediaCodec::queueSecureInputBuffer(          errorDetailMsg->clear();      } -    sp<AMessage> msg = new AMessage(kWhatQueueInputBuffer, id()); +    sp<AMessage> msg = new AMessage(kWhatQueueInputBuffer, this);      msg->setSize("index", index);      msg->setSize("offset", offset);      msg->setPointer("subSamples", (void *)subSamples); @@ -429,7 +429,7 @@ status_t MediaCodec::queueSecureInputBuffer(  }  status_t MediaCodec::dequeueInputBuffer(size_t *index, int64_t timeoutUs) { -    sp<AMessage> msg = new AMessage(kWhatDequeueInputBuffer, id()); +    sp<AMessage> msg = new AMessage(kWhatDequeueInputBuffer, this);      msg->setInt64("timeoutUs", timeoutUs);      sp<AMessage> response; @@ -450,7 +450,7 @@ status_t MediaCodec::dequeueOutputBuffer(          int64_t *presentationTimeUs,          uint32_t *flags,          int64_t timeoutUs) { -    sp<AMessage> msg = new AMessage(kWhatDequeueOutputBuffer, id()); +    sp<AMessage> msg = new AMessage(kWhatDequeueOutputBuffer, this);      msg->setInt64("timeoutUs", timeoutUs);      sp<AMessage> response; @@ -469,7 +469,7 @@ status_t MediaCodec::dequeueOutputBuffer(  }  status_t MediaCodec::renderOutputBufferAndRelease(size_t index) { -    sp<AMessage> msg = new AMessage(kWhatReleaseOutputBuffer, id()); +    sp<AMessage> msg = new AMessage(kWhatReleaseOutputBuffer, this);      msg->setSize("index", index);      msg->setInt32("render", true); @@ -478,7 +478,7 @@ status_t MediaCodec::renderOutputBufferAndRelease(size_t index) {  }  status_t MediaCodec::renderOutputBufferAndRelease(size_t index, int64_t timestampNs) { -    sp<AMessage> msg = new AMessage(kWhatReleaseOutputBuffer, id()); +    sp<AMessage> msg = new AMessage(kWhatReleaseOutputBuffer, this);      msg->setSize("index", index);      msg->setInt32("render", true);      msg->setInt64("timestampNs", timestampNs); @@ -488,7 +488,7 @@ status_t MediaCodec::renderOutputBufferAndRelease(size_t index, int64_t timestam  }  status_t MediaCodec::releaseOutputBuffer(size_t index) { -    sp<AMessage> msg = new AMessage(kWhatReleaseOutputBuffer, id()); +    sp<AMessage> msg = new AMessage(kWhatReleaseOutputBuffer, this);      msg->setSize("index", index);      sp<AMessage> response; @@ -496,14 +496,14 @@ status_t MediaCodec::releaseOutputBuffer(size_t index) {  }  status_t MediaCodec::signalEndOfInputStream() { -    sp<AMessage> msg = new AMessage(kWhatSignalEndOfInputStream, id()); +    sp<AMessage> msg = new AMessage(kWhatSignalEndOfInputStream, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response);  }  status_t MediaCodec::getOutputFormat(sp<AMessage> *format) const { -    sp<AMessage> msg = new AMessage(kWhatGetOutputFormat, id()); +    sp<AMessage> msg = new AMessage(kWhatGetOutputFormat, this);      sp<AMessage> response;      status_t err; @@ -517,7 +517,7 @@ status_t MediaCodec::getOutputFormat(sp<AMessage> *format) const {  }  status_t MediaCodec::getInputFormat(sp<AMessage> *format) const { -    sp<AMessage> msg = new AMessage(kWhatGetInputFormat, id()); +    sp<AMessage> msg = new AMessage(kWhatGetInputFormat, this);      sp<AMessage> response;      status_t err; @@ -531,7 +531,7 @@ status_t MediaCodec::getInputFormat(sp<AMessage> *format) const {  }  status_t MediaCodec::getName(AString *name) const { -    sp<AMessage> msg = new AMessage(kWhatGetName, id()); +    sp<AMessage> msg = new AMessage(kWhatGetName, this);      sp<AMessage> response;      status_t err; @@ -545,7 +545,7 @@ status_t MediaCodec::getName(AString *name) const {  }  status_t MediaCodec::getInputBuffers(Vector<sp<ABuffer> > *buffers) const { -    sp<AMessage> msg = new AMessage(kWhatGetBuffers, id()); +    sp<AMessage> msg = new AMessage(kWhatGetBuffers, this);      msg->setInt32("portIndex", kPortIndexInput);      msg->setPointer("buffers", buffers); @@ -554,7 +554,7 @@ status_t MediaCodec::getInputBuffers(Vector<sp<ABuffer> > *buffers) const {  }  status_t MediaCodec::getOutputBuffers(Vector<sp<ABuffer> > *buffers) const { -    sp<AMessage> msg = new AMessage(kWhatGetBuffers, id()); +    sp<AMessage> msg = new AMessage(kWhatGetBuffers, this);      msg->setInt32("portIndex", kPortIndexOutput);      msg->setPointer("buffers", buffers); @@ -612,20 +612,20 @@ status_t MediaCodec::getBufferAndFormat(  }  status_t MediaCodec::flush() { -    sp<AMessage> msg = new AMessage(kWhatFlush, id()); +    sp<AMessage> msg = new AMessage(kWhatFlush, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response);  }  status_t MediaCodec::requestIDRFrame() { -    (new AMessage(kWhatRequestIDRFrame, id()))->post(); +    (new AMessage(kWhatRequestIDRFrame, this))->post();      return OK;  }  void MediaCodec::requestActivityNotification(const sp<AMessage> ¬ify) { -    sp<AMessage> msg = new AMessage(kWhatRequestActivityNotification, id()); +    sp<AMessage> msg = new AMessage(kWhatRequestActivityNotification, this);      msg->setMessage("notify", notify);      msg->post();  } @@ -1445,7 +1445,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) {              if (timeoutUs > 0ll) {                  sp<AMessage> timeoutMsg = -                    new AMessage(kWhatDequeueInputTimedOut, id()); +                    new AMessage(kWhatDequeueInputTimedOut, this);                  timeoutMsg->setInt32(                          "generation", ++mDequeueInputTimeoutGeneration);                  timeoutMsg->post(timeoutUs); @@ -1519,7 +1519,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) {              if (timeoutUs > 0ll) {                  sp<AMessage> timeoutMsg = -                    new AMessage(kWhatDequeueOutputTimedOut, id()); +                    new AMessage(kWhatDequeueOutputTimedOut, this);                  timeoutMsg->setInt32(                          "generation", ++mDequeueOutputTimeoutGeneration);                  timeoutMsg->post(timeoutUs); @@ -1752,7 +1752,7 @@ status_t MediaCodec::queueCSDInputBuffer(size_t bufferIndex) {      AString errorDetailMsg; -    sp<AMessage> msg = new AMessage(kWhatQueueInputBuffer, id()); +    sp<AMessage> msg = new AMessage(kWhatQueueInputBuffer, this);      msg->setSize("index", bufferIndex);      msg->setSize("offset", 0);      msg->setSize("size", csd->size()); @@ -2207,7 +2207,7 @@ void MediaCodec::postActivityNotificationIfPossible() {  }  status_t MediaCodec::setParameters(const sp<AMessage> ¶ms) { -    sp<AMessage> msg = new AMessage(kWhatSetParameters, id()); +    sp<AMessage> msg = new AMessage(kWhatSetParameters, this);      msg->setMessage("params", params);      sp<AMessage> response; diff --git a/media/libstagefright/MediaCodecSource.cpp b/media/libstagefright/MediaCodecSource.cpp index c26e909..1ef4170 100644 --- a/media/libstagefright/MediaCodecSource.cpp +++ b/media/libstagefright/MediaCodecSource.cpp @@ -121,7 +121,7 @@ status_t MediaCodecSource::Puller::start(const sp<MetaData> &meta,      mLooper->registerHandler(this);      mNotify = notify; -    sp<AMessage> msg = new AMessage(kWhatStart, id()); +    sp<AMessage> msg = new AMessage(kWhatStart, this);      msg->setObject("meta", meta);      return postSynchronouslyAndReturnError(msg);  } @@ -137,19 +137,19 @@ void MediaCodecSource::Puller::stop() {      mSource->stop();      ALOGV("source (%s) stopped", mIsAudio ? "audio" : "video"); -    (new AMessage(kWhatStop, id()))->post(); +    (new AMessage(kWhatStop, this))->post();  }  void MediaCodecSource::Puller::pause() { -    (new AMessage(kWhatPause, id()))->post(); +    (new AMessage(kWhatPause, this))->post();  }  void MediaCodecSource::Puller::resume() { -    (new AMessage(kWhatResume, id()))->post(); +    (new AMessage(kWhatResume, this))->post();  }  void MediaCodecSource::Puller::schedulePull() { -    sp<AMessage> msg = new AMessage(kWhatPull, id()); +    sp<AMessage> msg = new AMessage(kWhatPull, this);      msg->setInt32("generation", mPullGeneration);      msg->post();  } @@ -269,13 +269,13 @@ sp<MediaCodecSource> MediaCodecSource::Create(  }  status_t MediaCodecSource::start(MetaData* params) { -    sp<AMessage> msg = new AMessage(kWhatStart, mReflector->id()); +    sp<AMessage> msg = new AMessage(kWhatStart, mReflector);      msg->setObject("meta", params);      return postSynchronouslyAndReturnError(msg);  }  status_t MediaCodecSource::stop() { -    sp<AMessage> msg = new AMessage(kWhatStop, mReflector->id()); +    sp<AMessage> msg = new AMessage(kWhatStop, mReflector);      status_t err = postSynchronouslyAndReturnError(msg);      // mPuller->stop() needs to be done outside MediaCodecSource's looper, @@ -294,7 +294,7 @@ status_t MediaCodecSource::stop() {  }  status_t MediaCodecSource::pause() { -    (new AMessage(kWhatPause, mReflector->id()))->post(); +    (new AMessage(kWhatPause, mReflector))->post();      return OK;  } @@ -422,8 +422,7 @@ status_t MediaCodecSource::initEncoder() {          }      } -    mEncoderActivityNotify = new AMessage( -            kWhatEncoderActivity, mReflector->id()); +    mEncoderActivityNotify = new AMessage(kWhatEncoderActivity, mReflector);      mEncoder->setCallback(mEncoderActivityNotify);      err = mEncoder->start(); @@ -620,8 +619,7 @@ status_t MediaCodecSource::onStart(MetaData *params) {          resume(startTimeUs);      } else {          CHECK(mPuller != NULL); -        sp<AMessage> notify = new AMessage( -                kWhatPullerNotify, mReflector->id()); +        sp<AMessage> notify = new AMessage(kWhatPullerNotify, mReflector);          err = mPuller->start(params, notify);          if (err != OK) {              return err; diff --git a/media/libstagefright/NuCachedSource2.cpp b/media/libstagefright/NuCachedSource2.cpp index 7d7d631..8d70e50 100644 --- a/media/libstagefright/NuCachedSource2.cpp +++ b/media/libstagefright/NuCachedSource2.cpp @@ -226,7 +226,7 @@ NuCachedSource2::NuCachedSource2(      mLooper->start(false /* runOnCallingThread */, true /* canCallJava */);      Mutex::Autolock autoLock(mLock); -    (new AMessage(kWhatFetchMore, mReflector->id()))->post(); +    (new AMessage(kWhatFetchMore, mReflector))->post();  }  NuCachedSource2::~NuCachedSource2() { @@ -433,7 +433,7 @@ void NuCachedSource2::onFetch() {          delayUs = 100000ll;      } -    (new AMessage(kWhatFetchMore, mReflector->id()))->post(delayUs); +    (new AMessage(kWhatFetchMore, mReflector))->post(delayUs);  }  void NuCachedSource2::onRead(const sp<AMessage> &msg) { @@ -522,7 +522,7 @@ ssize_t NuCachedSource2::readAt(off64_t offset, void *data, size_t size) {          return size;      } -    sp<AMessage> msg = new AMessage(kWhatRead, mReflector->id()); +    sp<AMessage> msg = new AMessage(kWhatRead, mReflector);      msg->setInt64("offset", offset);      msg->setPointer("data", data);      msg->setSize("size", size); diff --git a/media/libstagefright/filters/MediaFilter.cpp b/media/libstagefright/filters/MediaFilter.cpp index c5289b6..d2f662d 100644 --- a/media/libstagefright/filters/MediaFilter.cpp +++ b/media/libstagefright/filters/MediaFilter.cpp @@ -60,36 +60,36 @@ void MediaFilter::setNotificationMessage(const sp<AMessage> &msg) {  void MediaFilter::initiateAllocateComponent(const sp<AMessage> &msg) {      msg->setWhat(kWhatAllocateComponent); -    msg->setTarget(id()); +    msg->setTarget(this);      msg->post();  }  void MediaFilter::initiateConfigureComponent(const sp<AMessage> &msg) {      msg->setWhat(kWhatConfigureComponent); -    msg->setTarget(id()); +    msg->setTarget(this);      msg->post();  }  void MediaFilter::initiateCreateInputSurface() { -    (new AMessage(kWhatCreateInputSurface, id()))->post(); +    (new AMessage(kWhatCreateInputSurface, this))->post();  }  void MediaFilter::initiateStart() { -    (new AMessage(kWhatStart, id()))->post(); +    (new AMessage(kWhatStart, this))->post();  }  void MediaFilter::initiateShutdown(bool keepComponentAllocated) { -    sp<AMessage> msg = new AMessage(kWhatShutdown, id()); +    sp<AMessage> msg = new AMessage(kWhatShutdown, this);      msg->setInt32("keepComponentAllocated", keepComponentAllocated);      msg->post();  }  void MediaFilter::signalFlush() { -    (new AMessage(kWhatFlush, id()))->post(); +    (new AMessage(kWhatFlush, this))->post();  }  void MediaFilter::signalResume() { -    (new AMessage(kWhatResume, id()))->post(); +    (new AMessage(kWhatResume, this))->post();  }  // nothing to do @@ -98,13 +98,13 @@ void MediaFilter::signalRequestIDRFrame() {  }  void MediaFilter::signalSetParameters(const sp<AMessage> ¶ms) { -    sp<AMessage> msg = new AMessage(kWhatSetParameters, id()); +    sp<AMessage> msg = new AMessage(kWhatSetParameters, this);      msg->setMessage("params", params);      msg->post();  }  void MediaFilter::signalEndOfInputStream() { -    (new AMessage(kWhatSignalEndOfInputStream, id()))->post(); +    (new AMessage(kWhatSignalEndOfInputStream, this))->post();  }  void MediaFilter::onMessageReceived(const sp<AMessage> &msg) { @@ -208,7 +208,7 @@ sp<ABuffer> MediaFilter::PortDescription::bufferAt(size_t index) const {  //////////////////// HELPER FUNCTIONS //////////////////////////////////////////  void MediaFilter::signalProcessBuffers() { -    (new AMessage(kWhatProcessBuffers, id()))->post(); +    (new AMessage(kWhatProcessBuffers, this))->post();  }  void MediaFilter::signalError(status_t error) { @@ -309,7 +309,7 @@ void MediaFilter::postFillThisBuffer(BufferInfo *info) {      info->mData->meta()->clear();      notify->setBuffer("buffer", info->mData); -    sp<AMessage> reply = new AMessage(kWhatInputBufferFilled, id()); +    sp<AMessage> reply = new AMessage(kWhatInputBufferFilled, this);      reply->setInt32("buffer-id", info->mBufferID);      notify->setMessage("reply", reply); @@ -329,7 +329,7 @@ void MediaFilter::postDrainThisBuffer(BufferInfo *info) {      notify->setInt32("flags", info->mOutputFlags);      notify->setBuffer("buffer", info->mData); -    sp<AMessage> reply = new AMessage(kWhatOutputBufferDrained, id()); +    sp<AMessage> reply = new AMessage(kWhatOutputBufferDrained, this);      reply->setInt32("buffer-id", info->mBufferID);      notify->setMessage("reply", reply); @@ -729,7 +729,7 @@ void MediaFilter::onCreateInputSurface() {      mGraphicBufferListener = new GraphicBufferListener;      sp<AMessage> notify = new AMessage(); -    notify->setTarget(id()); +    notify->setTarget(this);      status_t err = mGraphicBufferListener->init(              notify, mStride, mSliceHeight, kBufferCountActual); diff --git a/media/libstagefright/httplive/LiveSession.cpp b/media/libstagefright/httplive/LiveSession.cpp index d0f3bc2..dcac765 100644 --- a/media/libstagefright/httplive/LiveSession.cpp +++ b/media/libstagefright/httplive/LiveSession.cpp @@ -244,7 +244,7 @@ status_t LiveSession::dequeueAccessUnit(                  Mutex::Autolock lock(mSwapMutex);                  if (switchGeneration == mSwitchGeneration) {                      swapPacketSource(stream); -                    sp<AMessage> msg = new AMessage(kWhatSwapped, id()); +                    sp<AMessage> msg = new AMessage(kWhatSwapped, this);                      msg->setInt32("stream", stream);                      msg->setInt32("switchGeneration", switchGeneration);                      msg->post(); @@ -349,7 +349,7 @@ status_t LiveSession::getStreamFormat(StreamType stream, sp<AMessage> *format) {  void LiveSession::connectAsync(          const char *url, const KeyedVector<String8, String8> *headers) { -    sp<AMessage> msg = new AMessage(kWhatConnect, id()); +    sp<AMessage> msg = new AMessage(kWhatConnect, this);      msg->setString("url", url);      if (headers != NULL) { @@ -362,7 +362,7 @@ void LiveSession::connectAsync(  }  status_t LiveSession::disconnect() { -    sp<AMessage> msg = new AMessage(kWhatDisconnect, id()); +    sp<AMessage> msg = new AMessage(kWhatDisconnect, this);      sp<AMessage> response;      status_t err = msg->postAndAwaitResponse(&response); @@ -371,7 +371,7 @@ status_t LiveSession::disconnect() {  }  status_t LiveSession::seekTo(int64_t timeUs) { -    sp<AMessage> msg = new AMessage(kWhatSeek, id()); +    sp<AMessage> msg = new AMessage(kWhatSeek, this);      msg->setInt64("timeUs", timeUs);      sp<AMessage> response; @@ -757,7 +757,7 @@ void LiveSession::finishDisconnect() {          mFetcherInfos.valueAt(i).mFetcher->stopAsync();      } -    sp<AMessage> msg = new AMessage(kWhatFinishDisconnect2, id()); +    sp<AMessage> msg = new AMessage(kWhatFinishDisconnect2, this);      mContinuationCounter = mFetcherInfos.size();      mContinuation = msg; @@ -790,7 +790,7 @@ sp<PlaylistFetcher> LiveSession::addFetcher(const char *uri) {          return NULL;      } -    sp<AMessage> notify = new AMessage(kWhatFetcherNotify, id()); +    sp<AMessage> notify = new AMessage(kWhatFetcherNotify, this);      notify->setString("uri", uri);      notify->setInt32("switchGeneration", mSwitchGeneration); @@ -1185,7 +1185,7 @@ status_t LiveSession::selectTrack(size_t index, bool select) {      ++mSubtitleGeneration;      status_t err = mPlaylist->selectTrack(index, select);      if (err == OK) { -        sp<AMessage> msg = new AMessage(kWhatChangeConfiguration, id()); +        sp<AMessage> msg = new AMessage(kWhatChangeConfiguration, this);          msg->setInt32("bandwidthIndex", mCurBandwidthIndex);          msg->setInt32("pickTrack", select);          msg->post(); @@ -1273,9 +1273,9 @@ void LiveSession::changeConfiguration(      sp<AMessage> msg;      if (timeUs < 0ll) {          // skip onChangeConfiguration2 (decoder destruction) if not seeking. -        msg = new AMessage(kWhatChangeConfiguration3, id()); +        msg = new AMessage(kWhatChangeConfiguration3, this);      } else { -        msg = new AMessage(kWhatChangeConfiguration2, id()); +        msg = new AMessage(kWhatChangeConfiguration2, this);      }      msg->setInt32("streamMask", streamMask);      msg->setInt32("resumeMask", resumeMask); @@ -1372,7 +1372,7 @@ void LiveSession::onChangeConfiguration2(const sp<AMessage> &msg) {      notify->setInt32("changedMask", changedMask);      msg->setWhat(kWhatChangeConfiguration3); -    msg->setTarget(id()); +    msg->setTarget(this);      notify->setMessage("reply", msg);      notify->post(); @@ -1644,7 +1644,7 @@ void LiveSession::onCheckSwitchDown() {              int64_t targetDurationUs = targetDuration * 1000000ll;              if (bufferedDurationUs < targetDurationUs / 3) { -                (new AMessage(kWhatSwitchDown, id()))->post(); +                (new AMessage(kWhatSwitchDown, this))->post();                  break;              }          } @@ -1689,7 +1689,7 @@ void LiveSession::tryToFinishBandwidthSwitch() {  }  void LiveSession::scheduleCheckBandwidthEvent() { -    sp<AMessage> msg = new AMessage(kWhatCheckBandwidth, id()); +    sp<AMessage> msg = new AMessage(kWhatCheckBandwidth, this);      msg->setInt32("generation", mCheckBandwidthGeneration);      msg->post(10000000ll);  } @@ -1772,7 +1772,7 @@ void LiveSession::postPrepared(status_t err) {      mInPreparationPhase = false; -    mSwitchDownMonitor = new AMessage(kWhatCheckSwitchDown, id()); +    mSwitchDownMonitor = new AMessage(kWhatCheckSwitchDown, this);      mSwitchDownMonitor->post();  } diff --git a/media/libstagefright/httplive/PlaylistFetcher.cpp b/media/libstagefright/httplive/PlaylistFetcher.cpp index 1227600..4ccbf76 100644 --- a/media/libstagefright/httplive/PlaylistFetcher.cpp +++ b/media/libstagefright/httplive/PlaylistFetcher.cpp @@ -325,7 +325,7 @@ void PlaylistFetcher::postMonitorQueue(int64_t delayUs, int64_t minDelayUs) {          ALOGV("Need to refresh playlist in %" PRId64 , maxDelayUs);          delayUs = maxDelayUs;      } -    sp<AMessage> msg = new AMessage(kWhatMonitorQueue, id()); +    sp<AMessage> msg = new AMessage(kWhatMonitorQueue, this);      msg->setInt32("generation", mMonitorQueueGeneration);      msg->post(delayUs);  } @@ -342,7 +342,7 @@ void PlaylistFetcher::startAsync(          int64_t segmentStartTimeUs,          int32_t startDiscontinuitySeq,          bool adaptive) { -    sp<AMessage> msg = new AMessage(kWhatStart, id()); +    sp<AMessage> msg = new AMessage(kWhatStart, this);      uint32_t streamTypeMask = 0ul; @@ -370,17 +370,17 @@ void PlaylistFetcher::startAsync(  }  void PlaylistFetcher::pauseAsync() { -    (new AMessage(kWhatPause, id()))->post(); +    (new AMessage(kWhatPause, this))->post();  }  void PlaylistFetcher::stopAsync(bool clear) { -    sp<AMessage> msg = new AMessage(kWhatStop, id()); +    sp<AMessage> msg = new AMessage(kWhatStop, this);      msg->setInt32("clear", clear);      msg->post();  }  void PlaylistFetcher::resumeUntilAsync(const sp<AMessage> ¶ms) { -    AMessage* msg = new AMessage(kWhatResumeUntil, id()); +    AMessage* msg = new AMessage(kWhatResumeUntil, this);      msg->setMessage("params", params);      msg->post();  } @@ -671,7 +671,7 @@ void PlaylistFetcher::onMonitorQueue() {          // delay the next download slightly; hopefully this gives other concurrent fetchers          // a better chance to run.          // onDownloadNext(); -        sp<AMessage> msg = new AMessage(kWhatDownloadNext, id()); +        sp<AMessage> msg = new AMessage(kWhatDownloadNext, this);          msg->setInt32("generation", mMonitorQueueGeneration);          msg->post(1000l);      } else { diff --git a/media/libstagefright/omx/GraphicBufferSource.cpp b/media/libstagefright/omx/GraphicBufferSource.cpp index 7afe699..d81da3f 100644 --- a/media/libstagefright/omx/GraphicBufferSource.cpp +++ b/media/libstagefright/omx/GraphicBufferSource.cpp @@ -155,7 +155,7 @@ void GraphicBufferSource::omxExecuting() {          if (mLatestBufferId >= 0) {              sp<AMessage> msg = -                new AMessage(kWhatRepeatLastFrame, mReflector->id()); +                new AMessage(kWhatRepeatLastFrame, mReflector);              msg->setInt32("generation", ++mRepeatLastFrameGeneration);              msg->post(mRepeatAfterUs); @@ -524,7 +524,7 @@ bool GraphicBufferSource::repeatLatestBuffer_l() {          mRepeatLastFrameTimestamp = item.mTimestamp + mRepeatAfterUs * 1000;          if (mReflector != NULL) { -            sp<AMessage> msg = new AMessage(kWhatRepeatLastFrame, mReflector->id()); +            sp<AMessage> msg = new AMessage(kWhatRepeatLastFrame, mReflector);              msg->setInt32("generation", ++mRepeatLastFrameGeneration);              msg->post(mRepeatAfterUs);          } @@ -557,7 +557,7 @@ void GraphicBufferSource::setLatestBuffer_l(      mRepeatLastFrameCount = kRepeatLastFrameCount;      if (mReflector != NULL) { -        sp<AMessage> msg = new AMessage(kWhatRepeatLastFrame, mReflector->id()); +        sp<AMessage> msg = new AMessage(kWhatRepeatLastFrame, mReflector);          msg->setInt32("generation", ++mRepeatLastFrameGeneration);          msg->post(mRepeatAfterUs);      } diff --git a/media/libstagefright/omx/SimpleSoftOMXComponent.cpp b/media/libstagefright/omx/SimpleSoftOMXComponent.cpp index 7f99dcd..801a1bd 100644 --- a/media/libstagefright/omx/SimpleSoftOMXComponent.cpp +++ b/media/libstagefright/omx/SimpleSoftOMXComponent.cpp @@ -58,7 +58,7 @@ OMX_ERRORTYPE SimpleSoftOMXComponent::sendCommand(          OMX_COMMANDTYPE cmd, OMX_U32 param, OMX_PTR data) {      CHECK(data == NULL); -    sp<AMessage> msg = new AMessage(kWhatSendCommand, mHandler->id()); +    sp<AMessage> msg = new AMessage(kWhatSendCommand, mHandler);      msg->setInt32("cmd", cmd);      msg->setInt32("param", param);      msg->post(); @@ -307,7 +307,7 @@ OMX_ERRORTYPE SimpleSoftOMXComponent::freeBuffer(  OMX_ERRORTYPE SimpleSoftOMXComponent::emptyThisBuffer(          OMX_BUFFERHEADERTYPE *buffer) { -    sp<AMessage> msg = new AMessage(kWhatEmptyThisBuffer, mHandler->id()); +    sp<AMessage> msg = new AMessage(kWhatEmptyThisBuffer, mHandler);      msg->setPointer("header", buffer);      msg->post(); @@ -316,7 +316,7 @@ OMX_ERRORTYPE SimpleSoftOMXComponent::emptyThisBuffer(  OMX_ERRORTYPE SimpleSoftOMXComponent::fillThisBuffer(          OMX_BUFFERHEADERTYPE *buffer) { -    sp<AMessage> msg = new AMessage(kWhatFillThisBuffer, mHandler->id()); +    sp<AMessage> msg = new AMessage(kWhatFillThisBuffer, mHandler);      msg->setPointer("header", buffer);      msg->post(); diff --git a/media/libstagefright/rtsp/ARTPConnection.cpp b/media/libstagefright/rtsp/ARTPConnection.cpp index a6bd824..a86ab74 100644 --- a/media/libstagefright/rtsp/ARTPConnection.cpp +++ b/media/libstagefright/rtsp/ARTPConnection.cpp @@ -82,7 +82,7 @@ void ARTPConnection::addStream(          size_t index,          const sp<AMessage> ¬ify,          bool injected) { -    sp<AMessage> msg = new AMessage(kWhatAddStream, id()); +    sp<AMessage> msg = new AMessage(kWhatAddStream, this);      msg->setInt32("rtp-socket", rtpSocket);      msg->setInt32("rtcp-socket", rtcpSocket);      msg->setObject("session-desc", sessionDesc); @@ -93,7 +93,7 @@ void ARTPConnection::addStream(  }  void ARTPConnection::removeStream(int rtpSocket, int rtcpSocket) { -    sp<AMessage> msg = new AMessage(kWhatRemoveStream, id()); +    sp<AMessage> msg = new AMessage(kWhatRemoveStream, this);      msg->setInt32("rtp-socket", rtpSocket);      msg->setInt32("rtcp-socket", rtcpSocket);      msg->post(); @@ -233,7 +233,7 @@ void ARTPConnection::postPollEvent() {          return;      } -    sp<AMessage> msg = new AMessage(kWhatPollStreams, id()); +    sp<AMessage> msg = new AMessage(kWhatPollStreams, this);      msg->post();      mPollEventPending = true; @@ -639,7 +639,7 @@ sp<ARTPSource> ARTPConnection::findSource(StreamInfo *info, uint32_t srcId) {  }  void ARTPConnection::injectPacket(int index, const sp<ABuffer> &buffer) { -    sp<AMessage> msg = new AMessage(kWhatInjectPacket, id()); +    sp<AMessage> msg = new AMessage(kWhatInjectPacket, this);      msg->setInt32("index", index);      msg->setBuffer("buffer", buffer);      msg->post(); diff --git a/media/libstagefright/rtsp/ARTPSession.cpp b/media/libstagefright/rtsp/ARTPSession.cpp index ba4e33c..e5acb06 100644 --- a/media/libstagefright/rtsp/ARTPSession.cpp +++ b/media/libstagefright/rtsp/ARTPSession.cpp @@ -82,7 +82,7 @@ status_t ARTPSession::setup(const sp<ASessionDescription> &desc) {          info->mRTPSocket = rtpSocket;          info->mRTCPSocket = rtcpSocket; -        sp<AMessage> notify = new AMessage(kWhatAccessUnitComplete, id()); +        sp<AMessage> notify = new AMessage(kWhatAccessUnitComplete, this);          notify->setSize("track-index", mTracks.size() - 1);          mRTPConn->addStream( diff --git a/media/libstagefright/rtsp/ARTPWriter.cpp b/media/libstagefright/rtsp/ARTPWriter.cpp index e1607bf..56c4aa6 100644 --- a/media/libstagefright/rtsp/ARTPWriter.cpp +++ b/media/libstagefright/rtsp/ARTPWriter.cpp @@ -146,7 +146,7 @@ status_t ARTPWriter::start(MetaData * /* params */) {          TRESPASS();      } -    (new AMessage(kWhatStart, mReflector->id()))->post(); +    (new AMessage(kWhatStart, mReflector))->post();      while (!(mFlags & kFlagStarted)) {          mCondition.wait(mLock); @@ -161,7 +161,7 @@ status_t ARTPWriter::stop() {          return OK;      } -    (new AMessage(kWhatStop, mReflector->id()))->post(); +    (new AMessage(kWhatStop, mReflector))->post();      while (mFlags & kFlagStarted) {          mCondition.wait(mLock); @@ -213,8 +213,8 @@ void ARTPWriter::onMessageReceived(const sp<AMessage> &msg) {                  mCondition.signal();              } -            (new AMessage(kWhatRead, mReflector->id()))->post(); -            (new AMessage(kWhatSendSR, mReflector->id()))->post(); +            (new AMessage(kWhatRead, mReflector))->post(); +            (new AMessage(kWhatSendSR, mReflector))->post();              break;          } diff --git a/media/libstagefright/rtsp/ARTSPConnection.cpp b/media/libstagefright/rtsp/ARTSPConnection.cpp index 60b3aaf..855ffdc 100644 --- a/media/libstagefright/rtsp/ARTSPConnection.cpp +++ b/media/libstagefright/rtsp/ARTSPConnection.cpp @@ -68,28 +68,28 @@ ARTSPConnection::~ARTSPConnection() {  }  void ARTSPConnection::connect(const char *url, const sp<AMessage> &reply) { -    sp<AMessage> msg = new AMessage(kWhatConnect, id()); +    sp<AMessage> msg = new AMessage(kWhatConnect, this);      msg->setString("url", url);      msg->setMessage("reply", reply);      msg->post();  }  void ARTSPConnection::disconnect(const sp<AMessage> &reply) { -    sp<AMessage> msg = new AMessage(kWhatDisconnect, id()); +    sp<AMessage> msg = new AMessage(kWhatDisconnect, this);      msg->setMessage("reply", reply);      msg->post();  }  void ARTSPConnection::sendRequest(          const char *request, const sp<AMessage> &reply) { -    sp<AMessage> msg = new AMessage(kWhatSendRequest, id()); +    sp<AMessage> msg = new AMessage(kWhatSendRequest, this);      msg->setString("request", request);      msg->setMessage("reply", reply);      msg->post();  }  void ARTSPConnection::observeBinaryData(const sp<AMessage> &reply) { -    sp<AMessage> msg = new AMessage(kWhatObserveBinaryData, id()); +    sp<AMessage> msg = new AMessage(kWhatObserveBinaryData, this);      msg->setMessage("reply", reply);      msg->post();  } @@ -286,7 +286,7 @@ void ARTSPConnection::onConnect(const sp<AMessage> &msg) {      if (err < 0) {          if (errno == EINPROGRESS) { -            sp<AMessage> msg = new AMessage(kWhatCompleteConnection, id()); +            sp<AMessage> msg = new AMessage(kWhatCompleteConnection, this);              msg->setMessage("reply", reply);              msg->setInt32("connection-id", mConnectionID);              msg->post(); @@ -523,7 +523,7 @@ void ARTSPConnection::postReceiveReponseEvent() {          return;      } -    sp<AMessage> msg = new AMessage(kWhatReceiveResponse, id()); +    sp<AMessage> msg = new AMessage(kWhatReceiveResponse, this);      msg->post();      mReceiveResponseEventPending = true; @@ -746,7 +746,7 @@ bool ARTSPConnection::receiveRTSPReponse() {              AString request;              CHECK(reply->findString("original-request", &request)); -            sp<AMessage> msg = new AMessage(kWhatSendRequest, id()); +            sp<AMessage> msg = new AMessage(kWhatSendRequest, this);              msg->setMessage("reply", reply);              msg->setString("request", request.c_str(), request.size()); diff --git a/media/libstagefright/rtsp/MyHandler.h b/media/libstagefright/rtsp/MyHandler.h index 3bf489b..0642343 100644 --- a/media/libstagefright/rtsp/MyHandler.h +++ b/media/libstagefright/rtsp/MyHandler.h @@ -169,10 +169,10 @@ struct MyHandler : public AHandler {          looper()->registerHandler(mConn);          (1 ? mNetLooper : looper())->registerHandler(mRTPConn); -        sp<AMessage> notify = new AMessage('biny', id()); +        sp<AMessage> notify = new AMessage('biny', this);          mConn->observeBinaryData(notify); -        sp<AMessage> reply = new AMessage('conn', id()); +        sp<AMessage> reply = new AMessage('conn', this);          mConn->connect(mOriginalSessionURL.c_str(), reply);      } @@ -180,10 +180,10 @@ struct MyHandler : public AHandler {          looper()->registerHandler(mConn);          (1 ? mNetLooper : looper())->registerHandler(mRTPConn); -        sp<AMessage> notify = new AMessage('biny', id()); +        sp<AMessage> notify = new AMessage('biny', this);          mConn->observeBinaryData(notify); -        sp<AMessage> reply = new AMessage('sdpl', id()); +        sp<AMessage> reply = new AMessage('sdpl', this);          reply->setObject("description", desc);          mConn->connect(mOriginalSessionURL.c_str(), reply);      } @@ -210,11 +210,11 @@ struct MyHandler : public AHandler {      }      void disconnect() { -        (new AMessage('abor', id()))->post(); +        (new AMessage('abor', this))->post();      }      void seek(int64_t timeUs) { -        sp<AMessage> msg = new AMessage('seek', id()); +        sp<AMessage> msg = new AMessage('seek', this);          msg->setInt64("time", timeUs);          mPauseGeneration++;          msg->post(); @@ -225,14 +225,14 @@ struct MyHandler : public AHandler {      }      void pause() { -        sp<AMessage> msg = new AMessage('paus', id()); +        sp<AMessage> msg = new AMessage('paus', this);          mPauseGeneration++;          msg->setInt32("pausecheck", mPauseGeneration);          msg->post(kPauseDelayUs);      }      void resume() { -        sp<AMessage> msg = new AMessage('resu', id()); +        sp<AMessage> msg = new AMessage('resu', this);          mPauseGeneration++;          msg->post();      } @@ -454,10 +454,10 @@ struct MyHandler : public AHandler {                      request.append("Accept: application/sdp\r\n");                      request.append("\r\n"); -                    sp<AMessage> reply = new AMessage('desc', id()); +                    sp<AMessage> reply = new AMessage('desc', this);                      mConn->sendRequest(request.c_str(), reply);                  } else { -                    (new AMessage('disc', id()))->post(); +                    (new AMessage('disc', this))->post();                  }                  break;              } @@ -468,10 +468,10 @@ struct MyHandler : public AHandler {                  int32_t reconnect;                  if (msg->findInt32("reconnect", &reconnect) && reconnect) { -                    sp<AMessage> reply = new AMessage('conn', id()); +                    sp<AMessage> reply = new AMessage('conn', this);                      mConn->connect(mOriginalSessionURL.c_str(), reply);                  } else { -                    (new AMessage('quit', id()))->post(); +                    (new AMessage('quit', this))->post();                  }                  break;              } @@ -514,7 +514,7 @@ struct MyHandler : public AHandler {                              ALOGI("rewritten session url: '%s'", mSessionURL.c_str());                          } -                        sp<AMessage> reply = new AMessage('conn', id()); +                        sp<AMessage> reply = new AMessage('conn', this);                          mConn->connect(mOriginalSessionURL.c_str(), reply);                          break;                      } @@ -586,7 +586,7 @@ struct MyHandler : public AHandler {                  }                  if (result != OK) { -                    sp<AMessage> reply = new AMessage('disc', id()); +                    sp<AMessage> reply = new AMessage('disc', this);                      mConn->disconnect(reply);                  }                  break; @@ -631,7 +631,7 @@ struct MyHandler : public AHandler {                  }                  if (result != OK) { -                    sp<AMessage> reply = new AMessage('disc', id()); +                    sp<AMessage> reply = new AMessage('disc', this);                      mConn->disconnect(reply);                  }                  break; @@ -703,7 +703,7 @@ struct MyHandler : public AHandler {                              mSessionID.erase(i, mSessionID.size() - i);                          } -                        sp<AMessage> notify = new AMessage('accu', id()); +                        sp<AMessage> notify = new AMessage('accu', this);                          notify->setSize("track-index", trackIndex);                          i = response->mHeaders.indexOfKey("transport"); @@ -769,10 +769,10 @@ struct MyHandler : public AHandler {                      request.append("\r\n"); -                    sp<AMessage> reply = new AMessage('play', id()); +                    sp<AMessage> reply = new AMessage('play', this);                      mConn->sendRequest(request.c_str(), reply);                  } else { -                    sp<AMessage> reply = new AMessage('disc', id()); +                    sp<AMessage> reply = new AMessage('disc', this);                      mConn->disconnect(reply);                  }                  break; @@ -797,7 +797,7 @@ struct MyHandler : public AHandler {                      } else {                          parsePlayResponse(response); -                        sp<AMessage> timeout = new AMessage('tiou', id()); +                        sp<AMessage> timeout = new AMessage('tiou', this);                          mCheckTimeoutGeneration++;                          timeout->setInt32("tioucheck", mCheckTimeoutGeneration);                          timeout->post(kStartupTimeoutUs); @@ -805,7 +805,7 @@ struct MyHandler : public AHandler {                  }                  if (result != OK) { -                    sp<AMessage> reply = new AMessage('disc', id()); +                    sp<AMessage> reply = new AMessage('disc', this);                      mConn->disconnect(reply);                  } @@ -831,7 +831,7 @@ struct MyHandler : public AHandler {                  request.append("\r\n");                  request.append("\r\n"); -                sp<AMessage> reply = new AMessage('opts', id()); +                sp<AMessage> reply = new AMessage('opts', this);                  reply->setInt32("generation", mKeepAliveGeneration);                  mConn->sendRequest(request.c_str(), reply);                  break; @@ -894,7 +894,7 @@ struct MyHandler : public AHandler {                  mPausing = false;                  mSeekable = true; -                sp<AMessage> reply = new AMessage('tear', id()); +                sp<AMessage> reply = new AMessage('tear', this);                  int32_t reconnect;                  if (msg->findInt32("reconnect", &reconnect) && reconnect) { @@ -926,7 +926,7 @@ struct MyHandler : public AHandler {                  ALOGI("TEARDOWN completed with result %d (%s)",                       result, strerror(-result)); -                sp<AMessage> reply = new AMessage('disc', id()); +                sp<AMessage> reply = new AMessage('disc', this);                  int32_t reconnect;                  if (msg->findInt32("reconnect", &reconnect) && reconnect) { @@ -958,7 +958,7 @@ struct MyHandler : public AHandler {                  if (mNumAccessUnitsReceived == 0) {  #if 1                      ALOGI("stream ended? aborting."); -                    (new AMessage('abor', id()))->post(); +                    (new AMessage('abor', this))->post();                      break;  #else                      ALOGI("haven't seen an AU in a looong time."); @@ -1077,7 +1077,7 @@ struct MyHandler : public AHandler {                  request.append("\r\n"); -                sp<AMessage> reply = new AMessage('pau2', id()); +                sp<AMessage> reply = new AMessage('pau2', this);                  mConn->sendRequest(request.c_str(), reply);                  break;              } @@ -1114,7 +1114,7 @@ struct MyHandler : public AHandler {                  request.append("\r\n"); -                sp<AMessage> reply = new AMessage('res2', id()); +                sp<AMessage> reply = new AMessage('res2', this);                  mConn->sendRequest(request.c_str(), reply);                  break;              } @@ -1143,7 +1143,7 @@ struct MyHandler : public AHandler {                          // Post new timeout in order to make sure to use                          // fake timestamps if no new Sender Reports arrive -                        sp<AMessage> timeout = new AMessage('tiou', id()); +                        sp<AMessage> timeout = new AMessage('tiou', this);                          mCheckTimeoutGeneration++;                          timeout->setInt32("tioucheck", mCheckTimeoutGeneration);                          timeout->post(kStartupTimeoutUs); @@ -1152,7 +1152,7 @@ struct MyHandler : public AHandler {                  if (result != OK) {                      ALOGE("resume failed, aborting."); -                    (new AMessage('abor', id()))->post(); +                    (new AMessage('abor', this))->post();                  }                  mPausing = false; @@ -1180,7 +1180,7 @@ struct MyHandler : public AHandler {                  mCheckPending = true;                  ++mCheckGeneration; -                sp<AMessage> reply = new AMessage('see1', id()); +                sp<AMessage> reply = new AMessage('see1', this);                  reply->setInt64("time", timeUs);                  if (mPausing) { @@ -1221,7 +1221,7 @@ struct MyHandler : public AHandler {                  // Start new timeoutgeneration to avoid getting timeout                  // before PLAY response arrive -                sp<AMessage> timeout = new AMessage('tiou', id()); +                sp<AMessage> timeout = new AMessage('tiou', this);                  mCheckTimeoutGeneration++;                  timeout->setInt32("tioucheck", mCheckTimeoutGeneration);                  timeout->post(kStartupTimeoutUs); @@ -1243,7 +1243,7 @@ struct MyHandler : public AHandler {                  request.append("\r\n"); -                sp<AMessage> reply = new AMessage('see2', id()); +                sp<AMessage> reply = new AMessage('see2', this);                  mConn->sendRequest(request.c_str(), reply);                  break;              } @@ -1277,7 +1277,7 @@ struct MyHandler : public AHandler {                          // Post new timeout in order to make sure to use                          // fake timestamps if no new Sender Reports arrive -                        sp<AMessage> timeout = new AMessage('tiou', id()); +                        sp<AMessage> timeout = new AMessage('tiou', this);                          mCheckTimeoutGeneration++;                          timeout->setInt32("tioucheck", mCheckTimeoutGeneration);                          timeout->post(kStartupTimeoutUs); @@ -1293,7 +1293,7 @@ struct MyHandler : public AHandler {                  if (result != OK) {                      ALOGE("seek failed, aborting."); -                    (new AMessage('abor', id()))->post(); +                    (new AMessage('abor', this))->post();                  }                  mPausing = false; @@ -1343,12 +1343,12 @@ struct MyHandler : public AHandler {                          mTryTCPInterleaving = true; -                        sp<AMessage> msg = new AMessage('abor', id()); +                        sp<AMessage> msg = new AMessage('abor', this);                          msg->setInt32("reconnect", true);                          msg->post();                      } else {                          ALOGW("Never received any data, disconnecting."); -                        (new AMessage('abor', id()))->post(); +                        (new AMessage('abor', this))->post();                      }                  } else {                      if (!mAllTracksHaveTime) { @@ -1369,7 +1369,7 @@ struct MyHandler : public AHandler {      }      void postKeepAlive() { -        sp<AMessage> msg = new AMessage('aliv', id()); +        sp<AMessage> msg = new AMessage('aliv', this);          msg->setInt32("generation", mKeepAliveGeneration);          msg->post((mKeepAliveTimeoutUs * 9) / 10);      } @@ -1380,7 +1380,7 @@ struct MyHandler : public AHandler {          }          mCheckPending = true; -        sp<AMessage> check = new AMessage('chek', id()); +        sp<AMessage> check = new AMessage('chek', this);          check->setInt32("generation", mCheckGeneration);          check->post(kAccessUnitTimeoutUs);      } @@ -1566,7 +1566,7 @@ private:          if (source->initCheck() != OK) {              ALOGW("Unsupported format. Ignoring track #%d.", index); -            sp<AMessage> reply = new AMessage('setu', id()); +            sp<AMessage> reply = new AMessage('setu', this);              reply->setSize("index", index);              reply->setInt32("result", ERROR_UNSUPPORTED);              reply->post(); @@ -1652,7 +1652,7 @@ private:          request.append("\r\n"); -        sp<AMessage> reply = new AMessage('setu', id()); +        sp<AMessage> reply = new AMessage('setu', this);          reply->setSize("index", index);          reply->setSize("track-index", mTracks.size() - 1);          mConn->sendRequest(request.c_str(), reply); diff --git a/media/libstagefright/rtsp/MyTransmitter.h b/media/libstagefright/rtsp/MyTransmitter.h index 009a3b1..369f276 100644 --- a/media/libstagefright/rtsp/MyTransmitter.h +++ b/media/libstagefright/rtsp/MyTransmitter.h @@ -100,7 +100,7 @@ struct MyTransmitter : public AHandler {          mLooper->registerHandler(this);          mLooper->registerHandler(mConn); -        sp<AMessage> reply = new AMessage('conn', id()); +        sp<AMessage> reply = new AMessage('conn', this);          mConn->connect(mServerURL.c_str(), reply);  #ifdef ANDROID @@ -229,7 +229,7 @@ struct MyTransmitter : public AHandler {          request.append("\r\n");          request.append(sdp); -        sp<AMessage> reply = new AMessage('anno', id()); +        sp<AMessage> reply = new AMessage('anno', this);          mConn->sendRequest(request.c_str(), reply);      } @@ -350,7 +350,7 @@ struct MyTransmitter : public AHandler {                       << result << " (" << strerror(-result) << ")";                  if (result != OK) { -                    (new AMessage('quit', id()))->post(); +                    (new AMessage('quit', this))->post();                      break;                  } @@ -381,7 +381,7 @@ struct MyTransmitter : public AHandler {                      if (response->mStatusCode == 401) {                          if (mAuthType != NONE) {                              LOG(INFO) << "FAILED to authenticate"; -                            (new AMessage('quit', id()))->post(); +                            (new AMessage('quit', this))->post();                              break;                          } @@ -391,14 +391,14 @@ struct MyTransmitter : public AHandler {                  }                  if (result != OK || response->mStatusCode != 200) { -                    (new AMessage('quit', id()))->post(); +                    (new AMessage('quit', this))->post();                      break;                  }                  unsigned rtpPort;                  ARTPConnection::MakePortPair(&mRTPSocket, &mRTCPSocket, &rtpPort); -                // (new AMessage('poll', id()))->post(); +                // (new AMessage('poll', this))->post();                  AString request;                  request.append("SETUP "); @@ -414,7 +414,7 @@ struct MyTransmitter : public AHandler {                  request.append(";mode=record\r\n");                  request.append("\r\n"); -                sp<AMessage> reply = new AMessage('setu', id()); +                sp<AMessage> reply = new AMessage('setu', this);                  mConn->sendRequest(request.c_str(), reply);                  break;              } @@ -468,7 +468,7 @@ struct MyTransmitter : public AHandler {                  }                  if (result != OK || response->mStatusCode != 200) { -                    (new AMessage('quit', id()))->post(); +                    (new AMessage('quit', this))->post();                      break;                  } @@ -535,7 +535,7 @@ struct MyTransmitter : public AHandler {                  request.append("\r\n");                  request.append("\r\n"); -                sp<AMessage> reply = new AMessage('reco', id()); +                sp<AMessage> reply = new AMessage('reco', this);                  mConn->sendRequest(request.c_str(), reply);                  break;              } @@ -558,13 +558,13 @@ struct MyTransmitter : public AHandler {                  }                  if (result != OK) { -                    (new AMessage('quit', id()))->post(); +                    (new AMessage('quit', this))->post();                      break;                  } -                (new AMessage('more', id()))->post(); -                (new AMessage('sr  ', id()))->post(); -                (new AMessage('aliv', id()))->post(30000000ll); +                (new AMessage('more', this))->post(); +                (new AMessage('sr  ', this))->post(); +                (new AMessage('aliv', this))->post(30000000ll);                  break;              } @@ -586,7 +586,7 @@ struct MyTransmitter : public AHandler {                  request.append("\r\n");                  request.append("\r\n"); -                sp<AMessage> reply = new AMessage('opts', id()); +                sp<AMessage> reply = new AMessage('opts', this);                  mConn->sendRequest(request.c_str(), reply);                  break;              } @@ -603,7 +603,7 @@ struct MyTransmitter : public AHandler {                      break;                  } -                (new AMessage('aliv', id()))->post(30000000ll); +                (new AMessage('aliv', this))->post(30000000ll);                  break;              } @@ -702,7 +702,7 @@ struct MyTransmitter : public AHandler {                      request.append("\r\n");                      request.append("\r\n"); -                    sp<AMessage> reply = new AMessage('paus', id()); +                    sp<AMessage> reply = new AMessage('paus', this);                      mConn->sendRequest(request.c_str(), reply);                  }                  break; @@ -753,7 +753,7 @@ struct MyTransmitter : public AHandler {                  request.append("\r\n");                  request.append("\r\n"); -                sp<AMessage> reply = new AMessage('tear', id()); +                sp<AMessage> reply = new AMessage('tear', this);                  mConn->sendRequest(request.c_str(), reply);                  break;              } @@ -775,7 +775,7 @@ struct MyTransmitter : public AHandler {                      CHECK(response != NULL);                  } -                (new AMessage('quit', id()))->post(); +                (new AMessage('quit', this))->post();                  break;              } @@ -784,14 +784,14 @@ struct MyTransmitter : public AHandler {                  LOG(INFO) << "disconnect completed";                  mConnected = false; -                (new AMessage('quit', id()))->post(); +                (new AMessage('quit', this))->post();                  break;              }              case 'quit':              {                  if (mConnected) { -                    mConn->disconnect(new AMessage('disc', id())); +                    mConn->disconnect(new AMessage('disc', this));                      break;                  } diff --git a/media/libstagefright/rtsp/SDPLoader.cpp b/media/libstagefright/rtsp/SDPLoader.cpp index a24eb69..0f46c83 100644 --- a/media/libstagefright/rtsp/SDPLoader.cpp +++ b/media/libstagefright/rtsp/SDPLoader.cpp @@ -51,7 +51,7 @@ SDPLoader::SDPLoader(  void SDPLoader::load(const char *url, const KeyedVector<String8, String8> *headers) {      mNetLooper->registerHandler(this); -    sp<AMessage> msg = new AMessage(kWhatLoad, id()); +    sp<AMessage> msg = new AMessage(kWhatLoad, this);      msg->setString("url", url);      if (headers != NULL) { diff --git a/media/libstagefright/rtsp/UDPPusher.cpp b/media/libstagefright/rtsp/UDPPusher.cpp index 47ea6f1..5c685a1 100644 --- a/media/libstagefright/rtsp/UDPPusher.cpp +++ b/media/libstagefright/rtsp/UDPPusher.cpp @@ -65,7 +65,7 @@ void UDPPusher::start() {      mFirstTimeMs = fromlel(timeMs);      mFirstTimeUs = ALooper::GetNowUs(); -    (new AMessage(kWhatPush, id()))->post(); +    (new AMessage(kWhatPush, this))->post();  }  bool UDPPusher::onPush() { @@ -103,7 +103,7 @@ bool UDPPusher::onPush() {      timeMs -= mFirstTimeMs;      int64_t whenUs = mFirstTimeUs + timeMs * 1000ll;      int64_t nowUs = ALooper::GetNowUs(); -    (new AMessage(kWhatPush, id()))->post(whenUs - nowUs); +    (new AMessage(kWhatPush, this))->post(whenUs - nowUs);      return true;  } diff --git a/media/libstagefright/timedtext/TimedTextPlayer.cpp b/media/libstagefright/timedtext/TimedTextPlayer.cpp index a070487..aecf666 100644 --- a/media/libstagefright/timedtext/TimedTextPlayer.cpp +++ b/media/libstagefright/timedtext/TimedTextPlayer.cpp @@ -56,25 +56,25 @@ TimedTextPlayer::~TimedTextPlayer() {  }  void TimedTextPlayer::start() { -    (new AMessage(kWhatStart, id()))->post(); +    (new AMessage(kWhatStart, this))->post();  }  void TimedTextPlayer::pause() { -    (new AMessage(kWhatPause, id()))->post(); +    (new AMessage(kWhatPause, this))->post();  }  void TimedTextPlayer::resume() { -    (new AMessage(kWhatResume, id()))->post(); +    (new AMessage(kWhatResume, this))->post();  }  void TimedTextPlayer::seekToAsync(int64_t timeUs) { -    sp<AMessage> msg = new AMessage(kWhatSeek, id()); +    sp<AMessage> msg = new AMessage(kWhatSeek, this);      msg->setInt64("seekTimeUs", timeUs);      msg->post();  }  void TimedTextPlayer::setDataSource(sp<TimedTextSource> source) { -    sp<AMessage> msg = new AMessage(kWhatSetSource, id()); +    sp<AMessage> msg = new AMessage(kWhatSetSource, this);      msg->setObject("source", source);      msg->post();  } @@ -231,7 +231,7 @@ void TimedTextPlayer::doRead(MediaSource::ReadOptions* options) {      status_t err = mSource->read(&startTimeUs, &endTimeUs,                                   &(parcelEvent->parcel), options);      if (err == WOULD_BLOCK) { -        sp<AMessage> msg = new AMessage(kWhatRetryRead, id()); +        sp<AMessage> msg = new AMessage(kWhatRetryRead, this);          if (options != NULL) {              int64_t seekTimeUs = kInvalidTimeUs;              MediaSource::ReadOptions::SeekMode seekMode = @@ -259,7 +259,7 @@ void TimedTextPlayer::doRead(MediaSource::ReadOptions* options) {  void TimedTextPlayer::postTextEvent(const sp<ParcelEvent>& parcel, int64_t timeUs) {      int64_t delayUs = delayUsFromCurrentTime(timeUs); -    sp<AMessage> msg = new AMessage(kWhatSendSubtitle, id()); +    sp<AMessage> msg = new AMessage(kWhatSendSubtitle, this);      msg->setInt32("generation", mSendSubtitleGeneration);      if (parcel != NULL) {          msg->setObject("subtitle", parcel); diff --git a/media/libstagefright/wifi-display/MediaSender.cpp b/media/libstagefright/wifi-display/MediaSender.cpp index b1cdec0..6f0087f 100644 --- a/media/libstagefright/wifi-display/MediaSender.cpp +++ b/media/libstagefright/wifi-display/MediaSender.cpp @@ -121,7 +121,7 @@ status_t MediaSender::initAsync(          }          if (err == OK) { -            sp<AMessage> notify = new AMessage(kWhatSenderNotify, id()); +            sp<AMessage> notify = new AMessage(kWhatSenderNotify, this);              notify->setInt32("generation", mGeneration);              mTSSender = new RTPSender(mNetSession, notify);              looper()->registerHandler(mTSSender); @@ -170,7 +170,7 @@ status_t MediaSender::initAsync(          return INVALID_OPERATION;      } -    sp<AMessage> notify = new AMessage(kWhatSenderNotify, id()); +    sp<AMessage> notify = new AMessage(kWhatSenderNotify, this);      notify->setInt32("generation", mGeneration);      notify->setSize("trackIndex", trackIndex); diff --git a/media/libstagefright/wifi-display/rtp/RTPSender.cpp b/media/libstagefright/wifi-display/rtp/RTPSender.cpp index e88a3bd..4e72533 100644 --- a/media/libstagefright/wifi-display/rtp/RTPSender.cpp +++ b/media/libstagefright/wifi-display/rtp/RTPSender.cpp @@ -95,11 +95,11 @@ status_t RTPSender::initAsync(          return INVALID_OPERATION;      } -    sp<AMessage> rtpNotify = new AMessage(kWhatRTPNotify, id()); +    sp<AMessage> rtpNotify = new AMessage(kWhatRTPNotify, this);      sp<AMessage> rtcpNotify;      if (remoteRTCPPort >= 0) { -        rtcpNotify = new AMessage(kWhatRTCPNotify, id()); +        rtcpNotify = new AMessage(kWhatRTCPNotify, this);      }      CHECK_EQ(mRTPSessionID, 0); diff --git a/media/libstagefright/wifi-display/source/Converter.cpp b/media/libstagefright/wifi-display/source/Converter.cpp index 2834a66..8368945 100644 --- a/media/libstagefright/wifi-display/source/Converter.cpp +++ b/media/libstagefright/wifi-display/source/Converter.cpp @@ -93,7 +93,7 @@ Converter::~Converter() {  void Converter::shutdownAsync() {      ALOGV("shutdown"); -    (new AMessage(kWhatShutdown, id()))->post(); +    (new AMessage(kWhatShutdown, this))->post();  }  status_t Converter::init() { @@ -482,11 +482,11 @@ void Converter::scheduleDoMoreWork() {  #if 1      if (mEncoderActivityNotify == NULL) { -        mEncoderActivityNotify = new AMessage(kWhatEncoderActivity, id()); +        mEncoderActivityNotify = new AMessage(kWhatEncoderActivity, this);      }      mEncoder->requestActivityNotification(mEncoderActivityNotify->dup());  #else -    sp<AMessage> notify = new AMessage(kWhatEncoderActivity, id()); +    sp<AMessage> notify = new AMessage(kWhatEncoderActivity, this);      notify->setInt64("whenUs", ALooper::GetNowUs());      mEncoder->requestActivityNotification(notify);  #endif @@ -731,8 +731,7 @@ status_t Converter::doMoreWork() {                  // MediaSender will post the following message when HDCP                  // is done, to release the output buffer back to encoder. -                sp<AMessage> notify(new AMessage( -                        kWhatReleaseOutputBuffer, id())); +                sp<AMessage> notify(new AMessage(kWhatReleaseOutputBuffer, this));                  notify->setInt32("bufferIndex", bufferIndex);                  buffer = new ABuffer( @@ -787,18 +786,18 @@ status_t Converter::doMoreWork() {  }  void Converter::requestIDRFrame() { -    (new AMessage(kWhatRequestIDRFrame, id()))->post(); +    (new AMessage(kWhatRequestIDRFrame, this))->post();  }  void Converter::dropAFrame() {      // Unsupported in surface input mode.      CHECK(!(mFlags & FLAG_USE_SURFACE_INPUT)); -    (new AMessage(kWhatDropAFrame, id()))->post(); +    (new AMessage(kWhatDropAFrame, this))->post();  }  void Converter::suspendEncoding(bool suspend) { -    sp<AMessage> msg = new AMessage(kWhatSuspendEncoding, id()); +    sp<AMessage> msg = new AMessage(kWhatSuspendEncoding, this);      msg->setInt32("suspend", suspend);      msg->post();  } diff --git a/media/libstagefright/wifi-display/source/MediaPuller.cpp b/media/libstagefright/wifi-display/source/MediaPuller.cpp index 86b918f..927a53c 100644 --- a/media/libstagefright/wifi-display/source/MediaPuller.cpp +++ b/media/libstagefright/wifi-display/source/MediaPuller.cpp @@ -63,21 +63,21 @@ status_t MediaPuller::postSynchronouslyAndReturnError(  }  status_t MediaPuller::start() { -    return postSynchronouslyAndReturnError(new AMessage(kWhatStart, id())); +    return postSynchronouslyAndReturnError(new AMessage(kWhatStart, this));  }  void MediaPuller::stopAsync(const sp<AMessage> ¬ify) { -    sp<AMessage> msg = new AMessage(kWhatStop, id()); +    sp<AMessage> msg = new AMessage(kWhatStop, this);      msg->setMessage("notify", notify);      msg->post();  }  void MediaPuller::pause() { -    (new AMessage(kWhatPause, id()))->post(); +    (new AMessage(kWhatPause, this))->post();  }  void MediaPuller::resume() { -    (new AMessage(kWhatResume, id()))->post(); +    (new AMessage(kWhatResume, this))->post();  }  void MediaPuller::onMessageReceived(const sp<AMessage> &msg) { @@ -215,7 +215,7 @@ void MediaPuller::onMessageReceived(const sp<AMessage> &msg) {  }  void MediaPuller::schedulePull() { -    sp<AMessage> msg = new AMessage(kWhatPull, id()); +    sp<AMessage> msg = new AMessage(kWhatPull, this);      msg->setInt32("generation", mPullGeneration);      msg->post();  } diff --git a/media/libstagefright/wifi-display/source/PlaybackSession.cpp b/media/libstagefright/wifi-display/source/PlaybackSession.cpp index 2cb4786..6080943 100644 --- a/media/libstagefright/wifi-display/source/PlaybackSession.cpp +++ b/media/libstagefright/wifi-display/source/PlaybackSession.cpp @@ -214,7 +214,7 @@ void WifiDisplaySource::PlaybackSession::Track::stopAsync() {          mConverter->shutdownAsync();      } -    sp<AMessage> msg = new AMessage(kWhatMediaPullerStopped, id()); +    sp<AMessage> msg = new AMessage(kWhatMediaPullerStopped, this);      if (mStarted && mMediaPuller != NULL) {          if (mRepeaterSource != NULL) { @@ -382,7 +382,7 @@ status_t WifiDisplaySource::PlaybackSession::init(          size_t videoResolutionIndex,          VideoFormats::ProfileType videoProfileType,          VideoFormats::LevelType videoLevelType) { -    sp<AMessage> notify = new AMessage(kWhatMediaSenderNotify, id()); +    sp<AMessage> notify = new AMessage(kWhatMediaSenderNotify, this);      mMediaSender = new MediaSender(mNetSession, notify);      looper()->registerHandler(mMediaSender); @@ -440,7 +440,7 @@ void WifiDisplaySource::PlaybackSession::updateLiveness() {  status_t WifiDisplaySource::PlaybackSession::play() {      updateLiveness(); -    (new AMessage(kWhatResume, id()))->post(); +    (new AMessage(kWhatResume, this))->post();      return OK;  } @@ -460,7 +460,7 @@ status_t WifiDisplaySource::PlaybackSession::onMediaSenderInitialized() {  status_t WifiDisplaySource::PlaybackSession::pause() {      updateLiveness(); -    (new AMessage(kWhatPause, id()))->post(); +    (new AMessage(kWhatPause, this))->post();      return OK;  } @@ -786,7 +786,7 @@ status_t WifiDisplaySource::PlaybackSession::setupMediaPacketizer(          size_t trackIndex = mTracks.size(); -        sp<AMessage> notify = new AMessage(kWhatTrackNotify, id()); +        sp<AMessage> notify = new AMessage(kWhatTrackNotify, this);          notify->setSize("trackIndex", trackIndex);          sp<Track> track = new Track(notify, format); @@ -833,7 +833,7 @@ void WifiDisplaySource::PlaybackSession::schedulePullExtractor() {      int64_t whenUs = sampleTimeUs - mFirstSampleTimeUs + mFirstSampleTimeRealUs; -    sp<AMessage> msg = new AMessage(kWhatPullExtractorSample, id()); +    sp<AMessage> msg = new AMessage(kWhatPullExtractorSample, this);      msg->setInt32("generation", mPullExtractorGeneration);      msg->post(whenUs - nowUs); @@ -857,7 +857,7 @@ void WifiDisplaySource::PlaybackSession::onPullExtractor() {      size_t trackIndex;      CHECK_EQ((status_t)OK, mExtractor->getSampleTrackIndex(&trackIndex)); -    sp<AMessage> msg = new AMessage(kWhatConverterNotify, id()); +    sp<AMessage> msg = new AMessage(kWhatConverterNotify, this);      msg->setSize(              "trackIndex", mExtractorTrackToInternalTrack.valueFor(trackIndex)); @@ -955,7 +955,7 @@ status_t WifiDisplaySource::PlaybackSession::addSource(                      ? MEDIA_MIMETYPE_AUDIO_RAW : MEDIA_MIMETYPE_AUDIO_AAC);      } -    notify = new AMessage(kWhatConverterNotify, id()); +    notify = new AMessage(kWhatConverterNotify, this);      notify->setSize("trackIndex", trackIndex);      sp<Converter> converter = new Converter(notify, codecLooper, format); @@ -970,7 +970,7 @@ status_t WifiDisplaySource::PlaybackSession::addSource(          return err;      } -    notify = new AMessage(Converter::kWhatMediaPullerNotify, converter->id()); +    notify = new AMessage(Converter::kWhatMediaPullerNotify, converter);      notify->setSize("trackIndex", trackIndex);      sp<MediaPuller> puller = new MediaPuller(source, notify); @@ -980,7 +980,7 @@ status_t WifiDisplaySource::PlaybackSession::addSource(          *numInputBuffers = converter->getInputBufferCount();      } -    notify = new AMessage(kWhatTrackNotify, id()); +    notify = new AMessage(kWhatTrackNotify, this);      notify->setSize("trackIndex", trackIndex);      sp<Track> track = new Track( diff --git a/media/libstagefright/wifi-display/source/RepeaterSource.cpp b/media/libstagefright/wifi-display/source/RepeaterSource.cpp index 59d7e6e..af6b663 100644 --- a/media/libstagefright/wifi-display/source/RepeaterSource.cpp +++ b/media/libstagefright/wifi-display/source/RepeaterSource.cpp @@ -173,7 +173,7 @@ status_t RepeaterSource::read(  }  void RepeaterSource::postRead() { -    (new AMessage(kWhatRead, mReflector->id()))->post(); +    (new AMessage(kWhatRead, mReflector))->post();  }  void RepeaterSource::onMessageReceived(const sp<AMessage> &msg) { diff --git a/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp b/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp index 7eb8b73..210914e 100644 --- a/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp +++ b/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp @@ -106,7 +106,7 @@ static status_t PostAndAwaitResponse(  status_t WifiDisplaySource::start(const char *iface) {      CHECK_EQ(mState, INITIALIZED); -    sp<AMessage> msg = new AMessage(kWhatStart, id()); +    sp<AMessage> msg = new AMessage(kWhatStart, this);      msg->setString("iface", iface);      sp<AMessage> response; @@ -114,21 +114,21 @@ status_t WifiDisplaySource::start(const char *iface) {  }  status_t WifiDisplaySource::stop() { -    sp<AMessage> msg = new AMessage(kWhatStop, id()); +    sp<AMessage> msg = new AMessage(kWhatStop, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response);  }  status_t WifiDisplaySource::pause() { -    sp<AMessage> msg = new AMessage(kWhatPause, id()); +    sp<AMessage> msg = new AMessage(kWhatPause, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response);  }  status_t WifiDisplaySource::resume() { -    sp<AMessage> msg = new AMessage(kWhatResume, id()); +    sp<AMessage> msg = new AMessage(kWhatResume, this);      sp<AMessage> response;      return PostAndAwaitResponse(msg, &response); @@ -167,7 +167,7 @@ void WifiDisplaySource::onMessageReceived(const sp<AMessage> &msg) {              if (err == OK) {                  if (inet_aton(iface.c_str(), &mInterfaceAddr) != 0) { -                    sp<AMessage> notify = new AMessage(kWhatRTSPNotify, id()); +                    sp<AMessage> notify = new AMessage(kWhatRTSPNotify, this);                      err = mNetSession->createRTSPServer(                              mInterfaceAddr, port, notify, &mSessionID); @@ -310,7 +310,7 @@ void WifiDisplaySource::onMessageReceived(const sp<AMessage> &msg) {                  if (err == OK) {                      mState = AWAITING_CLIENT_TEARDOWN; -                    (new AMessage(kWhatTeardownTriggerTimedOut, id()))->post( +                    (new AMessage(kWhatTeardownTriggerTimedOut, this))->post(                              kTeardownTriggerTimeouSecs * 1000000ll);                      break; @@ -529,7 +529,7 @@ void WifiDisplaySource::onMessageReceived(const sp<AMessage> &msg) {                      // HDCPObserver::notify is completely handled before                      // we clear the HDCP instance and unload the shared                      // library :( -                    (new AMessage(kWhatFinishStop2, id()))->post(300000ll); +                    (new AMessage(kWhatFinishStop2, this))->post(300000ll);                      break;                  } @@ -1027,7 +1027,7 @@ void WifiDisplaySource::scheduleReaper() {      }      mReaperPending = true; -    (new AMessage(kWhatReapDeadClients, id()))->post(kReaperIntervalUs); +    (new AMessage(kWhatReapDeadClients, this))->post(kReaperIntervalUs);  }  void WifiDisplaySource::scheduleKeepAlive(int32_t sessionID) { @@ -1035,7 +1035,7 @@ void WifiDisplaySource::scheduleKeepAlive(int32_t sessionID) {      // expire, make sure the timeout is greater than 5 secs to begin with.      CHECK_GT(kPlaybackSessionTimeoutUs, 5000000ll); -    sp<AMessage> msg = new AMessage(kWhatKeepAlive, id()); +    sp<AMessage> msg = new AMessage(kWhatKeepAlive, this);      msg->setInt32("sessionID", sessionID);      msg->post(kPlaybackSessionTimeoutUs - 5000000ll);  } @@ -1239,7 +1239,7 @@ status_t WifiDisplaySource::onSetupRequest(      int32_t playbackSessionID = makeUniquePlaybackSessionID(); -    sp<AMessage> notify = new AMessage(kWhatPlaybackSessionNotify, id()); +    sp<AMessage> notify = new AMessage(kWhatPlaybackSessionNotify, this);      notify->setInt32("playbackSessionID", playbackSessionID);      notify->setInt32("sessionID", sessionID); @@ -1707,7 +1707,7 @@ status_t WifiDisplaySource::makeHDCP() {          return ERROR_UNSUPPORTED;      } -    sp<AMessage> notify = new AMessage(kWhatHDCPNotify, id()); +    sp<AMessage> notify = new AMessage(kWhatHDCPNotify, this);      mHDCPObserver = new HDCPObserver(notify);      status_t err = mHDCP->setObserver(mHDCPObserver); diff --git a/media/ndk/NdkMediaCodec.cpp b/media/ndk/NdkMediaCodec.cpp index 3124e4a..46757bc 100644 --- a/media/ndk/NdkMediaCodec.cpp +++ b/media/ndk/NdkMediaCodec.cpp @@ -136,7 +136,7 @@ void CodecHandler::onMessageReceived(const sp<AMessage> &msg) {  static void requestActivityNotification(AMediaCodec *codec) { -    (new AMessage(kWhatRequestActivityNotifications, codec->mHandler->id()))->post(); +    (new AMessage(kWhatRequestActivityNotifications, codec->mHandler))->post();  }  extern "C" { @@ -219,7 +219,7 @@ media_status_t AMediaCodec_start(AMediaCodec *mData) {      if (ret != OK) {          return translate_error(ret);      } -    mData->mActivityNotification = new AMessage(kWhatActivityNotify, mData->mHandler->id()); +    mData->mActivityNotification = new AMessage(kWhatActivityNotify, mData->mHandler);      mData->mActivityNotification->setInt32("generation", mData->mGeneration);      requestActivityNotification(mData);      return AMEDIA_OK; @@ -229,7 +229,7 @@ EXPORT  media_status_t AMediaCodec_stop(AMediaCodec *mData) {      media_status_t ret = translate_error(mData->mCodec->stop()); -    sp<AMessage> msg = new AMessage(kWhatStopActivityNotifications, mData->mHandler->id()); +    sp<AMessage> msg = new AMessage(kWhatStopActivityNotifications, mData->mHandler);      sp<AMessage> response;      msg->postAndAwaitResponse(&response);      mData->mActivityNotification.clear();  | 
