summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/rtsp/MyHandler.h
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2013-07-08 13:36:08 -0700
committerJean-Baptiste Queru <jbq@google.com>2013-07-08 13:36:08 -0700
commitc582fde93ded7219107157333a9e46d780adcf9c (patch)
treef160b266ecfa9eef394f1ba7755f9e5bac422fd0 /media/libstagefright/rtsp/MyHandler.h
parent5de9ef20d596bc20f53cba664f1ac7e358910ea2 (diff)
parentc158971f13ea4f496dc7836c698f1220fa4e4bba (diff)
downloadframeworks_av-c582fde93ded7219107157333a9e46d780adcf9c.zip
frameworks_av-c582fde93ded7219107157333a9e46d780adcf9c.tar.gz
frameworks_av-c582fde93ded7219107157333a9e46d780adcf9c.tar.bz2
resolved conflicts for merge of c158971f to stage-aosp-master
Change-Id: I3d77b86f7e616af62a826fc37126706ad8ff6158
Diffstat (limited to 'media/libstagefright/rtsp/MyHandler.h')
-rw-r--r--media/libstagefright/rtsp/MyHandler.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/media/libstagefright/rtsp/MyHandler.h b/media/libstagefright/rtsp/MyHandler.h
index e067e20..e51d9e3 100644
--- a/media/libstagefright/rtsp/MyHandler.h
+++ b/media/libstagefright/rtsp/MyHandler.h
@@ -127,7 +127,8 @@ struct MyHandler : public AHandler {
mKeepAliveTimeoutUs(kDefaultKeepAliveTimeoutUs),
mKeepAliveGeneration(0),
mPausing(false),
- mPauseGeneration(0) {
+ mPauseGeneration(0),
+ mPlayResponseParsed(false) {
mNetLooper->setName("rtsp net");
mNetLooper->start(false /* runOnCallingThread */,
false /* canCallJava */,
@@ -1371,6 +1372,7 @@ struct MyHandler : public AHandler {
}
void parsePlayResponse(const sp<ARTSPResponse> &response) {
+ mPlayResponseParsed = true;
if (mTracks.size() == 0) {
ALOGV("parsePlayResponse: late packets ignored.");
return;
@@ -1524,6 +1526,8 @@ private:
Vector<TrackInfo> mTracks;
+ bool mPlayResponseParsed;
+
void setupTrack(size_t index) {
sp<APacketSource> source =
new APacketSource(mSessionDesc, index);
@@ -1728,6 +1732,13 @@ private:
int32_t trackIndex, const sp<ABuffer> &accessUnit) {
ALOGV("onAccessUnitComplete track %d", trackIndex);
+ if(!mPlayResponseParsed){
+ ALOGI("play response is not parsed, storing accessunit");
+ TrackInfo *track = &mTracks.editItemAt(trackIndex);
+ track->mPackets.push_back(accessUnit);
+ return;
+ }
+
if (mFirstAccessUnit) {
sp<AMessage> msg = mNotify->dup();
msg->setInt32("what", kWhatConnected);