Loading media/libstagefright/rtsp/MyHandler.h +28 −31 Original line number Diff line number Diff line Loading @@ -1792,14 +1792,8 @@ private: // Time is now established, lets start timestamping immediately for (size_t i = 0; i < mTracks.size(); ++i) { TrackInfo *trackInfo = &mTracks.editItemAt(i); while (!trackInfo->mPackets.empty()) { sp<ABuffer> accessUnit = *trackInfo->mPackets.begin(); trackInfo->mPackets.erase(trackInfo->mPackets.begin()); if (addMediaTimestamp(i, trackInfo, accessUnit)) { postQueueAccessUnit(i, accessUnit); } if (OK != processAccessUnitQueue(i)) { return; } } for (size_t i = 0; i < mTracks.size(); ++i) { Loading @@ -1812,26 +1806,8 @@ private: } } void onAccessUnitComplete( int32_t trackIndex, const sp<ABuffer> &accessUnit) { ALOGV("onAccessUnitComplete track %d", trackIndex); status_t processAccessUnitQueue(int32_t trackIndex) { TrackInfo *track = &mTracks.editItemAt(trackIndex); if(!mPlayResponseParsed){ uint32_t seqNum = (uint32_t)accessUnit->int32Data(); ALOGI("play response is not parsed, storing accessunit %u", seqNum); track->mPackets.push_back(accessUnit); return; } handleFirstAccessUnit(); if (!mAllTracksHaveTime) { ALOGV("storing accessUnit, no time established yet"); track->mPackets.push_back(accessUnit); return; } while (!track->mPackets.empty()) { sp<ABuffer> accessUnit = *track->mPackets.begin(); track->mPackets.erase(track->mPackets.begin()); Loading Loading @@ -1862,7 +1838,7 @@ private: "Still no first rtp packet after %d stale ones", kMaxAllowedStaleAccessUnits); track->mAllowedStaleAccessUnits = -1; return; return UNKNOWN_ERROR; } // Now found the first rtp packet of the stream after seeking. Loading @@ -1876,14 +1852,35 @@ private: continue; } if (addMediaTimestamp(trackIndex, track, accessUnit)) { postQueueAccessUnit(trackIndex, accessUnit); } } return OK; } if (addMediaTimestamp(trackIndex, track, accessUnit)) { postQueueAccessUnit(trackIndex, accessUnit); void onAccessUnitComplete( int32_t trackIndex, const sp<ABuffer> &accessUnit) { TrackInfo *track = &mTracks.editItemAt(trackIndex); track->mPackets.push_back(accessUnit); uint32_t seqNum = (uint32_t)accessUnit->int32Data(); ALOGV("onAccessUnitComplete track %d storing accessunit %u", trackIndex, seqNum); if(!mPlayResponseParsed){ ALOGV("play response is not parsed"); return; } handleFirstAccessUnit(); if (!mAllTracksHaveTime) { ALOGV("storing accessUnit, no time established yet"); return; } if (OK != processAccessUnitQueue(trackIndex)) { return; } if (track->mEOSReceived) { Loading Loading
media/libstagefright/rtsp/MyHandler.h +28 −31 Original line number Diff line number Diff line Loading @@ -1792,14 +1792,8 @@ private: // Time is now established, lets start timestamping immediately for (size_t i = 0; i < mTracks.size(); ++i) { TrackInfo *trackInfo = &mTracks.editItemAt(i); while (!trackInfo->mPackets.empty()) { sp<ABuffer> accessUnit = *trackInfo->mPackets.begin(); trackInfo->mPackets.erase(trackInfo->mPackets.begin()); if (addMediaTimestamp(i, trackInfo, accessUnit)) { postQueueAccessUnit(i, accessUnit); } if (OK != processAccessUnitQueue(i)) { return; } } for (size_t i = 0; i < mTracks.size(); ++i) { Loading @@ -1812,26 +1806,8 @@ private: } } void onAccessUnitComplete( int32_t trackIndex, const sp<ABuffer> &accessUnit) { ALOGV("onAccessUnitComplete track %d", trackIndex); status_t processAccessUnitQueue(int32_t trackIndex) { TrackInfo *track = &mTracks.editItemAt(trackIndex); if(!mPlayResponseParsed){ uint32_t seqNum = (uint32_t)accessUnit->int32Data(); ALOGI("play response is not parsed, storing accessunit %u", seqNum); track->mPackets.push_back(accessUnit); return; } handleFirstAccessUnit(); if (!mAllTracksHaveTime) { ALOGV("storing accessUnit, no time established yet"); track->mPackets.push_back(accessUnit); return; } while (!track->mPackets.empty()) { sp<ABuffer> accessUnit = *track->mPackets.begin(); track->mPackets.erase(track->mPackets.begin()); Loading Loading @@ -1862,7 +1838,7 @@ private: "Still no first rtp packet after %d stale ones", kMaxAllowedStaleAccessUnits); track->mAllowedStaleAccessUnits = -1; return; return UNKNOWN_ERROR; } // Now found the first rtp packet of the stream after seeking. Loading @@ -1876,14 +1852,35 @@ private: continue; } if (addMediaTimestamp(trackIndex, track, accessUnit)) { postQueueAccessUnit(trackIndex, accessUnit); } } return OK; } if (addMediaTimestamp(trackIndex, track, accessUnit)) { postQueueAccessUnit(trackIndex, accessUnit); void onAccessUnitComplete( int32_t trackIndex, const sp<ABuffer> &accessUnit) { TrackInfo *track = &mTracks.editItemAt(trackIndex); track->mPackets.push_back(accessUnit); uint32_t seqNum = (uint32_t)accessUnit->int32Data(); ALOGV("onAccessUnitComplete track %d storing accessunit %u", trackIndex, seqNum); if(!mPlayResponseParsed){ ALOGV("play response is not parsed"); return; } handleFirstAccessUnit(); if (!mAllTracksHaveTime) { ALOGV("storing accessUnit, no time established yet"); return; } if (OK != processAccessUnitQueue(trackIndex)) { return; } if (track->mEOSReceived) { Loading