Loading media/libmediaplayerservice/nuplayer/StreamingSource.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ NuPlayer::StreamingSource::~StreamingSource() { void NuPlayer::StreamingSource::start() { mStreamListener = new NuPlayerStreamListener(mSource, 0); mTSParser = new ATSParser; mTSParser = new ATSParser(ATSParser::TS_TIMESTAMPS_ARE_ABSOLUTE); mStreamListener->start(); } Loading media/libstagefright/mpeg2ts/ATSParser.cpp +12 −9 Original line number Diff line number Diff line Loading @@ -325,6 +325,7 @@ sp<MediaSource> ATSParser::Program::getSource(SourceType type) { } int64_t ATSParser::Program::convertPTSToTimestamp(uint64_t PTS) { if (!(mParser->mFlags & TS_TIMESTAMPS_ARE_ABSOLUTE)) { if (!mFirstPTSValid) { mFirstPTSValid = true; mFirstPTS = PTS; Loading @@ -334,6 +335,7 @@ int64_t ATSParser::Program::convertPTSToTimestamp(uint64_t PTS) { } else { PTS -= mFirstPTS; } } return (PTS * 100) / 9; } Loading Loading @@ -734,7 +736,8 @@ sp<MediaSource> ATSParser::Stream::getSource(SourceType type) { //////////////////////////////////////////////////////////////////////////////// ATSParser::ATSParser() { ATSParser::ATSParser(uint32_t flags) : mFlags(flags) { } ATSParser::~ATSParser() { Loading media/libstagefright/mpeg2ts/ATSParser.h +11 −1 Original line number Diff line number Diff line Loading @@ -38,7 +38,16 @@ struct ATSParser : public RefBase { DISCONTINUITY_FORMATCHANGE }; ATSParser(); enum Flags { // The 90kHz clock (PTS/DTS) is absolute, i.e. PTS=0 corresponds to // a media time of 0. // If this flag is _not_ specified, the first PTS encountered in a // program of this stream will be assumed to correspond to media time 0 // instead. TS_TIMESTAMPS_ARE_ABSOLUTE = 1 }; ATSParser(uint32_t flags = 0); void feedTSPacket(const void *data, size_t size); Loading Loading @@ -73,6 +82,7 @@ private: struct Program; struct Stream; uint32_t mFlags; Vector<sp<Program> > mPrograms; void parseProgramAssociationTable(ABitReader *br); Loading Loading
media/libmediaplayerservice/nuplayer/StreamingSource.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ NuPlayer::StreamingSource::~StreamingSource() { void NuPlayer::StreamingSource::start() { mStreamListener = new NuPlayerStreamListener(mSource, 0); mTSParser = new ATSParser; mTSParser = new ATSParser(ATSParser::TS_TIMESTAMPS_ARE_ABSOLUTE); mStreamListener->start(); } Loading
media/libstagefright/mpeg2ts/ATSParser.cpp +12 −9 Original line number Diff line number Diff line Loading @@ -325,6 +325,7 @@ sp<MediaSource> ATSParser::Program::getSource(SourceType type) { } int64_t ATSParser::Program::convertPTSToTimestamp(uint64_t PTS) { if (!(mParser->mFlags & TS_TIMESTAMPS_ARE_ABSOLUTE)) { if (!mFirstPTSValid) { mFirstPTSValid = true; mFirstPTS = PTS; Loading @@ -334,6 +335,7 @@ int64_t ATSParser::Program::convertPTSToTimestamp(uint64_t PTS) { } else { PTS -= mFirstPTS; } } return (PTS * 100) / 9; } Loading Loading @@ -734,7 +736,8 @@ sp<MediaSource> ATSParser::Stream::getSource(SourceType type) { //////////////////////////////////////////////////////////////////////////////// ATSParser::ATSParser() { ATSParser::ATSParser(uint32_t flags) : mFlags(flags) { } ATSParser::~ATSParser() { Loading
media/libstagefright/mpeg2ts/ATSParser.h +11 −1 Original line number Diff line number Diff line Loading @@ -38,7 +38,16 @@ struct ATSParser : public RefBase { DISCONTINUITY_FORMATCHANGE }; ATSParser(); enum Flags { // The 90kHz clock (PTS/DTS) is absolute, i.e. PTS=0 corresponds to // a media time of 0. // If this flag is _not_ specified, the first PTS encountered in a // program of this stream will be assumed to correspond to media time 0 // instead. TS_TIMESTAMPS_ARE_ABSOLUTE = 1 }; ATSParser(uint32_t flags = 0); void feedTSPacket(const void *data, size_t size); Loading Loading @@ -73,6 +82,7 @@ private: struct Program; struct Stream; uint32_t mFlags; Vector<sp<Program> > mPrograms; void parseProgramAssociationTable(ABitReader *br); Loading