VT: OMX_ErrorStreamCorrupt should be skipped only for RTP scenario.
[Problem]
AOSP take care OMX_ErrorStreamCorrupt as an error.
Mediaplayer will be stopped once an error occured.
[Cause]
OMX_ErrorStreamCorrupt is not handled as an error due to
a patch from video call scenario.
[Solution]
OMX_ErrorStreamCorrupt should be skipped only for
video call(RTP) scenarios.
Bug: 121230209
Change-Id: I5e1fe7f993776a74619ddc88d664799a54bd604e
Signed-off-by: Byeongjo Park <bjo.park@samsung.com>
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index 44423f8..a16b6be 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -378,6 +378,7 @@
msg->setObject("source", source);
msg->post();
+ mDataSourceType = DATA_SOURCE_TYPE_RTP;
}
void NuPlayer::prepareAsync() {
@@ -1927,6 +1928,13 @@
format->setInt32("priority", 0 /* realtime */);
+ AString mime;
+ format->findString("mime", &mime);
+ if (mDataSourceType == DATA_SOURCE_TYPE_RTP) {
+ ALOGV("instantiateDecoder: set decoder error free on stream corrupt.");
+ format->setInt32("corrupt-free", true);
+ }
+
if (!audio) {
AString mime;
CHECK(format->findString("mime", &mime));
@@ -2881,6 +2889,9 @@
case DATA_SOURCE_TYPE_HTTP_LIVE:
return "HTTPLive";
+ case DATA_SOURCE_TYPE_RTP:
+ return "RTP";
+
case DATA_SOURCE_TYPE_RTSP:
return "RTSP";
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.h b/media/libmediaplayerservice/nuplayer/NuPlayer.h
index c96ad31..0105248 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.h
@@ -260,6 +260,7 @@
typedef enum {
DATA_SOURCE_TYPE_NONE,
DATA_SOURCE_TYPE_HTTP_LIVE,
+ DATA_SOURCE_TYPE_RTP,
DATA_SOURCE_TYPE_RTSP,
DATA_SOURCE_TYPE_GENERIC_URL,
DATA_SOURCE_TYPE_GENERIC_FD,