kaltura-ruby-client 1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README +20 -0
- data/Rakefile +19 -0
- data/agpl.txt +674 -0
- data/kaltura.yml +7 -0
- data/lib/kaltura.rb +31 -0
- data/lib/kaltura_client.rb +14450 -0
- data/lib/kaltura_client_base.rb +432 -0
- data/lib/kaltura_plugins/kaltura_abc_screeners_watermark_access_control_client_plugin.rb +37 -0
- data/lib/kaltura_plugins/kaltura_ad_cue_point_client_plugin.rb +108 -0
- data/lib/kaltura_plugins/kaltura_annotation_client_plugin.rb +237 -0
- data/lib/kaltura_plugins/kaltura_aspera_client_plugin.rb +61 -0
- data/lib/kaltura_plugins/kaltura_attachment_client_plugin.rb +227 -0
- data/lib/kaltura_plugins/kaltura_audit_client_plugin.rb +349 -0
- data/lib/kaltura_plugins/kaltura_bulk_upload_client_plugin.rb +109 -0
- data/lib/kaltura_plugins/kaltura_bulk_upload_csv_client_plugin.rb +55 -0
- data/lib/kaltura_plugins/kaltura_bulk_upload_filter_client_plugin.rb +46 -0
- data/lib/kaltura_plugins/kaltura_bulk_upload_xml_client_plugin.rb +40 -0
- data/lib/kaltura_plugins/kaltura_caption_client_plugin.rb +406 -0
- data/lib/kaltura_plugins/kaltura_caption_search_client_plugin.rb +138 -0
- data/lib/kaltura_plugins/kaltura_code_cue_point_client_plugin.rb +97 -0
- data/lib/kaltura_plugins/kaltura_content_distribution_client_plugin.rb +1717 -0
- data/lib/kaltura_plugins/kaltura_cue_point_client_plugin.rb +290 -0
- data/lib/kaltura_plugins/kaltura_document_client_plugin.rb +522 -0
- data/lib/kaltura_plugins/kaltura_drm_client_plugin.rb +204 -0
- data/lib/kaltura_plugins/kaltura_drop_folder_client_plugin.rb +810 -0
- data/lib/kaltura_plugins/kaltura_drop_folder_xml_bulk_upload_client_plugin.rb +39 -0
- data/lib/kaltura_plugins/kaltura_email_notification_client_plugin.rb +276 -0
- data/lib/kaltura_plugins/kaltura_event_notification_client_plugin.rb +405 -0
- data/lib/kaltura_plugins/kaltura_external_media_client_plugin.rb +203 -0
- data/lib/kaltura_plugins/kaltura_file_sync_client_plugin.rb +151 -0
- data/lib/kaltura_plugins/kaltura_http_notification_client_plugin.rb +309 -0
- data/lib/kaltura_plugins/kaltura_kontiki_client_plugin.rb +72 -0
- data/lib/kaltura_plugins/kaltura_like_client_plugin.rb +82 -0
- data/lib/kaltura_plugins/kaltura_metadata_client_plugin.rb +788 -0
- data/lib/kaltura_plugins/kaltura_multi_centers_client_plugin.rb +45 -0
- data/lib/kaltura_plugins/kaltura_short_link_client_plugin.rb +231 -0
- data/lib/kaltura_plugins/kaltura_tag_search_client_plugin.rb +145 -0
- data/lib/kaltura_plugins/kaltura_var_console_client_plugin.rb +238 -0
- data/lib/kaltura_plugins/kaltura_velocix_client_plugin.rb +40 -0
- data/lib/kaltura_plugins/kaltura_virus_scan_client_plugin.rb +263 -0
- data/lib/kaltura_plugins/kaltura_webex_drop_folder_client_plugin.rb +121 -0
- data/lib/kaltura_plugins/kaltura_widevine_client_plugin.rb +195 -0
- data/license.txt +674 -0
- data/test/access_control_service_test.rb +75 -0
- data/test/base_entry_service_test.rb +267 -0
- data/test/configuration_test.rb +178 -0
- data/test/cue_point_service_test.rb +67 -0
- data/test/data_service_test.rb +76 -0
- data/test/document_service_test.rb +41 -0
- data/test/media/test.mov +0 -0
- data/test/media/test.pdf +0 -0
- data/test/media/test.png +0 -0
- data/test/media/test.swf +0 -0
- data/test/media/test.wmv +0 -0
- data/test/media_service_test.rb +294 -0
- data/test/metadata_profile_service_test.rb +63 -0
- data/test/test_helper.rb +59 -0
- metadata +127 -0
@@ -0,0 +1,40 @@
|
|
1
|
+
# ===================================================================================================
|
2
|
+
# _ __ _ _
|
3
|
+
# | |/ /__ _| | |_ _ _ _ _ __ _
|
4
|
+
# | ' </ _` | | _| || | '_/ _` |
|
5
|
+
# |_|\_\__,_|_|\__|\_,_|_| \__,_|
|
6
|
+
#
|
7
|
+
# This file is part of the Kaltura Collaborative Media Suite which allows users
|
8
|
+
# to do with audio, video, and animation what Wiki platfroms allow them to do with
|
9
|
+
# text.
|
10
|
+
#
|
11
|
+
# Copyright (C) 2006-2011 Kaltura Inc.
|
12
|
+
#
|
13
|
+
# This program is free software: you can redistribute it and/or modify
|
14
|
+
# it under the terms of the GNU Affero General Public License as
|
15
|
+
# published by the Free Software Foundation, either version 3 of the
|
16
|
+
# License, or (at your option) any later version.
|
17
|
+
#
|
18
|
+
# This program is distributed in the hope that it will be useful,
|
19
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
20
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
21
|
+
# GNU Affero General Public License for more details.
|
22
|
+
#
|
23
|
+
# You should have received a copy of the GNU Affero General Public License
|
24
|
+
# along with this program. If not, see <http:#www.gnu.org/licenses/>.
|
25
|
+
#
|
26
|
+
# @ignore
|
27
|
+
# ===================================================================================================
|
28
|
+
require 'kaltura_client.rb'
|
29
|
+
|
30
|
+
module Kaltura
|
31
|
+
|
32
|
+
class KalturaVelocixProvisionJobData < KalturaProvisionJobData
|
33
|
+
attr_accessor :provisioning_params
|
34
|
+
attr_accessor :user_name
|
35
|
+
attr_accessor :password
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,263 @@
|
|
1
|
+
# ===================================================================================================
|
2
|
+
# _ __ _ _
|
3
|
+
# | |/ /__ _| | |_ _ _ _ _ __ _
|
4
|
+
# | ' </ _` | | _| || | '_/ _` |
|
5
|
+
# |_|\_\__,_|_|\__|\_,_|_| \__,_|
|
6
|
+
#
|
7
|
+
# This file is part of the Kaltura Collaborative Media Suite which allows users
|
8
|
+
# to do with audio, video, and animation what Wiki platfroms allow them to do with
|
9
|
+
# text.
|
10
|
+
#
|
11
|
+
# Copyright (C) 2006-2011 Kaltura Inc.
|
12
|
+
#
|
13
|
+
# This program is free software: you can redistribute it and/or modify
|
14
|
+
# it under the terms of the GNU Affero General Public License as
|
15
|
+
# published by the Free Software Foundation, either version 3 of the
|
16
|
+
# License, or (at your option) any later version.
|
17
|
+
#
|
18
|
+
# This program is distributed in the hope that it will be useful,
|
19
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
20
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
21
|
+
# GNU Affero General Public License for more details.
|
22
|
+
#
|
23
|
+
# You should have received a copy of the GNU Affero General Public License
|
24
|
+
# along with this program. If not, see <http:#www.gnu.org/licenses/>.
|
25
|
+
#
|
26
|
+
# @ignore
|
27
|
+
# ===================================================================================================
|
28
|
+
require 'kaltura_client.rb'
|
29
|
+
|
30
|
+
module Kaltura
|
31
|
+
|
32
|
+
class KalturaVirusFoundAction
|
33
|
+
NONE = 0
|
34
|
+
DELETE = 1
|
35
|
+
CLEAN_NONE = 2
|
36
|
+
CLEAN_DELETE = 3
|
37
|
+
end
|
38
|
+
|
39
|
+
class KalturaVirusScanJobResult
|
40
|
+
SCAN_ERROR = 1
|
41
|
+
FILE_IS_CLEAN = 2
|
42
|
+
FILE_WAS_CLEANED = 3
|
43
|
+
FILE_INFECTED = 4
|
44
|
+
end
|
45
|
+
|
46
|
+
class KalturaVirusScanProfileStatus
|
47
|
+
DISABLED = 1
|
48
|
+
ENABLED = 2
|
49
|
+
DELETED = 3
|
50
|
+
end
|
51
|
+
|
52
|
+
class KalturaVirusScanEngineType
|
53
|
+
CLAMAV_SCAN_ENGINE = "clamAVScanEngine.ClamAV"
|
54
|
+
SYMANTEC_SCAN_DIRECT_ENGINE = "symantecScanEngine.SymantecScanDirectEngine"
|
55
|
+
SYMANTEC_SCAN_ENGINE = "symantecScanEngine.SymantecScanEngine"
|
56
|
+
SYMANTEC_SCAN_JAVA_ENGINE = "symantecScanEngine.SymantecScanJavaEngine"
|
57
|
+
end
|
58
|
+
|
59
|
+
class KalturaVirusScanProfileOrderBy
|
60
|
+
CREATED_AT_ASC = "+createdAt"
|
61
|
+
UPDATED_AT_ASC = "+updatedAt"
|
62
|
+
CREATED_AT_DESC = "-createdAt"
|
63
|
+
UPDATED_AT_DESC = "-updatedAt"
|
64
|
+
end
|
65
|
+
|
66
|
+
class KalturaVirusScanProfile < KalturaObjectBase
|
67
|
+
attr_accessor :id
|
68
|
+
attr_accessor :created_at
|
69
|
+
attr_accessor :updated_at
|
70
|
+
attr_accessor :partner_id
|
71
|
+
attr_accessor :name
|
72
|
+
attr_accessor :status
|
73
|
+
attr_accessor :engine_type
|
74
|
+
attr_accessor :entry_filter
|
75
|
+
attr_accessor :action_if_infected
|
76
|
+
|
77
|
+
def id=(val)
|
78
|
+
@id = val.to_i
|
79
|
+
end
|
80
|
+
def created_at=(val)
|
81
|
+
@created_at = val.to_i
|
82
|
+
end
|
83
|
+
def updated_at=(val)
|
84
|
+
@updated_at = val.to_i
|
85
|
+
end
|
86
|
+
def partner_id=(val)
|
87
|
+
@partner_id = val.to_i
|
88
|
+
end
|
89
|
+
def status=(val)
|
90
|
+
@status = val.to_i
|
91
|
+
end
|
92
|
+
def action_if_infected=(val)
|
93
|
+
@action_if_infected = val.to_i
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
class KalturaVirusScanProfileListResponse < KalturaObjectBase
|
98
|
+
attr_accessor :objects
|
99
|
+
attr_accessor :total_count
|
100
|
+
|
101
|
+
def total_count=(val)
|
102
|
+
@total_count = val.to_i
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
class KalturaParseCaptionAssetJobData < KalturaJobData
|
107
|
+
attr_accessor :caption_asset_id
|
108
|
+
|
109
|
+
end
|
110
|
+
|
111
|
+
class KalturaVirusScanJobData < KalturaJobData
|
112
|
+
attr_accessor :src_file_path
|
113
|
+
attr_accessor :flavor_asset_id
|
114
|
+
attr_accessor :scan_result
|
115
|
+
attr_accessor :virus_found_action
|
116
|
+
|
117
|
+
def scan_result=(val)
|
118
|
+
@scan_result = val.to_i
|
119
|
+
end
|
120
|
+
def virus_found_action=(val)
|
121
|
+
@virus_found_action = val.to_i
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
class KalturaVirusScanProfileBaseFilter < KalturaFilter
|
126
|
+
attr_accessor :id_equal
|
127
|
+
attr_accessor :id_in
|
128
|
+
attr_accessor :created_at_greater_than_or_equal
|
129
|
+
attr_accessor :created_at_less_than_or_equal
|
130
|
+
attr_accessor :updated_at_greater_than_or_equal
|
131
|
+
attr_accessor :updated_at_less_than_or_equal
|
132
|
+
attr_accessor :partner_id_equal
|
133
|
+
attr_accessor :partner_id_in
|
134
|
+
attr_accessor :name_equal
|
135
|
+
attr_accessor :name_like
|
136
|
+
attr_accessor :status_equal
|
137
|
+
attr_accessor :status_in
|
138
|
+
attr_accessor :engine_type_equal
|
139
|
+
attr_accessor :engine_type_in
|
140
|
+
|
141
|
+
def id_equal=(val)
|
142
|
+
@id_equal = val.to_i
|
143
|
+
end
|
144
|
+
def created_at_greater_than_or_equal=(val)
|
145
|
+
@created_at_greater_than_or_equal = val.to_i
|
146
|
+
end
|
147
|
+
def created_at_less_than_or_equal=(val)
|
148
|
+
@created_at_less_than_or_equal = val.to_i
|
149
|
+
end
|
150
|
+
def updated_at_greater_than_or_equal=(val)
|
151
|
+
@updated_at_greater_than_or_equal = val.to_i
|
152
|
+
end
|
153
|
+
def updated_at_less_than_or_equal=(val)
|
154
|
+
@updated_at_less_than_or_equal = val.to_i
|
155
|
+
end
|
156
|
+
def partner_id_equal=(val)
|
157
|
+
@partner_id_equal = val.to_i
|
158
|
+
end
|
159
|
+
def status_equal=(val)
|
160
|
+
@status_equal = val.to_i
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
class KalturaVirusScanProfileFilter < KalturaVirusScanProfileBaseFilter
|
165
|
+
|
166
|
+
end
|
167
|
+
|
168
|
+
|
169
|
+
# Virus scan profile service
|
170
|
+
#
|
171
|
+
class KalturaVirusScanProfileService < KalturaServiceBase
|
172
|
+
def initialize(client)
|
173
|
+
super(client)
|
174
|
+
end
|
175
|
+
|
176
|
+
# List virus scan profile objects by filter and pager
|
177
|
+
#
|
178
|
+
def list(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
|
179
|
+
kparams = {}
|
180
|
+
client.add_param(kparams, 'filter', filter);
|
181
|
+
client.add_param(kparams, 'pager', pager);
|
182
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'list', kparams);
|
183
|
+
if (client.is_multirequest)
|
184
|
+
return nil;
|
185
|
+
end
|
186
|
+
return client.do_queue();
|
187
|
+
end
|
188
|
+
|
189
|
+
# Allows you to add an virus scan profile object and virus scan profile content associated with Kaltura object
|
190
|
+
#
|
191
|
+
def add(virus_scan_profile)
|
192
|
+
kparams = {}
|
193
|
+
client.add_param(kparams, 'virusScanProfile', virus_scan_profile);
|
194
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'add', kparams);
|
195
|
+
if (client.is_multirequest)
|
196
|
+
return nil;
|
197
|
+
end
|
198
|
+
return client.do_queue();
|
199
|
+
end
|
200
|
+
|
201
|
+
# Retrieve an virus scan profile object by id
|
202
|
+
#
|
203
|
+
def get(virus_scan_profile_id)
|
204
|
+
kparams = {}
|
205
|
+
client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
|
206
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'get', kparams);
|
207
|
+
if (client.is_multirequest)
|
208
|
+
return nil;
|
209
|
+
end
|
210
|
+
return client.do_queue();
|
211
|
+
end
|
212
|
+
|
213
|
+
# Update exisitng virus scan profile, it is possible to update the virus scan profile id too
|
214
|
+
#
|
215
|
+
def update(virus_scan_profile_id, virus_scan_profile)
|
216
|
+
kparams = {}
|
217
|
+
client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
|
218
|
+
# Id
|
219
|
+
client.add_param(kparams, 'virusScanProfile', virus_scan_profile);
|
220
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'update', kparams);
|
221
|
+
if (client.is_multirequest)
|
222
|
+
return nil;
|
223
|
+
end
|
224
|
+
return client.do_queue();
|
225
|
+
end
|
226
|
+
|
227
|
+
# Mark the virus scan profile as deleted
|
228
|
+
#
|
229
|
+
def delete(virus_scan_profile_id)
|
230
|
+
kparams = {}
|
231
|
+
client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
|
232
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'delete', kparams);
|
233
|
+
if (client.is_multirequest)
|
234
|
+
return nil;
|
235
|
+
end
|
236
|
+
return client.do_queue();
|
237
|
+
end
|
238
|
+
|
239
|
+
# Scan flavor asset according to virus scan profile
|
240
|
+
#
|
241
|
+
def scan(flavor_asset_id, virus_scan_profile_id=KalturaNotImplemented)
|
242
|
+
kparams = {}
|
243
|
+
client.add_param(kparams, 'flavorAssetId', flavor_asset_id);
|
244
|
+
client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
|
245
|
+
client.queue_service_action_call('virusscan_virusscanprofile', 'scan', kparams);
|
246
|
+
if (client.is_multirequest)
|
247
|
+
return nil;
|
248
|
+
end
|
249
|
+
return client.do_queue();
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
class KalturaClient < KalturaClientBase
|
254
|
+
attr_reader :virus_scan_profile_service
|
255
|
+
def virus_scan_profile_service
|
256
|
+
if (@virus_scan_profile_service == nil)
|
257
|
+
@virus_scan_profile_service = KalturaVirusScanProfileService.new(self)
|
258
|
+
end
|
259
|
+
return @virus_scan_profile_service
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
263
|
+
end
|
@@ -0,0 +1,121 @@
|
|
1
|
+
# ===================================================================================================
|
2
|
+
# _ __ _ _
|
3
|
+
# | |/ /__ _| | |_ _ _ _ _ __ _
|
4
|
+
# | ' </ _` | | _| || | '_/ _` |
|
5
|
+
# |_|\_\__,_|_|\__|\_,_|_| \__,_|
|
6
|
+
#
|
7
|
+
# This file is part of the Kaltura Collaborative Media Suite which allows users
|
8
|
+
# to do with audio, video, and animation what Wiki platfroms allow them to do with
|
9
|
+
# text.
|
10
|
+
#
|
11
|
+
# Copyright (C) 2006-2011 Kaltura Inc.
|
12
|
+
#
|
13
|
+
# This program is free software: you can redistribute it and/or modify
|
14
|
+
# it under the terms of the GNU Affero General Public License as
|
15
|
+
# published by the Free Software Foundation, either version 3 of the
|
16
|
+
# License, or (at your option) any later version.
|
17
|
+
#
|
18
|
+
# This program is distributed in the hope that it will be useful,
|
19
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
20
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
21
|
+
# GNU Affero General Public License for more details.
|
22
|
+
#
|
23
|
+
# You should have received a copy of the GNU Affero General Public License
|
24
|
+
# along with this program. If not, see <http:#www.gnu.org/licenses/>.
|
25
|
+
#
|
26
|
+
# @ignore
|
27
|
+
# ===================================================================================================
|
28
|
+
require 'kaltura_client.rb'
|
29
|
+
require File.dirname(__FILE__) + '/kaltura_drop_folder_client_plugin.rb'
|
30
|
+
require File.dirname(__FILE__) + '/kaltura_metadata_client_plugin.rb'
|
31
|
+
|
32
|
+
module Kaltura
|
33
|
+
|
34
|
+
class KalturaWebexDropFolderFileOrderBy
|
35
|
+
CREATED_AT_ASC = "+createdAt"
|
36
|
+
FILE_NAME_ASC = "+fileName"
|
37
|
+
FILE_SIZE_ASC = "+fileSize"
|
38
|
+
FILE_SIZE_LAST_SET_AT_ASC = "+fileSizeLastSetAt"
|
39
|
+
ID_ASC = "+id"
|
40
|
+
PARSED_FLAVOR_ASC = "+parsedFlavor"
|
41
|
+
PARSED_SLUG_ASC = "+parsedSlug"
|
42
|
+
UPDATED_AT_ASC = "+updatedAt"
|
43
|
+
CREATED_AT_DESC = "-createdAt"
|
44
|
+
FILE_NAME_DESC = "-fileName"
|
45
|
+
FILE_SIZE_DESC = "-fileSize"
|
46
|
+
FILE_SIZE_LAST_SET_AT_DESC = "-fileSizeLastSetAt"
|
47
|
+
ID_DESC = "-id"
|
48
|
+
PARSED_FLAVOR_DESC = "-parsedFlavor"
|
49
|
+
PARSED_SLUG_DESC = "-parsedSlug"
|
50
|
+
UPDATED_AT_DESC = "-updatedAt"
|
51
|
+
end
|
52
|
+
|
53
|
+
class KalturaWebexDropFolderOrderBy
|
54
|
+
CREATED_AT_ASC = "+createdAt"
|
55
|
+
ID_ASC = "+id"
|
56
|
+
NAME_ASC = "+name"
|
57
|
+
UPDATED_AT_ASC = "+updatedAt"
|
58
|
+
CREATED_AT_DESC = "-createdAt"
|
59
|
+
ID_DESC = "-id"
|
60
|
+
NAME_DESC = "-name"
|
61
|
+
UPDATED_AT_DESC = "-updatedAt"
|
62
|
+
end
|
63
|
+
|
64
|
+
class KalturaWebexDropFolder < KalturaDropFolder
|
65
|
+
attr_accessor :webex_user_id
|
66
|
+
attr_accessor :webex_password
|
67
|
+
attr_accessor :webex_site_id
|
68
|
+
attr_accessor :webex_partner_id
|
69
|
+
attr_accessor :webex_service_url
|
70
|
+
attr_accessor :webex_host_id_metadata_field_name
|
71
|
+
attr_accessor :categories_metadata_field_name
|
72
|
+
attr_accessor :enforce_entitlement
|
73
|
+
|
74
|
+
def webex_site_id=(val)
|
75
|
+
@webex_site_id = val.to_i
|
76
|
+
end
|
77
|
+
def enforce_entitlement=(val)
|
78
|
+
@enforce_entitlement = to_b(val)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
class KalturaWebexDropFolderFile < KalturaDropFolderFile
|
83
|
+
attr_accessor :recording_id
|
84
|
+
attr_accessor :webex_host_id
|
85
|
+
attr_accessor :description
|
86
|
+
attr_accessor :conf_id
|
87
|
+
attr_accessor :content_url
|
88
|
+
|
89
|
+
def recording_id=(val)
|
90
|
+
@recording_id = val.to_i
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
class KalturaWebexDropFolderContentProcessorJobData < KalturaDropFolderContentProcessorJobData
|
95
|
+
attr_accessor :description
|
96
|
+
attr_accessor :webex_host_id
|
97
|
+
attr_accessor :drop_folder_id
|
98
|
+
|
99
|
+
def drop_folder_id=(val)
|
100
|
+
@drop_folder_id = val.to_i
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
class KalturaWebexDropFolderBaseFilter < KalturaDropFolderFilter
|
105
|
+
|
106
|
+
end
|
107
|
+
|
108
|
+
class KalturaWebexDropFolderFileBaseFilter < KalturaDropFolderFileFilter
|
109
|
+
|
110
|
+
end
|
111
|
+
|
112
|
+
class KalturaWebexDropFolderFileFilter < KalturaWebexDropFolderFileBaseFilter
|
113
|
+
|
114
|
+
end
|
115
|
+
|
116
|
+
class KalturaWebexDropFolderFilter < KalturaWebexDropFolderBaseFilter
|
117
|
+
|
118
|
+
end
|
119
|
+
|
120
|
+
|
121
|
+
end
|
@@ -0,0 +1,195 @@
|
|
1
|
+
# ===================================================================================================
|
2
|
+
# _ __ _ _
|
3
|
+
# | |/ /__ _| | |_ _ _ _ _ __ _
|
4
|
+
# | ' </ _` | | _| || | '_/ _` |
|
5
|
+
# |_|\_\__,_|_|\__|\_,_|_| \__,_|
|
6
|
+
#
|
7
|
+
# This file is part of the Kaltura Collaborative Media Suite which allows users
|
8
|
+
# to do with audio, video, and animation what Wiki platfroms allow them to do with
|
9
|
+
# text.
|
10
|
+
#
|
11
|
+
# Copyright (C) 2006-2011 Kaltura Inc.
|
12
|
+
#
|
13
|
+
# This program is free software: you can redistribute it and/or modify
|
14
|
+
# it under the terms of the GNU Affero General Public License as
|
15
|
+
# published by the Free Software Foundation, either version 3 of the
|
16
|
+
# License, or (at your option) any later version.
|
17
|
+
#
|
18
|
+
# This program is distributed in the hope that it will be useful,
|
19
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
20
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
21
|
+
# GNU Affero General Public License for more details.
|
22
|
+
#
|
23
|
+
# You should have received a copy of the GNU Affero General Public License
|
24
|
+
# along with this program. If not, see <http:#www.gnu.org/licenses/>.
|
25
|
+
#
|
26
|
+
# @ignore
|
27
|
+
# ===================================================================================================
|
28
|
+
require 'kaltura_client.rb'
|
29
|
+
require File.dirname(__FILE__) + '/kaltura_drm_client_plugin.rb'
|
30
|
+
|
31
|
+
module Kaltura
|
32
|
+
|
33
|
+
class KalturaWidevineRepositorySyncMode
|
34
|
+
MODIFY = 0
|
35
|
+
end
|
36
|
+
|
37
|
+
class KalturaWidevineFlavorAssetOrderBy
|
38
|
+
CREATED_AT_ASC = "+createdAt"
|
39
|
+
DELETED_AT_ASC = "+deletedAt"
|
40
|
+
SIZE_ASC = "+size"
|
41
|
+
UPDATED_AT_ASC = "+updatedAt"
|
42
|
+
CREATED_AT_DESC = "-createdAt"
|
43
|
+
DELETED_AT_DESC = "-deletedAt"
|
44
|
+
SIZE_DESC = "-size"
|
45
|
+
UPDATED_AT_DESC = "-updatedAt"
|
46
|
+
end
|
47
|
+
|
48
|
+
class KalturaWidevineFlavorParamsOrderBy
|
49
|
+
end
|
50
|
+
|
51
|
+
class KalturaWidevineFlavorParamsOutputOrderBy
|
52
|
+
end
|
53
|
+
|
54
|
+
class KalturaWidevineProfileOrderBy
|
55
|
+
ID_ASC = "+id"
|
56
|
+
NAME_ASC = "+name"
|
57
|
+
ID_DESC = "-id"
|
58
|
+
NAME_DESC = "-name"
|
59
|
+
end
|
60
|
+
|
61
|
+
class KalturaWidevineProfile < KalturaDrmProfile
|
62
|
+
attr_accessor :key
|
63
|
+
attr_accessor :iv
|
64
|
+
attr_accessor :owner
|
65
|
+
attr_accessor :portal
|
66
|
+
attr_accessor :max_gop
|
67
|
+
attr_accessor :reg_server_host
|
68
|
+
|
69
|
+
def max_gop=(val)
|
70
|
+
@max_gop = val.to_i
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
class KalturaWidevineRepositorySyncJobData < KalturaJobData
|
75
|
+
attr_accessor :sync_mode
|
76
|
+
attr_accessor :wv_asset_ids
|
77
|
+
attr_accessor :modified_attributes
|
78
|
+
attr_accessor :monitor_sync_completion
|
79
|
+
|
80
|
+
def sync_mode=(val)
|
81
|
+
@sync_mode = val.to_i
|
82
|
+
end
|
83
|
+
def monitor_sync_completion=(val)
|
84
|
+
@monitor_sync_completion = val.to_i
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
class KalturaWidevineFlavorAsset < KalturaFlavorAsset
|
89
|
+
# License distribution window start date
|
90
|
+
#
|
91
|
+
attr_accessor :widevine_distribution_start_date
|
92
|
+
# License distribution window end date
|
93
|
+
#
|
94
|
+
attr_accessor :widevine_distribution_end_date
|
95
|
+
# Widevine unique asset id
|
96
|
+
#
|
97
|
+
attr_accessor :widevine_asset_id
|
98
|
+
|
99
|
+
def widevine_distribution_start_date=(val)
|
100
|
+
@widevine_distribution_start_date = val.to_i
|
101
|
+
end
|
102
|
+
def widevine_distribution_end_date=(val)
|
103
|
+
@widevine_distribution_end_date = val.to_i
|
104
|
+
end
|
105
|
+
def widevine_asset_id=(val)
|
106
|
+
@widevine_asset_id = val.to_i
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
class KalturaWidevineFlavorParams < KalturaFlavorParams
|
111
|
+
|
112
|
+
end
|
113
|
+
|
114
|
+
class KalturaWidevineFlavorParamsOutput < KalturaFlavorParamsOutput
|
115
|
+
# License distribution window start date
|
116
|
+
#
|
117
|
+
attr_accessor :widevine_distribution_start_date
|
118
|
+
# License distribution window end date
|
119
|
+
#
|
120
|
+
attr_accessor :widevine_distribution_end_date
|
121
|
+
|
122
|
+
def widevine_distribution_start_date=(val)
|
123
|
+
@widevine_distribution_start_date = val.to_i
|
124
|
+
end
|
125
|
+
def widevine_distribution_end_date=(val)
|
126
|
+
@widevine_distribution_end_date = val.to_i
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
class KalturaWidevineProfileBaseFilter < KalturaDrmProfileFilter
|
131
|
+
|
132
|
+
end
|
133
|
+
|
134
|
+
class KalturaWidevineProfileFilter < KalturaWidevineProfileBaseFilter
|
135
|
+
|
136
|
+
end
|
137
|
+
|
138
|
+
class KalturaWidevineFlavorAssetBaseFilter < KalturaFlavorAssetFilter
|
139
|
+
|
140
|
+
end
|
141
|
+
|
142
|
+
class KalturaWidevineFlavorParamsBaseFilter < KalturaFlavorParamsFilter
|
143
|
+
|
144
|
+
end
|
145
|
+
|
146
|
+
class KalturaWidevineFlavorAssetFilter < KalturaWidevineFlavorAssetBaseFilter
|
147
|
+
|
148
|
+
end
|
149
|
+
|
150
|
+
class KalturaWidevineFlavorParamsFilter < KalturaWidevineFlavorParamsBaseFilter
|
151
|
+
|
152
|
+
end
|
153
|
+
|
154
|
+
class KalturaWidevineFlavorParamsOutputBaseFilter < KalturaFlavorParamsOutputFilter
|
155
|
+
|
156
|
+
end
|
157
|
+
|
158
|
+
class KalturaWidevineFlavorParamsOutputFilter < KalturaWidevineFlavorParamsOutputBaseFilter
|
159
|
+
|
160
|
+
end
|
161
|
+
|
162
|
+
|
163
|
+
# WidevineDrmService serves as a license proxy to a Widevine license server
|
164
|
+
#
|
165
|
+
class KalturaWidevineDrmService < KalturaServiceBase
|
166
|
+
def initialize(client)
|
167
|
+
super(client)
|
168
|
+
end
|
169
|
+
|
170
|
+
# Get license for encrypted content playback
|
171
|
+
#
|
172
|
+
def get_license(flavor_asset_id, referrer=KalturaNotImplemented)
|
173
|
+
kparams = {}
|
174
|
+
client.add_param(kparams, 'flavorAssetId', flavor_asset_id);
|
175
|
+
# 64base encoded
|
176
|
+
client.add_param(kparams, 'referrer', referrer);
|
177
|
+
client.queue_service_action_call('widevine_widevinedrm', 'getLicense', kparams);
|
178
|
+
if (client.is_multirequest)
|
179
|
+
return nil;
|
180
|
+
end
|
181
|
+
return client.do_queue();
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
class KalturaClient < KalturaClientBase
|
186
|
+
attr_reader :widevine_drm_service
|
187
|
+
def widevine_drm_service
|
188
|
+
if (@widevine_drm_service == nil)
|
189
|
+
@widevine_drm_service = KalturaWidevineDrmService.new(self)
|
190
|
+
end
|
191
|
+
return @widevine_drm_service
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
195
|
+
end
|