Loading media/libmediaplayerservice/StagefrightRecorder.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ StagefrightRecorder::StagefrightRecorder(const String16 &opPackageName) mVideoSource(VIDEO_SOURCE_LIST_END), mRTPCVOExtMap(-1), mRTPCVODegrees(0), mLastSeqNo(0), mStarted(false), mSelectedDeviceId(AUDIO_PORT_HANDLE_NONE), mDeviceCallbackEnabled(false), Loading Loading @@ -1474,7 +1475,7 @@ status_t StagefrightRecorder::setupRTPRecording() { mVideoEncoderSource = source; } mWriter = new ARTPWriter(mOutputFd, mLocalIp, mLocalPort, mRemoteIp, mRemotePort); mWriter = new ARTPWriter(mOutputFd, mLocalIp, mLocalPort, mRemoteIp, mRemotePort, mLastSeqNo); mWriter->addSource(source); mWriter->setListener(mListener); Loading Loading @@ -2274,6 +2275,7 @@ status_t StagefrightRecorder::stop() { if (mWriter != NULL) { err = mWriter->stop(); mLastSeqNo = mWriter->getSequenceNum(); mWriter.clear(); } Loading media/libmediaplayerservice/StagefrightRecorder.h +1 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,7 @@ private: int32_t mPayloadType; int32_t mRTPCVOExtMap; int32_t mRTPCVODegrees; uint32_t mLastSeqNo; int64_t mDurationRecordedUs; int64_t mStartedRecordingUs; Loading media/libstagefright/include/media/stagefright/MediaWriter.h +1 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ struct MediaWriter : public RefBase { virtual status_t setNextFd(int /*fd*/) { return INVALID_OPERATION; } virtual void updateCVODegrees(int32_t /*cvoDegrees*/) {} virtual void updatePayloadType(int32_t /*payloadType*/) {} virtual uint32_t getSequenceNum() { return 0; } protected: virtual ~MediaWriter() {} Loading media/libstagefright/rtsp/ARTPWriter.cpp +12 −3 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ ARTPWriter::ARTPWriter(int fd) } ARTPWriter::ARTPWriter(int fd, String8& localIp, int localPort, String8& remoteIp, int remotePort) int remotePort, uint32_t seqNo) : mFlags(0), mFd(dup(fd)), mLooper(new ALooper), Loading @@ -129,6 +129,8 @@ ARTPWriter::ARTPWriter(int fd, String8& localIp, int localPort, String8& remoteI mSPSBuf = NULL; mPPSBuf = NULL; mSeqNo = seqNo; #if LOG_TO_FILES mRTPFd = open( "/data/misc/rtpout.bin", Loading Loading @@ -192,6 +194,7 @@ status_t ARTPWriter::start(MetaData * params) { mFlags &= ~kFlagEOS; if (mSourceID == 0) mSourceID = rand(); if (mSeqNo == 0) mSeqNo = UniformRand(65536); mRTPTimeBase = 0; mNumRTPSent = 0; Loading Loading @@ -336,7 +339,9 @@ void ARTPWriter::onMessageReceived(const sp<AMessage> &msg) { switch (msg->what()) { case kWhatStart: { CHECK_EQ(mSource->start(), (status_t)OK); sp<MetaData> meta = new MetaData(); meta->setInt64(kKeyTime, 10ll); CHECK_EQ(mSource->start(meta.get()), (status_t)OK); #if 0 if (mMode == H264) { Loading Loading @@ -1170,6 +1175,10 @@ void ARTPWriter::updatePayloadType(int32_t payloadType) { mPayloadType = payloadType; } uint32_t ARTPWriter::getSequenceNum() { return mSeqNo; } static size_t getFrameSize(bool isWide, unsigned FT) { static const size_t kFrameSizeNB[8] = { 95, 103, 118, 134, 148, 159, 204, 244 Loading media/libstagefright/rtsp/ARTPWriter.h +3 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,8 @@ class MediaBuffer; struct ARTPWriter : public MediaWriter { explicit ARTPWriter(int fd); explicit ARTPWriter(int fd, String8& localIp, int localPort, String8& remoteIp, int remotePort); String8& remoteIp, int remotePort, uint32_t seqNo); virtual status_t addSource(const sp<MediaSource> &source); virtual bool reachedEOS(); Loading @@ -46,6 +47,7 @@ struct ARTPWriter : public MediaWriter { virtual status_t pause(); void updateCVODegrees(int32_t cvoDegrees); void updatePayloadType(int32_t payloadType); uint32_t getSequenceNum(); virtual void onMessageReceived(const sp<AMessage> &msg); virtual void setTMMBNInfo(uint32_t opponentID, uint32_t bitrate); Loading Loading
media/libmediaplayerservice/StagefrightRecorder.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ StagefrightRecorder::StagefrightRecorder(const String16 &opPackageName) mVideoSource(VIDEO_SOURCE_LIST_END), mRTPCVOExtMap(-1), mRTPCVODegrees(0), mLastSeqNo(0), mStarted(false), mSelectedDeviceId(AUDIO_PORT_HANDLE_NONE), mDeviceCallbackEnabled(false), Loading Loading @@ -1474,7 +1475,7 @@ status_t StagefrightRecorder::setupRTPRecording() { mVideoEncoderSource = source; } mWriter = new ARTPWriter(mOutputFd, mLocalIp, mLocalPort, mRemoteIp, mRemotePort); mWriter = new ARTPWriter(mOutputFd, mLocalIp, mLocalPort, mRemoteIp, mRemotePort, mLastSeqNo); mWriter->addSource(source); mWriter->setListener(mListener); Loading Loading @@ -2274,6 +2275,7 @@ status_t StagefrightRecorder::stop() { if (mWriter != NULL) { err = mWriter->stop(); mLastSeqNo = mWriter->getSequenceNum(); mWriter.clear(); } Loading
media/libmediaplayerservice/StagefrightRecorder.h +1 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,7 @@ private: int32_t mPayloadType; int32_t mRTPCVOExtMap; int32_t mRTPCVODegrees; uint32_t mLastSeqNo; int64_t mDurationRecordedUs; int64_t mStartedRecordingUs; Loading
media/libstagefright/include/media/stagefright/MediaWriter.h +1 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ struct MediaWriter : public RefBase { virtual status_t setNextFd(int /*fd*/) { return INVALID_OPERATION; } virtual void updateCVODegrees(int32_t /*cvoDegrees*/) {} virtual void updatePayloadType(int32_t /*payloadType*/) {} virtual uint32_t getSequenceNum() { return 0; } protected: virtual ~MediaWriter() {} Loading
media/libstagefright/rtsp/ARTPWriter.cpp +12 −3 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ ARTPWriter::ARTPWriter(int fd) } ARTPWriter::ARTPWriter(int fd, String8& localIp, int localPort, String8& remoteIp, int remotePort) int remotePort, uint32_t seqNo) : mFlags(0), mFd(dup(fd)), mLooper(new ALooper), Loading @@ -129,6 +129,8 @@ ARTPWriter::ARTPWriter(int fd, String8& localIp, int localPort, String8& remoteI mSPSBuf = NULL; mPPSBuf = NULL; mSeqNo = seqNo; #if LOG_TO_FILES mRTPFd = open( "/data/misc/rtpout.bin", Loading Loading @@ -192,6 +194,7 @@ status_t ARTPWriter::start(MetaData * params) { mFlags &= ~kFlagEOS; if (mSourceID == 0) mSourceID = rand(); if (mSeqNo == 0) mSeqNo = UniformRand(65536); mRTPTimeBase = 0; mNumRTPSent = 0; Loading Loading @@ -336,7 +339,9 @@ void ARTPWriter::onMessageReceived(const sp<AMessage> &msg) { switch (msg->what()) { case kWhatStart: { CHECK_EQ(mSource->start(), (status_t)OK); sp<MetaData> meta = new MetaData(); meta->setInt64(kKeyTime, 10ll); CHECK_EQ(mSource->start(meta.get()), (status_t)OK); #if 0 if (mMode == H264) { Loading Loading @@ -1170,6 +1175,10 @@ void ARTPWriter::updatePayloadType(int32_t payloadType) { mPayloadType = payloadType; } uint32_t ARTPWriter::getSequenceNum() { return mSeqNo; } static size_t getFrameSize(bool isWide, unsigned FT) { static const size_t kFrameSizeNB[8] = { 95, 103, 118, 134, 148, 159, 204, 244 Loading
media/libstagefright/rtsp/ARTPWriter.h +3 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,8 @@ class MediaBuffer; struct ARTPWriter : public MediaWriter { explicit ARTPWriter(int fd); explicit ARTPWriter(int fd, String8& localIp, int localPort, String8& remoteIp, int remotePort); String8& remoteIp, int remotePort, uint32_t seqNo); virtual status_t addSource(const sp<MediaSource> &source); virtual bool reachedEOS(); Loading @@ -46,6 +47,7 @@ struct ARTPWriter : public MediaWriter { virtual status_t pause(); void updateCVODegrees(int32_t cvoDegrees); void updatePayloadType(int32_t payloadType); uint32_t getSequenceNum(); virtual void onMessageReceived(const sp<AMessage> &msg); virtual void setTMMBNInfo(uint32_t opponentID, uint32_t bitrate); Loading