summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IOMX.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2009-12-16 09:30:55 -0800
committerAndreas Huber <andih@google.com>2009-12-17 09:28:15 -0800
commit134ee6a324c35f39e3576172e4eae4c6de6eb9dc (patch)
treec402e0b47b926a0ed1bfee9fa2ef16822a19dd45 /media/libmedia/IOMX.cpp
parent8ae1d0bdcef22f2bdd8d283e0e615f3ba6c3f4cd (diff)
downloadframeworks_av-134ee6a324c35f39e3576172e4eae4c6de6eb9dc.zip
frameworks_av-134ee6a324c35f39e3576172e4eae4c6de6eb9dc.tar.gz
frameworks_av-134ee6a324c35f39e3576172e4eae4c6de6eb9dc.tar.bz2
Squashed commit of the following:
commit 144b1c40e9cf08a584c50e1bef7ba3f287e81a4f Author: Andreas Huber <andih@google.com> Date: Wed Dec 16 09:28:23 2009 -0800 This H264 file shows a certain problem even better. commit 3245f1f3b7471975aeeb824a756c987abd610f55 Author: Andreas Huber <andih@google.com> Date: Wed Dec 16 09:20:08 2009 -0800 Using only the QA testfiles now. commit 074817eb3816c5dd70858a3594e3b92d799d873b Author: Andreas Huber <andih@google.com> Date: Tue Dec 15 16:17:39 2009 -0800 Yay, roles are back again now that the API is in place. commit 6d847e4932cc38301ae27cb7283b7f1553a95457 Author: Andreas Huber <andih@google.com> Date: Tue Dec 15 13:01:20 2009 -0800 Added commandline option for specifying the random seed for reproducable tests. commit 62ab37b26336eaa67e49791c41c996acb6acee3f Author: Andreas Huber <andih@google.com> Date: Mon Dec 14 10:53:27 2009 -0800 When issuing a seek it is important that only the first MediaSource::read call has the seek option. commit e77c46644b2fb6862bafa3569f7d304252074f1e Author: Andreas Huber <andih@google.com> Date: Mon Dec 7 16:39:07 2009 -0800 Make sure the tests are actually built, sp<OMXCodec> becomes sp<MediaSource> commit 6df56915bd55a9445b3c6f953d3cc251d81579b8 Author: Andreas Huber <andih@google.com> Date: Thu Dec 3 14:25:36 2009 -0800 Temporarily disable support for querying the roles of OMX components. commit 31bb26930df9e3658dea684cedb4b0f1a06a4a88 Author: Andreas Huber <andih@google.com> Date: Tue Dec 1 13:36:52 2009 -0800 Disregard EOS events, slightly change the way the EOS flag on output buffers is handled. commit 4c382fbc9aebee8197d5988d04378062809e7c48 Author: Andreas Huber <andih@google.com> Date: Tue Dec 1 09:37:24 2009 -0800 New random seek test for the codec tests. Fixed "sticky" end-of-output-buffers flag behaviour in OMXCodec. commit c762eac3e44309592b61a168d66e091cf609fa03 Author: Andreas Huber <andih@google.com> Date: Tue Nov 3 14:13:43 2009 -0800 Fix a typo. commit 50540a59b65c7d476b0193c7494cd75895e6ca6d Author: Andreas Huber <andih@google.com> Date: Tue Nov 3 09:48:35 2009 -0800 Some more fine tuning of the unit tests, make MPEG4Extractor less verbose. commit 1157a7e52a0636706caa235abe16d2ff8a0b8140 Author: Andreas Huber <andih@google.com> Date: Wed Oct 28 12:01:01 2009 -0700 Changes to the IOMX::listNodes API, this now returns the component's roles as well, unit tests now test all components in all supported roles by default. commit 30fbf2d8c6cb927689f7ba75eb550a81e9df488a Author: Andreas Huber <andih@google.com> Date: Mon Oct 26 09:45:26 2009 -0700 Initial check-in of unit tests for OMX components.
Diffstat (limited to 'media/libmedia/IOMX.cpp')
-rw-r--r--media/libmedia/IOMX.cpp24
1 files changed, 18 insertions, 6 deletions
diff --git a/media/libmedia/IOMX.cpp b/media/libmedia/IOMX.cpp
index 76a9e7d..b43e48f 100644
--- a/media/libmedia/IOMX.cpp
+++ b/media/libmedia/IOMX.cpp
@@ -75,7 +75,7 @@ public:
: BpInterface<IOMX>(impl) {
}
- virtual status_t listNodes(List<String8> *list) {
+ virtual status_t listNodes(List<ComponentInfo> *list) {
list->clear();
Parcel data, reply;
@@ -84,9 +84,14 @@ public:
int32_t n = reply.readInt32();
for (int32_t i = 0; i < n; ++i) {
- String8 s = reply.readString8();
+ list->push_back(ComponentInfo());
+ ComponentInfo &info = *--list->end();
- list->push_back(s);
+ info.mName = reply.readString8();
+ int32_t numRoles = reply.readInt32();
+ for (int32_t j = 0; j < numRoles; ++j) {
+ info.mRoles.push_back(reply.readString8());
+ }
}
return OK;
@@ -368,13 +373,20 @@ status_t BnOMX::onTransact(
{
CHECK_INTERFACE(IOMX, data, reply);
- List<String8> list;
+ List<ComponentInfo> list;
listNodes(&list);
reply->writeInt32(list.size());
- for (List<String8>::iterator it = list.begin();
+ for (List<ComponentInfo>::iterator it = list.begin();
it != list.end(); ++it) {
- reply->writeString8(*it);
+ ComponentInfo &cur = *it;
+
+ reply->writeString8(cur.mName);
+ reply->writeInt32(cur.mRoles.size());
+ for (List<String8>::iterator role_it = cur.mRoles.begin();
+ role_it != cur.mRoles.end(); ++role_it) {
+ reply->writeString8(*role_it);
+ }
}
return NO_ERROR;