Only run the wifi display RTSP server on demand, and only on the wifi direct
interface.
Change-Id: I7d3c44cb79cd40e73499f2d7ccf35c69b628e6d7
diff --git a/media/libmedia/IMediaPlayerService.cpp b/media/libmedia/IMediaPlayerService.cpp
index 41969b1..d3e2e19 100644
--- a/media/libmedia/IMediaPlayerService.cpp
+++ b/media/libmedia/IMediaPlayerService.cpp
@@ -121,10 +121,17 @@
return interface_cast<ICrypto>(reply.readStrongBinder());
}
- virtual status_t enableRemoteDisplay(bool enable) {
+ virtual status_t enableRemoteDisplay(const char *iface) {
Parcel data, reply;
data.writeInterfaceToken(IMediaPlayerService::getInterfaceDescriptor());
- data.writeInt32(enable);
+
+ if (iface != NULL) {
+ data.writeInt32(1);
+ data.writeCString(iface);
+ } else {
+ data.writeInt32(0);
+ }
+
remote()->transact(ENABLE_REMOTE_DISPLAY, data, &reply);
return reply.readInt32();
}
@@ -217,8 +224,11 @@
} break;
case ENABLE_REMOTE_DISPLAY: {
CHECK_INTERFACE(IMediaPlayerService, data, reply);
- bool enable = data.readInt32();
- reply->writeInt32(enableRemoteDisplay(enable));
+ const char *iface = NULL;
+ if (data.readInt32()) {
+ iface = data.readCString();
+ }
+ reply->writeInt32(enableRemoteDisplay(iface));
return NO_ERROR;
} break;
case ADD_BATTERY_DATA: {