summaryrefslogtreecommitdiffstats
path: root/media/libavextensions
diff options
context:
space:
mode:
authorLi Sun <sunli@codeaurora.org>2015-07-13 13:37:07 +0800
committerLinux Build Service Account <lnxbuild@localhost>2015-10-06 03:24:40 -0600
commit45dccc785efbcc470bd4a48a1e16879ff798c5c7 (patch)
tree9dde855d54dc7f2cae0b89c32104157d606267b5 /media/libavextensions
parentcded9aa430953af01098ac2312794ebf5e4f7927 (diff)
downloadframeworks_av-45dccc785efbcc470bd4a48a1e16879ff798c5c7.zip
frameworks_av-45dccc785efbcc470bd4a48a1e16879ff798c5c7.tar.gz
frameworks_av-45dccc785efbcc470bd4a48a1e16879ff798c5c7.tar.bz2
RTSP: add RTSP extensions for customization support
Add extensions for customization support in rtsp stack. Provide default implementations in AVMediaServiceUtils. Change-Id: I67adeb54b35d1f01911625bb9bad27e94ad0caf0
Diffstat (limited to 'media/libavextensions')
-rw-r--r--media/libavextensions/mediaplayerservice/AVMediaServiceExtensions.h15
-rw-r--r--media/libavextensions/mediaplayerservice/AVMediaServiceUtils.cpp31
2 files changed, 46 insertions, 0 deletions
diff --git a/media/libavextensions/mediaplayerservice/AVMediaServiceExtensions.h b/media/libavextensions/mediaplayerservice/AVMediaServiceExtensions.h
index d84344e..f2c789e 100644
--- a/media/libavextensions/mediaplayerservice/AVMediaServiceExtensions.h
+++ b/media/libavextensions/mediaplayerservice/AVMediaServiceExtensions.h
@@ -31,9 +31,13 @@
#include <common/AVExtensionsCommon.h>
#include <MediaPlayerFactory.h>
+
+#include <utils/List.h>
#include <utils/RefBase.h>
#include <utils/String16.h>
+#include <media/Metadata.h>
+
namespace android {
struct StagefrightRecorder;
@@ -41,6 +45,7 @@ struct ARTSPConnection;
struct ARTPConnection;
struct AString;
struct MyHandler;
+struct ABuffer;
/*
* Factory to create objects of base-classes in libmediaplayerservice
@@ -67,6 +72,16 @@ struct AVMediaServiceUtils {
virtual void makePortPair(int *rtpSocket, int *rtcpSocket, unsigned *rtpPort,
bool isIPV6);
virtual const char* parseURL(AString *host);
+ // RTSP customization utils
+ virtual bool parseTrackURL(AString url, AString val);
+ virtual void appendRange(AString *request);
+ virtual void setServerTimeoutUs(int64_t timeout);
+ virtual void appendMeta(media::Metadata *meta);
+ virtual bool checkNPTMapping(uint32_t *rtpInfoTime, int64_t *playTimeUs,
+ bool *nptValid, uint32_t rtpTime);
+ virtual void addH263AdvancedPacket(const sp<ABuffer> &buffer,
+ List<sp<ABuffer>> *packets, uint32_t rtpTime);
+ virtual bool parseNTPRange(const char *s, float *npt1, float *npt2);
// ----- NO TRESSPASSING BEYOND THIS LINE ------
DECLARE_LOADABLE_SINGLETON(AVMediaServiceUtils);
diff --git a/media/libavextensions/mediaplayerservice/AVMediaServiceUtils.cpp b/media/libavextensions/mediaplayerservice/AVMediaServiceUtils.cpp
index 705ce8a..0e42367 100644
--- a/media/libavextensions/mediaplayerservice/AVMediaServiceUtils.cpp
+++ b/media/libavextensions/mediaplayerservice/AVMediaServiceUtils.cpp
@@ -32,6 +32,7 @@
#include <media/stagefright/foundation/ADebug.h>
#include "ARTPConnection.h"
+#include "ASessionDescription.h"
#include "MyHandler.h"
#include "common/ExtensionsLoader.hpp"
@@ -57,6 +58,36 @@ const char* AVMediaServiceUtils::parseURL(AString *host) {
return strchr(host->c_str(), ':');
}
+bool AVMediaServiceUtils::parseTrackURL(AString /*url*/, AString /*val*/) {
+ return false;
+}
+
+void AVMediaServiceUtils::appendRange(AString * /*request*/) {
+ return;
+}
+
+void AVMediaServiceUtils::setServerTimeoutUs(int64_t /*timeout*/) {
+ return;
+}
+
+void AVMediaServiceUtils::addH263AdvancedPacket(const sp<ABuffer> &/*buffer*/,
+ List<sp<ABuffer>> * /*packets*/, uint32_t /*rtpTime*/) {
+ return;
+}
+
+void AVMediaServiceUtils::appendMeta(media::Metadata * /*meta*/) {
+ return;
+}
+
+bool AVMediaServiceUtils::checkNPTMapping(uint32_t * /*rtpInfoTime*/, int64_t * /*playTimeUs*/,
+ bool * /*nptValid*/, uint32_t /*rtpTime*/) {
+ return false;
+}
+
+bool AVMediaServiceUtils::parseNTPRange(const char *s, float *npt1, float *npt2) {
+ return ASessionDescription::parseNTPRange(s, npt1, npt2);
+}
+
// ----- NO TRESSPASSING BEYOND THIS LINE ------
AVMediaServiceUtils::AVMediaServiceUtils() {
}