diff options
Diffstat (limited to 'media/libstagefright/rtsp/APacketSource.h')
-rw-r--r-- | media/libstagefright/rtsp/APacketSource.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/media/libstagefright/rtsp/APacketSource.h b/media/libstagefright/rtsp/APacketSource.h index 647da6e..3833ab1 100644 --- a/media/libstagefright/rtsp/APacketSource.h +++ b/media/libstagefright/rtsp/APacketSource.h @@ -43,7 +43,12 @@ struct APacketSource : public MediaSource { void queueAccessUnit(const sp<ABuffer> &buffer); void signalEOS(status_t result); - int64_t getQueuedDuration(bool *eos); + void flushQueue(); + + int64_t getNormalPlayTimeUs(); + + void setNormalPlayTimeMapping( + uint32_t rtpTime, int64_t normalPlayTimeUs); protected: virtual ~APacketSource(); @@ -58,8 +63,14 @@ private: List<sp<ABuffer> > mBuffers; status_t mEOSResult; - bool mFirstAccessUnit; - uint64_t mFirstAccessUnitNTP; + uint32_t mClockRate; + + uint32_t mRTPTimeBase; + int64_t mNormalPlayTimeBaseUs; + + int64_t mLastNormalPlayTimeUs; + + void updateNormalPlayTime_l(const sp<ABuffer> &buffer); DISALLOW_EVIL_CONSTRUCTORS(APacketSource); }; |