opentok 4.2.0 → 4.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +3 -3
  3. data/CHANGES.md +153 -0
  4. data/lib/opentok/archive.rb +49 -2
  5. data/lib/opentok/archives.rb +89 -4
  6. data/lib/opentok/broadcast.rb +44 -1
  7. data/lib/opentok/broadcast_list.rb +14 -0
  8. data/lib/opentok/broadcasts.rb +109 -6
  9. data/lib/opentok/client.rb +161 -0
  10. data/lib/opentok/connections.rb +1 -1
  11. data/lib/opentok/constants.rb +1 -0
  12. data/lib/opentok/opentok.rb +7 -7
  13. data/lib/opentok/sip.rb +40 -2
  14. data/lib/opentok/streams.rb +50 -1
  15. data/lib/opentok/token_generator.rb +1 -0
  16. data/lib/opentok/version.rb +1 -1
  17. data/opentok.gemspec +1 -1
  18. data/sample/Broadcast/README.md +42 -0
  19. data/sample/Broadcast/broadcast_sample.rb +15 -0
  20. data/sample/Broadcast/views/all.erb +46 -0
  21. data/sample/Broadcast/views/index.erb +16 -1
  22. data/spec/cassettes/OpenTok_Archives/adds_a_stream_to_an_archive.yml +37 -0
  23. data/spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml +37 -0
  24. data/spec/cassettes/OpenTok_Broadcasts/adds_a_stream_to_a_broadcast.yml +37 -0
  25. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_all_broadcasts.yml +192 -0
  26. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_broadcasts_with_an_offset.yml +117 -0
  27. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_count_number_of_broadcasts.yml +92 -0
  28. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_part_of_the_broadcasts_when_using_offset_and_count.yml +142 -0
  29. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_session_broadcasts.yml +117 -0
  30. data/spec/cassettes/OpenTok_Broadcasts/removes_a_stream_from_a_broadcast.yml +37 -0
  31. data/spec/cassettes/OpenTok_Sip/_play_dtmf_to_connection/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml +39 -0
  32. data/spec/cassettes/OpenTok_Sip/_play_dtmf_to_session/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml +39 -0
  33. data/spec/cassettes/OpenTok_Sip/receives_a_valid_response.yml +2 -2
  34. data/spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml +37 -0
  35. data/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml +39 -0
  36. data/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_specified_excluded_streams.yml +39 -0
  37. data/spec/cassettes/OpenTok_Streams/forces_the_specified_stream_to_be_muted.yml +39 -0
  38. data/spec/opentok/archives_spec.rb +11 -0
  39. data/spec/opentok/broadcasts_spec.rb +50 -3
  40. data/spec/opentok/connection_spec.rb +1 -1
  41. data/spec/opentok/sip_spec.rb +32 -1
  42. data/spec/opentok/streams_spec.rb +21 -1
  43. metadata +38 -5
