summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display/source/WifiDisplaySource.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/wifi-display/source/WifiDisplaySource.h')
-rw-r--r--media/libstagefright/wifi-display/source/WifiDisplaySource.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/media/libstagefright/wifi-display/source/WifiDisplaySource.h b/media/libstagefright/wifi-display/source/WifiDisplaySource.h
index 0c214e9..3c8d50f 100644
--- a/media/libstagefright/wifi-display/source/WifiDisplaySource.h
+++ b/media/libstagefright/wifi-display/source/WifiDisplaySource.h
@@ -83,14 +83,16 @@ private:
struct in_addr mInterfaceAddr;
int32_t mSessionID;
+ int32_t mClientSessionID;
+
struct ClientInfo {
AString mRemoteIP;
AString mLocalIP;
int32_t mLocalPort;
int32_t mPlaybackSessionID;
+ sp<PlaybackSession> mPlaybackSession;
};
- // by sessionID.
- KeyedVector<int32_t, ClientInfo> mClientInfos;
+ ClientInfo mClientInfo;
bool mReaperPending;
@@ -98,8 +100,6 @@ private:
KeyedVector<ResponseID, HandleRTSPResponseFunc> mResponseHandlers;
- KeyedVector<int32_t, sp<PlaybackSession> > mPlaybackSessions;
-
status_t sendM1(int32_t sessionID);
status_t sendM3(int32_t sessionID);
status_t sendM4(int32_t sessionID);
@@ -182,6 +182,12 @@ private:
sp<PlaybackSession> findPlaybackSession(
const sp<ParsedMessage> &data, int32_t *playbackSessionID) const;
+ // Disconnects the current client and shuts down its playback session
+ // (if any). The reason for the disconnection is OK for orderly shutdown
+ // or a nonzero error code.
+ // A listener is notified accordingly.
+ void disconnectClient(status_t err);
+
DISALLOW_EVIL_CONSTRUCTORS(WifiDisplaySource);
};