diff options
author | Li Sun <sunli@codeaurora.org> | 2015-07-13 13:37:07 +0800 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2015-10-06 03:24:40 -0600 |
commit | 45dccc785efbcc470bd4a48a1e16879ff798c5c7 (patch) | |
tree | 9dde855d54dc7f2cae0b89c32104157d606267b5 /media/libavextensions | |
parent | cded9aa430953af01098ac2312794ebf5e4f7927 (diff) | |
download | frameworks_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.h | 15 | ||||
-rw-r--r-- | media/libavextensions/mediaplayerservice/AVMediaServiceUtils.cpp | 31 |
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() { } |