@@ -0,0 +1,192 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.opentok.com/v2/project/123456/broadcast
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - OpenTok-Ruby-SDK/<%= version %>
12
+ X-Opentok-Auth:
13
+ - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Fri, 21 Jan 2022 12:05:21 GMT
27
+ Content-Type:
28
+ - application/json
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ body:
34
+ encoding: UTF-8
35
+ string: |-
36
+ {
37
+ "count" : 6,
38
+ "items" : [ {
39
+ "id" : "ef546c5a-4fd7-4e59-ab3d-f1cfb4148d1d",
40
+ "sessionId" : "SESSIONID",
41
+ "projectId": 123456,
42
+ "createdAt" : 1395187930000,
43
+ "updatedAt": 1395187930000,
44
+ "resolution": "640x480",
45
+ "broadcastUrls": {
46
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F5350f06f-0166-402e-bc27-09ba54948512.m3u8",
47
+ "rtmp": {
48
+ "foo": {
49
+ "serverUrl": "rtmps://myfooserver/myfooapp",
50
+ "streamName": "myfoostream1",
51
+ "status": "started"
52
+ },
53
+ "bar": {
54
+ "serverUrl": "rtmp://mybarserver/mybarapp",
55
+ "streamName": "mybarstream1",
56
+ "status": "live"
57
+ }
58
+ }
59
+ },
60
+ "status": "started",
61
+ "streamMode" : "manual",
62
+ "streams" : []
63
+ }, {
64
+ "id" : "f6e7ee58-d6cf-4a59-896b-6d56b158ec71",
65
+ "sessionId" : "SESSIONID",
66
+ "projectId": 123456,
67
+ "createdAt" : 1395187910000,
68
+ "updatedAt": 1395187910000,
69
+ "resolution": "640x480",
70
+ "broadcastUrls": {
71
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F5350f06f-0166-402e-bc27-09ba54948512.m3u8",
72
+ "rtmp": {
73
+ "foo": {
74
+ "serverUrl": "rtmps://myfooserver/myfooapp",
75
+ "streamName": "myfoostream2",
76
+ "status": "started"
77
+ },
78
+ "bar": {
79
+ "serverUrl": "rtmp://mybarserver/mybarapp",
80
+ "streamName": "mybarstream2",
81
+ "status": "live"
82
+ }
83
+ }
84
+ },
85
+ "status": "started",
86
+ "streamMode" : "manual",
87
+ "streams" : []
88
+ }, {
89
+ "id" : "ef546c5a-4fd7-4e59-ab3d-f1cfb4148d1d",
90
+ "sessionId" : "SESSIONID",
91
+ "projectId": 123456,
92
+ "createdAt" : 1395187836000,
93
+ "updatedAt": 1395187836000,
94
+ "resolution": "640x480",
95
+ "broadcastUrls": {
96
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2Ff6e7ee58-d6cf-4a59-896b-6d56b158ec71.m3u8",
97
+ "rtmp": {
98
+ "foo": {
99
+ "serverUrl": "rtmps://myfooserver/myfooapp",
100
+ "streamName": "myfoostream3",
101
+ "status": "started"
102
+ },
103
+ "bar": {
104
+ "serverUrl": "rtmp://mybarserver/mybarapp",
105
+ "streamName": "mybarstream3",
106
+ "status": "live"
107
+ }
108
+ }
109
+ },
110
+ "status": "started",
111
+ "streamMode" : "manual",
112
+ "streams" : []
113
+ }, {
114
+ "id" : "30b3ebf1-ba36-4f5b-8def-6f70d9986fe9",
115
+ "sessionId" : "SESSIONID",
116
+ "projectId": 123456,
117
+ "createdAt" : 1395183243000,
118
+ "updatedAt": 1395183243000,
119
+ "resolution": "640x480",
120
+ "broadcastUrls": {
121
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F30b3ebf1-ba36-4f5b-8def-6f70d9986fe9.m3u8",
122
+ "rtmp": {
123
+ "foo": {
124
+ "serverUrl": "rtmps://myfooserver/myfooapp",
125
+ "streamName": "myfoostream4",
126
+ "status": "started"
127
+ },
128
+ "bar": {
129
+ "serverUrl": "rtmp://mybarserver/mybarapp",
130
+ "streamName": "mybarstream4",
131
+ "status": "live"
132
+ }
133
+ }
134
+ },
135
+ "status": "started",
136
+ "streamMode" : "manual",
137
+ "streams" : []
138
+ }, {
139
+ "id" : "b8f64de1-e218-4091-9544-4cbf369fc238",
140
+ "sessionId" : "SESSIONID",
141
+ "projectId": 123456,
142
+ "createdAt" : 1394396753000,
143
+ "updatedAt": 1394396753000,
144
+ "resolution": "640x480",
145
+ "broadcastUrls": {
146
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2Fb8f64de1-e218-4091-9544-4cbf369fc238.m3u8",
147
+ "rtmp": {
148
+ "foo": {
149
+ "serverUrl": "rtmps://myfooserver/myfooapp",
150
+ "streamName": "myfoostream5",
151
+ "status": "started"
152
+ },
153
+ "bar": {
154
+ "serverUrl": "rtmp://mybarserver/mybarapp",
155
+ "streamName": "mybarstream5",
156
+ "status": "live"
157
+ }
158
+ }
159
+ },
160
+ "status": "started",
161
+ "streamMode" : "manual",
162
+ "streams" : []
163
+ }, {
164
+ "id" : "832641bf-5dbf-41a1-ad94-fea213e59a92",
165
+ "sessionId" : "SESSIONID",
166
+ "projectId": 123456,
167
+ "createdAt" : 1394321113000,
168
+ "updatedAt": 1394321113000,
169
+ "resolution": "640x480",
170
+ "broadcastUrls": {
171
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F832641bf-5dbf-41a1-ad94-fea213e59a92.m3u8",
172
+ "rtmp": {
173
+ "foo": {
174
+ "serverUrl": "rtmps://myfooserver/myfooapp",
175
+ "streamName": "myfoostream6",
176
+ "status": "started"
177
+ },
178
+ "bar": {
179
+ "serverUrl": "rtmp://mybarserver/mybarapp",
180
+ "streamName": "mybarstream6",
181
+ "status": "live"
182
+ }
183
+ }
184
+ },
185
+ "status": "started",
186
+ "streamMode" : "manual",
187
+ "streams" : []
188
+ } ]
189
+ }
190
+ http_version:
191
+ recorded_at: Fri, 21 Jan 2022 12:05:21 GMT
192
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,117 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.opentok.com/v2/project/123456/broadcast?offset=3
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - OpenTok-Ruby-SDK/<%= version %>
12
+ X-Opentok-Auth:
13
+ - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Fri, 21 Jan 2022 12:05:21 GMT
27
+ Content-Type:
28
+ - application/json
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ body:
34
+ encoding: UTF-8
35
+ string: |-
36
+ {
37
+ "count" : 3,
38
+ "items" : [ {
39
+ "id" : "30b3ebf1-ba36-4f5b-8def-6f70d9986fe9",
40
+ "sessionId" : "SESSIONID",
41
+ "projectId": 123456,
42
+ "createdAt" : 1395183243000,
43
+ "updatedAt": 1395183243000,
44
+ "resolution": "640x480",
45
+ "broadcastUrls": {
46
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F30b3ebf1-ba36-4f5b-8def-6f70d9986fe9.m3u8",
47
+ "rtmp": {
48
+ "foo": {
49
+ "serverUrl": "rtmps://myfooserver/myfooapp",
50
+ "streamName": "myfoostream4",
51
+ "status": "started"
52
+ },
53
+ "bar": {
54
+ "serverUrl": "rtmp://mybarserver/mybarapp",
55
+ "streamName": "mybarstream4",
56
+ "status": "live"
57
+ }
58
+ }
59
+ },
60
+ "status": "started",
61
+ "streamMode" : "manual",
62
+ "streams" : []
63
+ }, {
64
+ "id" : "b8f64de1-e218-4091-9544-4cbf369fc238",
65
+ "sessionId" : "SESSIONID",
66
+ "projectId": 123456,
67
+ "createdAt" : 1394396753000,
68
+ "updatedAt": 1394396753000,
69
+ "resolution": "640x480",
70
+ "broadcastUrls": {
71
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2Fb8f64de1-e218-4091-9544-4cbf369fc238.m3u8",
72
+ "rtmp": {
73
+ "foo": {
74
+ "serverUrl": "rtmps://myfooserver/myfooapp",
75
+ "streamName": "myfoostream5",
76
+ "status": "started"
77
+ },
78
+ "bar": {
79
+ "serverUrl": "rtmp://mybarserver/mybarapp",
80
+ "streamName": "mybarstream5",
81
+ "status": "live"
82
+ }
83
+ }
84
+ },
85
+ "status": "started",
86
+ "streamMode" : "manual",
87
+ "streams" : []
88
+ }, {
89
+ "id" : "832641bf-5dbf-41a1-ad94-fea213e59a92",
90
+ "sessionId" : "SESSIONID",
91
+ "projectId": 123456,
92
+ "createdAt" : 1394321113000,
93
+ "updatedAt": 1394321113000,
94
+ "resolution": "640x480",
95
+ "broadcastUrls": {
96
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F832641bf-5dbf-41a1-ad94-fea213e59a92.m3u8",
97
+ "rtmp": {
98
+ "foo": {
99
+ "serverUrl": "rtmps://myfooserver/myfooapp",
100
+ "streamName": "myfoostream6",
101
+ "status": "started"
102
+ },
103
+ "bar": {
104
+ "serverUrl": "rtmp://mybarserver/mybarapp",
105
+ "streamName": "mybarstream6",
106
+ "status": "live"
107
+ }
108
+ }
109
+ },
110
+ "status": "started",
111
+ "streamMode" : "manual",
112
+ "streams" : []
113
+ } ]
114
+ }
115
+ http_version:
116
+ recorded_at: Fri, 21 Jan 2022 12:05:21 GMT
117
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,92 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.opentok.com/v2/project/123456/broadcast?count=2
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - OpenTok-Ruby-SDK/<%= version %>
12
+ X-Opentok-Auth:
13
+ - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Fri, 21 Jan 2022 12:05:21 GMT
27
+ Content-Type:
28
+ - application/json
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ body:
34
+ encoding: UTF-8
35
+ string: |-
36
+ {
37
+ "count" : 2,
38
+ "items" : [ {
39
+ "id" : "ef546c5a-4fd7-4e59-ab3d-f1cfb4148d1d",
40
+ "sessionId" : "SESSIONID",
41
+ "projectId": 123456,
42
+ "createdAt" : 1395187930000,
43
+ "updatedAt": 1395187930000,
44
+ "resolution": "640x480",
45
+ "broadcastUrls": {
46
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F5350f06f-0166-402e-bc27-09ba54948512.m3u8",
47
+ "rtmp": {
48
+ "foo": {
49
+ "serverUrl": "rtmps://myfooserver/myfooapp",
50
+ "streamName": "myfoostream1",
51
+ "status": "started"
52
+ },
53
+ "bar": {
54
+ "serverUrl": "rtmp://mybarserver/mybarapp",
55
+ "streamName": "mybarstream1",
56
+ "status": "live"
57
+ }
58
+ }
59
+ },
60
+ "status": "started",
61
+ "streamMode" : "manual",
62
+ "streams" : []
63
+ }, {
64
+ "id" : "f6e7ee58-d6cf-4a59-896b-6d56b158ec71",
65
+ "sessionId" : "SESSIONID",
66
+ "projectId": 123456,
67
+ "createdAt" : 1395187910000,
68
+ "updatedAt": 1395187910000,
69
+ "resolution": "640x480",
70
+ "broadcastUrls": {
71
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F5350f06f-0166-402e-bc27-09ba54948512.m3u8",
72
+ "rtmp": {
73
+ "foo": {
74
+ "serverUrl": "rtmps://myfooserver/myfooapp",
75
+ "streamName": "myfoostream2",
76
+ "status": "started"
77
+ },
78
+ "bar": {
79
+ "serverUrl": "rtmp://mybarserver/mybarapp",
80
+ "streamName": "mybarstream2",
81
+ "status": "live"
82
+ }
83
+ }
84
+ },
85
+ "status": "started",
86
+ "streamMode" : "manual",
87
+ "streams" : []
88
+ } ]
89
+ }
90
+ http_version:
91
+ recorded_at: Fri, 21 Jan 2022 12:05:21 GMT
92
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,142 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.opentok.com/v2/project/123456/broadcast?count=4&offset=2
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - OpenTok-Ruby-SDK/<%= version %>
12
+ X-Opentok-Auth:
13
+ - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Fri, 21 Jan 2022 12:05:21 GMT
27
+ Content-Type:
28
+ - application/json
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ body:
34
+ encoding: UTF-8
35
+ string: |-
36
+ {
37
+ "count" : 4,
38
+ "items" : [ {
39
+ "id" : "ef546c5a-4fd7-4e59-ab3d-f1cfb4148d1d",
40
+ "sessionId" : "SESSIONID",
41
+ "projectId": 123456,
42
+ "createdAt" : 1395187836000,
43
+ "updatedAt": 1395187836000,
44
+ "resolution": "640x480",
45
+ "broadcastUrls": {
46
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2Ff6e7ee58-d6cf-4a59-896b-6d56b158ec71.m3u8",
47
+ "rtmp": {
48
+ "foo": {
49
+ "serverUrl": "rtmps://myfooserver/myfooapp",
50
+ "streamName": "myfoostream3",
51
+ "status": "started"
52
+ },
53
+ "bar": {
54
+ "serverUrl": "rtmp://mybarserver/mybarapp",
55
+ "streamName": "mybarstream3",
56
+ "status": "live"
57
+ }
58
+ }
59
+ },
60
+ "status": "started",
61
+ "streamMode" : "manual",
62
+ "streams" : []
63
+ }, {
64
+ "id" : "30b3ebf1-ba36-4f5b-8def-6f70d9986fe9",
65
+ "sessionId" : "SESSIONID",
66
+ "projectId": 123456,
67
+ "createdAt" : 1395183243000,
68
+ "updatedAt": 1395183243000,
69
+ "resolution": "640x480",
70
+ "broadcastUrls": {
71
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F30b3ebf1-ba36-4f5b-8def-6f70d9986fe9.m3u8",
72
+ "rtmp": {
73
+ "foo": {
74
+ "serverUrl": "rtmps://myfooserver/myfooapp",
75
+ "streamName": "myfoostream4",
76
+ "status": "started"
77
+ },
78
+ "bar": {
79
+ "serverUrl": "rtmp://mybarserver/mybarapp",
80
+ "streamName": "mybarstream4",
81
+ "status": "live"
82
+ }
83
+ }
84
+ },
85
+ "status": "started",
86
+ "streamMode" : "manual",
87
+ "streams" : []
88
+ }, {
89
+ "id" : "b8f64de1-e218-4091-9544-4cbf369fc238",
90
+ "sessionId" : "SESSIONID",
91
+ "projectId": 123456,
92
+ "createdAt" : 1394396753000,
93
+ "updatedAt": 1394396753000,
94
+ "resolution": "640x480",
95
+ "broadcastUrls": {
96
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2Fb8f64de1-e218-4091-9544-4cbf369fc238.m3u8",
97
+ "rtmp": {
98
+ "foo": {
99
+ "serverUrl": "rtmps://myfooserver/myfooapp",
100
+ "streamName": "myfoostream5",
101
+ "status": "started"
102
+ },
103
+ "bar": {
104
+ "serverUrl": "rtmp://mybarserver/mybarapp",
105
+ "streamName": "mybarstream5",
106
+ "status": "live"
107
+ }
108
+ }
109
+ },
110
+ "status": "started",
111
+ "streamMode" : "manual",
112
+ "streams" : []
113
+ }, {
114
+ "id" : "832641bf-5dbf-41a1-ad94-fea213e59a92",
115
+ "sessionId" : "SESSIONID",
116
+ "projectId": 123456,
117
+ "createdAt" : 1394321113000,
118
+ "updatedAt": 1394321113000,
119
+ "resolution": "640x480",
120
+ "broadcastUrls": {
121
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F832641bf-5dbf-41a1-ad94-fea213e59a92.m3u8",
122
+ "rtmp": {
123
+ "foo": {
124
+ "serverUrl": "rtmps://myfooserver/myfooapp",
125
+ "streamName": "myfoostream6",
126
+ "status": "started"
127
+ },
128
+ "bar": {
129
+ "serverUrl": "rtmp://mybarserver/mybarapp",
130
+ "streamName": "mybarstream6",
131
+ "status": "live"
132
+ }
133
+ }
134
+ },
135
+ "status": "started",
136
+ "streamMode" : "manual",
137
+ "streams" : []
138
+ } ]
139
+ }
140
+ http_version:
141
+ recorded_at: Fri, 21 Jan 2022 12:05:21 GMT
142
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,117 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.opentok.com/v2/project/123456/broadcast?sessionId=SESSIONID
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - OpenTok-Ruby-SDK/<%= version %>
12
+ X-Opentok-Auth:
13
+ - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Fri, 21 Jan 2022 12:05:21 GMT
27
+ Content-Type:
28
+ - application/json
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ body:
34
+ encoding: UTF-8
35
+ string: |-
36
+ {
37
+ "count" : 3,
38
+ "items" : [ {
39
+ "id" : "ef546c5a-4fd7-4e59-ab3d-f1cfb4148d1d",
40
+ "sessionId" : "SESSIONID",
41
+ "projectId": 123456,
42
+ "createdAt" : 1395187930000,
43
+ "updatedAt": 1395187930000,
44
+ "resolution": "640x480",
45
+ "broadcastUrls": {
46
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F5350f06f-0166-402e-bc27-09ba54948512.m3u8",
47
+ "rtmp": {
48
+ "foo": {
49
+ "serverUrl": "rtmps://myfooserver/myfooapp",
50
+ "streamName": "myfoostream1",
51
+ "status": "started"
52
+ },
53
+ "bar": {
54
+ "serverUrl": "rtmp://mybarserver/mybarapp",
55
+ "streamName": "mybarstream1",
56
+ "status": "live"
57
+ }
58
+ }
59
+ },
60
+ "status": "started",
61
+ "streamMode" : "manual",
62
+ "streams" : []
63
+ }, {
64
+ "id" : "f6e7ee58-d6cf-4a59-896b-6d56b158ec71",
65
+ "sessionId" : "SESSIONID",
66
+ "projectId": 123456,
67
+ "createdAt" : 1395187910000,
68
+ "updatedAt": 1395187910000,
69
+ "resolution": "640x480",
70
+ "broadcastUrls": {
71
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2F5350f06f-0166-402e-bc27-09ba54948512.m3u8",
72
+ "rtmp": {
73
+ "foo": {
74
+ "serverUrl": "rtmps://myfooserver/myfooapp",
75
+ "streamName": "myfoostream2",
76
+ "status": "started"
77
+ },
78
+ "bar": {
79
+ "serverUrl": "rtmp://mybarserver/mybarapp",
80
+ "streamName": "mybarstream2",
81
+ "status": "live"
82
+ }
83
+ }
84
+ },
85
+ "status": "started",
86
+ "streamMode" : "manual",
87
+ "streams" : []
88
+ }, {
89
+ "id" : "ef546c5a-4fd7-4e59-ab3d-f1cfb4148d1d",
90
+ "sessionId" : "SESSIONID",
91
+ "projectId": 123456,
92
+ "createdAt" : 1395187836000,
93
+ "updatedAt": 1395187836000,
94
+ "resolution": "640x480",
95
+ "broadcastUrls": {
96
+ "hls" : "http://tokbox.com.broadcast2.s3.amazonaws.com/123456%2Ff6e7ee58-d6cf-4a59-896b-6d56b158ec71.m3u8",
97
+ "rtmp": {
98
+ "foo": {
99
+ "serverUrl": "rtmps://myfooserver/myfooapp",
100
+ "streamName": "myfoostream3",
101
+ "status": "started"
102
+ },
103
+ "bar": {
104
+ "serverUrl": "rtmp://mybarserver/mybarapp",
105
+ "streamName": "mybarstream3",
106
+ "status": "live"
107
+ }
108
+ }
109
+ },
110
+ "status": "started",
111
+ "streamMode" : "manual",
112
+ "streams" : []
113
+ } ]
114
+ }
115
+ http_version:
116
+ recorded_at: Fri, 21 Jan 2022 12:05:21 GMT
117
+ recorded_with: VCR 6.0.0