*** Begin Patch
*** Update File: Social Networking/LiveStreamingModule/ControllerLiveStre/LiveRoomViewController.swift
@@
     var role = AgoraClientRole.broadcaster
+    private var isAudienceViewer: Bool {
+        return CheckAudience == "Audience" || role == .audience
+    }
@@
         btnLive.layer.cornerRadius = 5
         btnLive.clipsToBounds = true
         
         viewLiveandBackbutton.backgroundColor = .clear
+        applyViewerScreenIfNeeded()
         btnLive.isHidden = true
         btnLiveBack.isHidden = true
@@
         if CheckAudience == "Audience"{
             if let tabBar = self.tabBarController?.tabBar{
                 self.extendedLayoutIncludesOpaqueBars = true
                 self.tabBarController?.tabBar.isHidden = true
                 baseController.hideTabBarIcons(isHidden: true,selfView:self.tabBarController)
             }
-            viewLiveandBackbutton.backgroundColor = .clear
-            btnLive.isHidden = false
-            comentButtonLeftConstant.constant = self.view.frame.size.width - 65
-            btnLiveBack.isHidden = true
-            viewViewerCount.isHidden = false
+            applyViewerScreenIfNeeded()
+            comentButtonLeftConstant.constant = self.view.frame.size.width - 65
             JoinClient()
             self.btnLive.isHidden = true
-            self.viewViewerCount.isHidden = true
         }else{
             comentButtonLeftConstant.constant = 125
             self.WebgetpermissionApi()
@@
     @IBAction func btnBAckAction(_ sender: UIButton) {
-        self.showAlertWithBackActionButton()
+        if isAudienceViewer {
+            closeViewerScreen()
+        } else {
+            self.showAlertWithBackActionButton()
+        }
         
     }
@@
     @IBAction func doLeavePressed(_ sender: UIButton) {
-        showAlertWithThreeButton()
+        if isAudienceViewer {
+            closeViewerScreen()
+        } else {
+            showAlertWithThreeButton()
+        }
         //leaveChannel()
     }
@@
     @IBAction func btnSettingAction(_ sender: UIButton) {
+        guard !isAudienceViewer else { return }
         let storyboard = UIStoryboard(name: kMain , bundle: nil)
         let vc = storyboard.instantiateViewController(withIdentifier: LiveSettingVC.storyboardId()) as! LiveSettingVC
         self.navigationController?.pushViewController(vc, animated: true)
     }
@@
     @IBAction func btnStartLiveAction(_ sender: UIButton) {
+        guard !isAudienceViewer else { return }
         if StopLiveVideo == true{
         if ChannelTime != nil{
             WebNotificationApi()
@@
     func rtcEngine(
             _ engine: AgoraRtcEngineKit,
             didJoinedOfUid uid: UInt,
             elapsed: Int
         ) {
             self.lblUserCountEnd.isHidden = true
-            self.videoMuteButton.isHidden = true
-            self.audioMuteButton.isHidden = true
-            self.viewViewerCount.isHidden = true
-            self.btnCamera.isHidden = true
+            self.videoMuteButton.isHidden = self.isAudienceViewer
+            self.audioMuteButton.isHidden = self.isAudienceViewer
+            self.btnCamera.isHidden = self.isAudienceViewer
+            self.viewViewerCount.isHidden = self.isAudienceViewer ? false : true
@@
 private extension LiveRoomViewController {
+
+    private func applyViewerScreenIfNeeded() {
+        guard isAudienceViewer else { return }
+
+        role = .audience
+        btnLive.isHidden = true
+        btnLiveBack.isHidden = true
+        btnShare.isHidden = true
+        switchFeed.isHidden = true
+        switchStory.isHidden = true
+        lblFeedpost.isHidden = true
+        lblStoryShow.isHidden = true
+        storyShareBgView.isHidden = true
+        saveVideoTitle.isHidden = true
+
+        beautyEffectButton.isHidden = true
+        videoMuteButton.isHidden = true
+        audioMuteButton.isHidden = true
+        btnCamera.isHidden = true
+        viewViewerCount.isHidden = false
+        viewLiveandBackbutton.backgroundColor = .clear
+    }
+
+    private func closeViewerScreen() {
+        leaveChannel()
+        if let nav = navigationController {
+            nav.popViewController(animated: true)
+        } else {
+            dismiss(animated: true)
+        }
+    }
*** End Patch
