summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2014-05-09 00:21:39 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2014-05-09 00:21:39 -0700
commit5222ec66b30fa322c863eb1e83e99efee3de147e (patch)
tree0243131f1424be2de3582de28e6abb383f462a23
parent912034016d4976d9f171f7b5bf1a31336befa209 (diff)
parentac501f9547365cf42c770a075c2578161e166d41 (diff)
downloadandroid_hardware_qcom_media-5222ec66b30fa322c863eb1e83e99efee3de147e.tar.gz
android_hardware_qcom_media-5222ec66b30fa322c863eb1e83e99efee3de147e.tar.bz2
android_hardware_qcom_media-5222ec66b30fa322c863eb1e83e99efee3de147e.zip
Merge "dashplayer: Return DashCodec FillBuffers properly on Error"
-rw-r--r--dashplayer/DashPlayer.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/dashplayer/DashPlayer.cpp b/dashplayer/DashPlayer.cpp
index 0f3e4c04..f03e938f 100644
--- a/dashplayer/DashPlayer.cpp
+++ b/dashplayer/DashPlayer.cpp
@@ -410,9 +410,23 @@ void DashPlayer::onMessageReceived(const sp<AMessage> &msg) {
track, codecRequest);
if (err == -EWOULDBLOCK) {
- if (mSource->feedMoreTSData() == OK) {
+ status_t nRet = mSource->feedMoreTSData();
+ if (nRet == OK) {
msg->post(10000ll);
}
+ else if(nRet == (status_t)UNKNOWN_ERROR ||
+ nRet == (status_t)ERROR_DRM_CANNOT_HANDLE) {
+ // reply back to dashcodec if there is an error
+ ALOGE("FeedMoreTSData error on track %d ",track);
+ if (track == kText) {
+ sendTextPacket(NULL, (status_t)UNKNOWN_ERROR);
+ } else {
+ sp<AMessage> reply;
+ CHECK(codecRequest->findMessage("reply", &reply));
+ reply->setInt32("err", (status_t)UNKNOWN_ERROR);
+ reply->post();
+ }
+ }
}
} else if (what == DashCodec::kWhatEOS) {