diff options
Diffstat (limited to 'media/libstagefright/wifi-display/source/WifiDisplaySource.h')
-rw-r--r-- | media/libstagefright/wifi-display/source/WifiDisplaySource.h | 14 |
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); }; |