summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLi Sun <sunli@codeaurora.org>2015-09-19 00:11:04 +0800
committerSteve Kondik <steve@cyngn.com>2015-10-29 21:27:02 -0700
commit7cda631948ca077855f76b20571784cbaf978ac9 (patch)
tree3f1cd0ec7d4ddbe944eb7fd7a855b4a95115e7d7
parentb8d0cd79582e04079a5ce9ac3462d29e17d99835 (diff)
downloadframeworks_av-7cda631948ca077855f76b20571784cbaf978ac9.zip
frameworks_av-7cda631948ca077855f76b20571784cbaf978ac9.tar.gz
frameworks_av-7cda631948ca077855f76b20571784cbaf978ac9.tar.bz2
RTSP: add default implementations in NuPlayer for rtsp changes
Change access modifiers in NuPlayer and add the util function in AVNuUtils Change-Id: I365cce317b4478cd1d12e458b5849ea842062a28
-rw-r--r--media/libavextensions/mediaplayerservice/AVNuExtensions.h1
-rw-r--r--media/libavextensions/mediaplayerservice/AVNuUtils.cpp4
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.h2
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp1
4 files changed, 7 insertions, 1 deletions
diff --git a/media/libavextensions/mediaplayerservice/AVNuExtensions.h b/media/libavextensions/mediaplayerservice/AVNuExtensions.h
index a10937d..9aa4cde 100644
--- a/media/libavextensions/mediaplayerservice/AVNuExtensions.h
+++ b/media/libavextensions/mediaplayerservice/AVNuExtensions.h
@@ -83,6 +83,7 @@ struct AVNuUtils {
virtual void printFileName(int fd);
virtual void checkFormatChange(bool *formatChange, const sp<ABuffer> &accessUnit);
+ virtual void addFlagsInMeta(const sp<ABuffer> &buffer, int32_t flags, bool isAudio);
// ----- NO TRESSPASSING BEYOND THIS LINE ------
DECLARE_LOADABLE_SINGLETON(AVNuUtils);
diff --git a/media/libavextensions/mediaplayerservice/AVNuUtils.cpp b/media/libavextensions/mediaplayerservice/AVNuUtils.cpp
index 20149b3..08a96a3 100644
--- a/media/libavextensions/mediaplayerservice/AVNuUtils.cpp
+++ b/media/libavextensions/mediaplayerservice/AVNuUtils.cpp
@@ -142,6 +142,10 @@ void AVNuUtils::checkFormatChange(bool * /*formatChange*/,
const sp<ABuffer> & /*accessUnit*/) {
}
+void AVNuUtils::addFlagsInMeta(const sp<ABuffer> & /*buffer*/,
+ int32_t /*flags*/, bool /*isAudio*/) {
+}
+
// ----- NO TRESSPASSING BEYOND THIS LINE ------
AVNuUtils::AVNuUtils() {}
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.h b/media/libmediaplayerservice/nuplayer/NuPlayer.h
index c0aa782..73e196e 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.h
@@ -261,7 +261,7 @@ protected:
void processDeferredActions();
- void performSeek(int64_t seekTimeUs);
+ virtual void performSeek(int64_t seekTimeUs);
void performDecoderFlush(FlushCommand audio, FlushCommand video);
void performReset();
void performScanSources();
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
index 2b164ac..b84453b 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
@@ -590,6 +590,7 @@ bool NuPlayer::Decoder::handleAnOutputBuffer(
buffer->meta()->clear();
buffer->meta()->setInt64("timeUs", timeUs);
setPcmFormat(buffer->meta());
+ AVNuUtils::get()->addFlagsInMeta(buffer, flags, mIsAudio);
bool eos = flags & MediaCodec::BUFFER_FLAG_EOS;
// we do not expect CODECCONFIG or SYNCFRAME for decoder