From 45dccc785efbcc470bd4a48a1e16879ff798c5c7 Mon Sep 17 00:00:00 2001 From: Li Sun Date: Mon, 13 Jul 2015 13:37:07 +0800 Subject: RTSP: add RTSP extensions for customization support Add extensions for customization support in rtsp stack. Provide default implementations in AVMediaServiceUtils. Change-Id: I67adeb54b35d1f01911625bb9bad27e94ad0caf0 --- .../mediaplayerservice/AVMediaServiceExtensions.h | 15 +++++++++++ .../mediaplayerservice/AVMediaServiceUtils.cpp | 31 ++++++++++++++++++++++ 2 files changed, 46 insertions(+) (limited to 'media/libavextensions') 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 #include + +#include #include #include +#include + 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 &buffer, + List> *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 #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 &/*buffer*/, + List> * /*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() { } -- cgit v1.1