summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/foundation
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-12-15 17:18:20 -0800
committerAndreas Huber <andih@google.com>2010-12-16 10:08:26 -0800
commit2c2814b900a61fa07ddfff860b143fbbe9c740e9 (patch)
tree6e87ef2fc13807b7553fb922c149c9e9810c92fd /media/libstagefright/foundation
parente071b055cee301d71335519601474c62b10af411 (diff)
downloadframeworks_av-2c2814b900a61fa07ddfff860b143fbbe9c740e9.zip
frameworks_av-2c2814b900a61fa07ddfff860b143fbbe9c740e9.tar.gz
frameworks_av-2c2814b900a61fa07ddfff860b143fbbe9c740e9.tar.bz2
Properly announce decoder output format changes, make sure AMessage::dup does.
Change-Id: Ia77f6b6d5e5c5055583740dfe876b8a3c22be9b6
Diffstat (limited to 'media/libstagefright/foundation')
-rw-r--r--media/libstagefright/foundation/AMessage.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/media/libstagefright/foundation/AMessage.cpp b/media/libstagefright/foundation/AMessage.cpp
index 7da9cb8..0e40acc 100644
--- a/media/libstagefright/foundation/AMessage.cpp
+++ b/media/libstagefright/foundation/AMessage.cpp
@@ -224,13 +224,22 @@ sp<AMessage> AMessage::dup() const {
}
case kTypeObject:
- case kTypeMessage:
{
to->u.refValue = from->u.refValue;
to->u.refValue->incStrong(msg.get());
break;
}
+ case kTypeMessage:
+ {
+ sp<AMessage> copy =
+ static_cast<AMessage *>(from->u.refValue)->dup();
+
+ to->u.refValue = copy.get();
+ to->u.refValue->incStrong(msg.get());
+ break;
+ }
+
default:
{
to->u = from->u;