summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IMediaPlayerService.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2013-05-29 14:20:52 -0700
committerAndreas Huber <andih@google.com>2013-05-31 15:31:56 -0700
commitb7319a7eb0a06ef4fd3a0c9157ee63e637ad7aa1 (patch)
tree6dc90cde609f708f45ae08af2bdc5f9cd2df4bb3 /media/libmedia/IMediaPlayerService.cpp
parent41688da226e91c97ea3b2fe096044e1e5b0520bc (diff)
downloadframeworks_av-b7319a7eb0a06ef4fd3a0c9157ee63e637ad7aa1.zip
frameworks_av-b7319a7eb0a06ef4fd3a0c9157ee63e637ad7aa1.tar.gz
frameworks_av-b7319a7eb0a06ef4fd3a0c9157ee63e637ad7aa1.tar.bz2
Update HTTP proxy configuration for all media playback inside stagefright.
Change-Id: Ie0dd00045aba668d8b49da73224e7a7c9c04f69b related-to-bug: 8873723 (cherry picked from commit 2704965b8a1ff3b7450ff58ccecf86d8ec688c40)
Diffstat (limited to 'media/libmedia/IMediaPlayerService.cpp')
-rw-r--r--media/libmedia/IMediaPlayerService.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/media/libmedia/IMediaPlayerService.cpp b/media/libmedia/IMediaPlayerService.cpp
index e1ce5a9..74f574d 100644
--- a/media/libmedia/IMediaPlayerService.cpp
+++ b/media/libmedia/IMediaPlayerService.cpp
@@ -48,6 +48,7 @@ enum {
ADD_BATTERY_DATA,
PULL_BATTERY_DATA,
LISTEN_FOR_REMOTE_DISPLAY,
+ UPDATE_PROXY_CONFIG,
};
class BpMediaPlayerService: public BpInterface<IMediaPlayerService>
@@ -163,6 +164,25 @@ public:
remote()->transact(LISTEN_FOR_REMOTE_DISPLAY, data, &reply);
return interface_cast<IRemoteDisplay>(reply.readStrongBinder());
}
+
+ virtual status_t updateProxyConfig(
+ const char *host, int32_t port, const char *exclusionList) {
+ Parcel data, reply;
+
+ data.writeInterfaceToken(IMediaPlayerService::getInterfaceDescriptor());
+ if (host == NULL) {
+ data.writeInt32(0);
+ } else {
+ data.writeInt32(1);
+ data.writeCString(host);
+ data.writeInt32(port);
+ data.writeCString(exclusionList);
+ }
+
+ remote()->transact(UPDATE_PROXY_CONFIG, data, &reply);
+
+ return reply.readInt32();
+ }
};
IMPLEMENT_META_INTERFACE(MediaPlayerService, "android.media.IMediaPlayerService");
@@ -267,6 +287,24 @@ status_t BnMediaPlayerService::onTransact(
reply->writeStrongBinder(display->asBinder());
return NO_ERROR;
} break;
+ case UPDATE_PROXY_CONFIG:
+ {
+ CHECK_INTERFACE(IMediaPlayerService, data, reply);
+
+ const char *host = NULL;
+ int32_t port = 0;
+ const char *exclusionList = NULL;
+
+ if (data.readInt32()) {
+ host = data.readCString();
+ port = data.readInt32();
+ exclusionList = data.readCString();
+ }
+
+ reply->writeInt32(updateProxyConfig(host, port, exclusionList));
+
+ return OK;
+ }
default:
return BBinder::onTransact(code, data, reply, flags);
}