From 800b310afb60e0b9b7003737cc772e01ffe4c966 Mon Sep 17 00:00:00 2001 From: superchilled Date: Thu, 13 Jan 2022 15:46:09 +0000 Subject: [PATCH 1/9] Making amendments to force mute feature to disable mute state --- lib/opentok/streams.rb | 20 ++++++++++++++----- ... disables_the_mute_state_of_a_session.yml} | 8 +++----- ...ture_streams_in_a_session_to_be_muted.yml} | 2 +- ...pt_for_the_specified_excluded_streams.yml} | 2 +- spec/opentok/streams_spec.rb | 10 +++++----- 5 files changed, 25 insertions(+), 17 deletions(-) rename spec/cassettes/OpenTok_Streams/{forces_all_current_streams_in_a_session_and_future_streams_joining_the_session_to_be_muted.yml => disables_the_mute_state_of_a_session.yml} (86%) rename spec/cassettes/OpenTok_Streams/{forces_all_streams_in_a_session_to_be_muted.yml => forces_all_current_and_future_streams_in_a_session_to_be_muted.yml} (96%) rename spec/cassettes/OpenTok_Streams/{forces_all_current_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml => forces_all_current_and_future_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml} (97%) diff --git a/lib/opentok/streams.rb b/lib/opentok/streams.rb index fd302b9..b7c3894 100644 --- a/lib/opentok/streams.rb +++ b/lib/opentok/streams.rb @@ -84,24 +84,34 @@ def force_mute(session_id, stream_id) response = @client.force_mute_stream(session_id, stream_id) end - # Force all streams connected to an OpenTok session to mute themselves. + # Force all streams connected to an OpenTok session, and all future streams + # connecting to that session, to mute themselves. # # @param [String] session_id The session ID of the OpenTok session. # @param [Hash] opts An optional hash defining options for muting action. For example: - # @option opts [true, false] :active Whether streams published after this call, in - # addition to the current streams in the session, should be muted (true) or not (false). # @option opts [Array] :excluded_streams The stream IDs for streams that should not be muted. # This is an optional property. If you omit this property, all streams in the session will be muted. # @example # { - # "active": true, - # "excluded_streams": [ + # "excluded_streams" => [ # "excludedStreamId1", # "excludedStreamId2" # ] # } # def force_mute_all(session_id, opts = {}) + opts['active'] = 'true' + response = @client.force_mute_session(session_id, opts) + end + + # Disables the 'mute state' of a session. In other words, if a session has been + # set to mute future streams (e.g. by calling force_mute_all), calling this method + # sets the session to not mute future streams. + # + # @param [String] session_id The session ID of the OpenTok session. + # + def disable_force_mute(session_id) + opts = {'active' => 'false'} response = @client.force_mute_session(session_id, opts) end diff --git a/spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_and_future_streams_joining_the_session_to_be_muted.yml b/spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml similarity index 86% rename from spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_and_future_streams_joining_the_session_to_be_muted.yml rename to spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml index 0070751..4a61538 100644 --- a/spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_and_future_streams_joining_the_session_to_be_muted.yml +++ b/spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml @@ -5,7 +5,7 @@ http_interactions: uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/mute body: encoding: UTF-8 - string: '{"active":"true"}' + string: '{"active":"false"}' headers: User-Agent: - OpenTok-Ruby-SDK/<%= version %> @@ -25,13 +25,11 @@ http_interactions: Server: - nginx Date: - - Fri, 29 Oct 2021 11:57:18 GMT - Content-Type: - - application/json + - Thu, 13 Jan 2022 15:37:24 GMT Content-Length: - '0' Connection: - - keep-alive + - close body: encoding: UTF-8 string: '' diff --git a/spec/cassettes/OpenTok_Streams/forces_all_streams_in_a_session_to_be_muted.yml b/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml similarity index 96% rename from spec/cassettes/OpenTok_Streams/forces_all_streams_in_a_session_to_be_muted.yml rename to spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml index 4908704..38e323c 100644 --- a/spec/cassettes/OpenTok_Streams/forces_all_streams_in_a_session_to_be_muted.yml +++ b/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml @@ -5,7 +5,7 @@ http_interactions: uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/mute body: encoding: UTF-8 - string: "{}" + string: '{"active":"true"}' headers: User-Agent: - OpenTok-Ruby-SDK/<%= version %> diff --git a/spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml b/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml similarity index 97% rename from spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml rename to spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml index 8743afc..a047fc2 100644 --- a/spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml +++ b/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml @@ -5,7 +5,7 @@ http_interactions: uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/mute body: encoding: UTF-8 - string: '{"excludedStreams":["b1963d15-537f-459a-be89-e00fc310b82b"]}' + string: '{"excludedStreams":["b1963d15-537f-459a-be89-e00fc310b82b"],"active":"true"}' headers: User-Agent: - OpenTok-Ruby-SDK/<%= version %> diff --git a/spec/opentok/streams_spec.rb b/spec/opentok/streams_spec.rb index 211be08..b39ade8 100644 --- a/spec/opentok/streams_spec.rb +++ b/spec/opentok/streams_spec.rb @@ -78,18 +78,18 @@ expect(response.code).to eq(200) end - it "forces all streams in a session to be muted", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do + it "forces all current and future streams in a session to be muted", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do response = streams.force_mute_all(session_id) expect(response.code).to eq(200) end - it "forces all current streams in a session and future streams joining the session to be muted", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do - response = streams.force_mute_all(session_id, { "active" => "true" }) + it "forces all current and future streams in a session to be muted except for the specified excluded streams", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do + response = streams.force_mute_all(session_id, { "excludedStreams" => ["b1963d15-537f-459a-be89-e00fc310b82b"] }) expect(response.code).to eq(200) end - it "forces all current streams in a session to be muted except for the specified excluded streams", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do - response = streams.force_mute_all(session_id, { "excludedStreams" => ["b1963d15-537f-459a-be89-e00fc310b82b"] }) + it "disables the 'mute state' of a session", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do + response = streams.disable_force_mute(session_id) expect(response.code).to eq(200) end end From 47674d4606b7fc547eb0358f1df52ff7d6f7975b Mon Sep 17 00:00:00 2001 From: superchilled Date: Thu, 13 Jan 2022 17:49:17 +0000 Subject: [PATCH 2/9] Constraining version of activesupport due to potential issue with 7 --- opentok.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opentok.gemspec b/opentok.gemspec index 6937263..eb05ac4 100644 --- a/opentok.gemspec +++ b/opentok.gemspec @@ -28,6 +28,6 @@ Gem::Specification.new do |spec| spec.add_dependency "addressable", "~> 2.3" # 2.3.0 <= version < 3.0.0 spec.add_dependency "httparty", ">= 0.18.0" - spec.add_dependency "activesupport", ">= 2.0" + spec.add_dependency "activesupport", "~> 6" spec.add_dependency "jwt", ">= 1.5.6" end From eb59eca84a752780b8ac171d875c7ee506116586 Mon Sep 17 00:00:00 2001 From: superchilled Date: Wed, 19 Jan 2022 16:28:47 +0000 Subject: [PATCH 3/9] Adding 'active_support/isolated_execution_state' --- lib/opentok/token_generator.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/opentok/token_generator.rb b/lib/opentok/token_generator.rb index 26bdd33..1df22ff 100644 --- a/lib/opentok/token_generator.rb +++ b/lib/opentok/token_generator.rb @@ -4,6 +4,7 @@ require "base64" require "addressable/uri" require "openssl" +require "active_support/isolated_execution_state" require "active_support/time" module OpenTok From ca17b6a0e64d31d3a9d33efd1857a4f2797e962c Mon Sep 17 00:00:00 2001 From: superchilled Date: Wed, 19 Jan 2022 16:48:16 +0000 Subject: [PATCH 4/9] Pre-require 'active_support` before requiring `active_support/time' --- lib/opentok/token_generator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/opentok/token_generator.rb b/lib/opentok/token_generator.rb index 1df22ff..a5cbee2 100644 --- a/lib/opentok/token_generator.rb +++ b/lib/opentok/token_generator.rb @@ -4,7 +4,7 @@ require "base64" require "addressable/uri" require "openssl" -require "active_support/isolated_execution_state" +require "active_support" require "active_support/time" module OpenTok From 5bbb211243cd43ea54d83f4e697203f13f8a4425 Mon Sep 17 00:00:00 2001 From: superchilled Date: Thu, 20 Jan 2022 10:37:37 +0000 Subject: [PATCH 5/9] Revert "Constraining version of activesupport due to potential issue with 7" This reverts commit 47674d4606b7fc547eb0358f1df52ff7d6f7975b. --- opentok.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opentok.gemspec b/opentok.gemspec index eb05ac4..6937263 100644 --- a/opentok.gemspec +++ b/opentok.gemspec @@ -28,6 +28,6 @@ Gem::Specification.new do |spec| spec.add_dependency "addressable", "~> 2.3" # 2.3.0 <= version < 3.0.0 spec.add_dependency "httparty", ">= 0.18.0" - spec.add_dependency "activesupport", "~> 6" + spec.add_dependency "activesupport", ">= 2.0" spec.add_dependency "jwt", ">= 1.5.6" end From 8301c1f3a35fa928e873d126c154291b220ba7cc Mon Sep 17 00:00:00 2001 From: superchilled Date: Thu, 13 Jan 2022 15:46:09 +0000 Subject: [PATCH 6/9] Making amendments to force mute feature to disable mute state --- lib/opentok/streams.rb | 20 ++++++++++++++----- ... disables_the_mute_state_of_a_session.yml} | 8 +++----- ...ture_streams_in_a_session_to_be_muted.yml} | 2 +- ...pt_for_the_specified_excluded_streams.yml} | 2 +- spec/opentok/streams_spec.rb | 10 +++++----- 5 files changed, 25 insertions(+), 17 deletions(-) rename spec/cassettes/OpenTok_Streams/{forces_all_current_streams_in_a_session_and_future_streams_joining_the_session_to_be_muted.yml => disables_the_mute_state_of_a_session.yml} (86%) rename spec/cassettes/OpenTok_Streams/{forces_all_streams_in_a_session_to_be_muted.yml => forces_all_current_and_future_streams_in_a_session_to_be_muted.yml} (96%) rename spec/cassettes/OpenTok_Streams/{forces_all_current_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml => forces_all_current_and_future_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml} (97%) diff --git a/lib/opentok/streams.rb b/lib/opentok/streams.rb index fd302b9..b7c3894 100644 --- a/lib/opentok/streams.rb +++ b/lib/opentok/streams.rb @@ -84,24 +84,34 @@ def force_mute(session_id, stream_id) response = @client.force_mute_stream(session_id, stream_id) end - # Force all streams connected to an OpenTok session to mute themselves. + # Force all streams connected to an OpenTok session, and all future streams + # connecting to that session, to mute themselves. # # @param [String] session_id The session ID of the OpenTok session. # @param [Hash] opts An optional hash defining options for muting action. For example: - # @option opts [true, false] :active Whether streams published after this call, in - # addition to the current streams in the session, should be muted (true) or not (false). # @option opts [Array] :excluded_streams The stream IDs for streams that should not be muted. # This is an optional property. If you omit this property, all streams in the session will be muted. # @example # { - # "active": true, - # "excluded_streams": [ + # "excluded_streams" => [ # "excludedStreamId1", # "excludedStreamId2" # ] # } # def force_mute_all(session_id, opts = {}) + opts['active'] = 'true' + response = @client.force_mute_session(session_id, opts) + end + + # Disables the 'mute state' of a session. In other words, if a session has been + # set to mute future streams (e.g. by calling force_mute_all), calling this method + # sets the session to not mute future streams. + # + # @param [String] session_id The session ID of the OpenTok session. + # + def disable_force_mute(session_id) + opts = {'active' => 'false'} response = @client.force_mute_session(session_id, opts) end diff --git a/spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_and_future_streams_joining_the_session_to_be_muted.yml b/spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml similarity index 86% rename from spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_and_future_streams_joining_the_session_to_be_muted.yml rename to spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml index 0070751..4a61538 100644 --- a/spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_and_future_streams_joining_the_session_to_be_muted.yml +++ b/spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml @@ -5,7 +5,7 @@ http_interactions: uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/mute body: encoding: UTF-8 - string: '{"active":"true"}' + string: '{"active":"false"}' headers: User-Agent: - OpenTok-Ruby-SDK/<%= version %> @@ -25,13 +25,11 @@ http_interactions: Server: - nginx Date: - - Fri, 29 Oct 2021 11:57:18 GMT - Content-Type: - - application/json + - Thu, 13 Jan 2022 15:37:24 GMT Content-Length: - '0' Connection: - - keep-alive + - close body: encoding: UTF-8 string: '' diff --git a/spec/cassettes/OpenTok_Streams/forces_all_streams_in_a_session_to_be_muted.yml b/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml similarity index 96% rename from spec/cassettes/OpenTok_Streams/forces_all_streams_in_a_session_to_be_muted.yml rename to spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml index 4908704..38e323c 100644 --- a/spec/cassettes/OpenTok_Streams/forces_all_streams_in_a_session_to_be_muted.yml +++ b/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml @@ -5,7 +5,7 @@ http_interactions: uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/mute body: encoding: UTF-8 - string: "{}" + string: '{"active":"true"}' headers: User-Agent: - OpenTok-Ruby-SDK/<%= version %> diff --git a/spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml b/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml similarity index 97% rename from spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml rename to spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml index 8743afc..a047fc2 100644 --- a/spec/cassettes/OpenTok_Streams/forces_all_current_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml +++ b/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_for_the_specified_excluded_streams.yml @@ -5,7 +5,7 @@ http_interactions: uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/mute body: encoding: UTF-8 - string: '{"excludedStreams":["b1963d15-537f-459a-be89-e00fc310b82b"]}' + string: '{"excludedStreams":["b1963d15-537f-459a-be89-e00fc310b82b"],"active":"true"}' headers: User-Agent: - OpenTok-Ruby-SDK/<%= version %> diff --git a/spec/opentok/streams_spec.rb b/spec/opentok/streams_spec.rb index 211be08..b39ade8 100644 --- a/spec/opentok/streams_spec.rb +++ b/spec/opentok/streams_spec.rb @@ -78,18 +78,18 @@ expect(response.code).to eq(200) end - it "forces all streams in a session to be muted", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do + it "forces all current and future streams in a session to be muted", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do response = streams.force_mute_all(session_id) expect(response.code).to eq(200) end - it "forces all current streams in a session and future streams joining the session to be muted", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do - response = streams.force_mute_all(session_id, { "active" => "true" }) + it "forces all current and future streams in a session to be muted except for the specified excluded streams", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do + response = streams.force_mute_all(session_id, { "excludedStreams" => ["b1963d15-537f-459a-be89-e00fc310b82b"] }) expect(response.code).to eq(200) end - it "forces all current streams in a session to be muted except for the specified excluded streams", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do - response = streams.force_mute_all(session_id, { "excludedStreams" => ["b1963d15-537f-459a-be89-e00fc310b82b"] }) + it "disables the 'mute state' of a session", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do + response = streams.disable_force_mute(session_id) expect(response.code).to eq(200) end end From fdd0e4891e198b9a6460ec1c3898384e3edd66f2 Mon Sep 17 00:00:00 2001 From: superchilled Date: Thu, 13 Jan 2022 17:49:17 +0000 Subject: [PATCH 7/9] Constraining version of activesupport due to potential issue with 7 --- opentok.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opentok.gemspec b/opentok.gemspec index 6937263..eb05ac4 100644 --- a/opentok.gemspec +++ b/opentok.gemspec @@ -28,6 +28,6 @@ Gem::Specification.new do |spec| spec.add_dependency "addressable", "~> 2.3" # 2.3.0 <= version < 3.0.0 spec.add_dependency "httparty", ">= 0.18.0" - spec.add_dependency "activesupport", ">= 2.0" + spec.add_dependency "activesupport", "~> 6" spec.add_dependency "jwt", ">= 1.5.6" end From fa53f06cbc274a45c7676e50ef28ccd4d23b65ea Mon Sep 17 00:00:00 2001 From: superchilled Date: Thu, 20 Jan 2022 10:37:37 +0000 Subject: [PATCH 8/9] Revert "Constraining version of activesupport due to potential issue with 7" This reverts commit 47674d4606b7fc547eb0358f1df52ff7d6f7975b. --- opentok.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opentok.gemspec b/opentok.gemspec index eb05ac4..6937263 100644 --- a/opentok.gemspec +++ b/opentok.gemspec @@ -28,6 +28,6 @@ Gem::Specification.new do |spec| spec.add_dependency "addressable", "~> 2.3" # 2.3.0 <= version < 3.0.0 spec.add_dependency "httparty", ">= 0.18.0" - spec.add_dependency "activesupport", "~> 6" + spec.add_dependency "activesupport", ">= 2.0" spec.add_dependency "jwt", ">= 1.5.6" end From 9a1e1aa80e7935515fa04a106c7beb0db929b1da Mon Sep 17 00:00:00 2001 From: Jeff Swartz Date: Wed, 26 Jan 2022 08:27:07 -0800 Subject: [PATCH 9/9] docs edits --- lib/opentok/streams.rb | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/lib/opentok/streams.rb b/lib/opentok/streams.rb index b7c3894..f75a187 100644 --- a/lib/opentok/streams.rb +++ b/lib/opentok/streams.rb @@ -84,13 +84,18 @@ def force_mute(session_id, stream_id) response = @client.force_mute_stream(session_id, stream_id) end - # Force all streams connected to an OpenTok session, and all future streams - # connecting to that session, to mute themselves. + # Force all streams connected to an OpenTok session (except for an optional list of streams), + # to mute published audio. + # + # In addition to existing streams, any streams that are published after the call to + # this method are published with audio muted. You can remove the mute state of a session + # by calling the disable_force_mute() method. # - # @param [String] session_id The session ID of the OpenTok session. + # @param [String] session_id The session ID. # @param [Hash] opts An optional hash defining options for muting action. For example: # @option opts [Array] :excluded_streams The stream IDs for streams that should not be muted. # This is an optional property. If you omit this property, all streams in the session will be muted. + # # @example # { # "excluded_streams" => [ @@ -104,11 +109,15 @@ def force_mute_all(session_id, opts = {}) response = @client.force_mute_session(session_id, opts) end - # Disables the 'mute state' of a session. In other words, if a session has been - # set to mute future streams (e.g. by calling force_mute_all), calling this method - # sets the session to not mute future streams. + # Disables the active mute state of the session. After you call this method, new streams + # published to the session will no longer have audio muted. # - # @param [String] session_id The session ID of the OpenTok session. + # After you call the force_mute_all() method, any streams published after + # the call are published with audio muted. Call the disable_force_mute() method + # to remove the mute state of a session, so that new published streams are not + # automatically muted. + # + # @param [String] session_id The session ID. # def disable_force_mute(session_id) opts = {'active' => 'false'}