kaltura-client 3.3.0 → 14.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README +23 -23
- data/lib/kaltura_client.rb +2054 -1860
- data/lib/kaltura_client_base.rb +4 -1
- data/lib/kaltura_enums.rb +612 -36
- data/lib/kaltura_plugins/kaltura_activiti_business_process_notification_client_plugin.rb +96 -0
- data/lib/kaltura_plugins/kaltura_ad_cue_point_client_plugin.rb +46 -17
- data/lib/kaltura_plugins/kaltura_admin_console_client_plugin.rb +61 -251
- data/lib/kaltura_plugins/kaltura_annotation_client_plugin.rb +131 -60
- data/lib/kaltura_plugins/kaltura_aspera_client_plugin.rb +62 -0
- data/lib/kaltura_plugins/kaltura_attachment_client_plugin.rb +83 -55
- data/lib/kaltura_plugins/kaltura_audit_client_plugin.rb +613 -0
- data/lib/kaltura_plugins/kaltura_avn_distribution_client_plugin.rb +109 -0
- data/lib/kaltura_plugins/kaltura_bpm_event_notification_integration_client_plugin.rb +61 -0
- data/lib/kaltura_plugins/kaltura_bulk_upload_client_plugin.rb +17 -19
- data/lib/kaltura_plugins/kaltura_bulk_upload_csv_client_plugin.rb +7 -6
- data/lib/kaltura_plugins/kaltura_bulk_upload_filter_client_plugin.rb +33 -13
- data/lib/kaltura_plugins/kaltura_bulk_upload_xml_client_plugin.rb +1 -2
- data/lib/kaltura_plugins/kaltura_business_process_notification_client_plugin.rb +545 -0
- data/lib/kaltura_plugins/kaltura_caption_client_plugin.rb +235 -114
- data/lib/kaltura_plugins/kaltura_caption_search_client_plugin.rb +86 -29
- data/lib/kaltura_plugins/kaltura_cielo24client_plugin.rb +39 -17
- data/lib/kaltura_plugins/kaltura_code_cue_point_client_plugin.rb +49 -18
- data/lib/kaltura_plugins/kaltura_comcast_mrss_distribution_client_plugin.rb +163 -0
- data/lib/kaltura_plugins/kaltura_content_distribution_client_plugin.rb +846 -439
- data/lib/kaltura_plugins/kaltura_cross_kaltura_distribution_client_plugin.rb +232 -0
- data/lib/kaltura_plugins/kaltura_cue_point_client_plugin.rb +229 -74
- data/lib/kaltura_plugins/kaltura_dailymotion_distribution_client_plugin.rb +199 -0
- data/lib/kaltura_plugins/kaltura_document_client_plugin.rb +140 -97
- data/lib/kaltura_plugins/kaltura_double_click_distribution_client_plugin.rb +142 -0
- data/lib/kaltura_plugins/kaltura_drm_client_plugin.rb +635 -0
- data/lib/kaltura_plugins/kaltura_drop_folder_client_plugin.rb +485 -196
- data/lib/kaltura_plugins/kaltura_drop_folder_xml_bulk_upload_client_plugin.rb +19 -1
- data/lib/kaltura_plugins/kaltura_elastic_search_client_plugin.rb +1228 -0
- data/lib/kaltura_plugins/kaltura_email_notification_client_plugin.rb +178 -89
- data/lib/kaltura_plugins/kaltura_event_cue_point_client_plugin.rb +10 -4
- data/lib/kaltura_plugins/kaltura_event_notification_client_plugin.rb +205 -95
- data/lib/kaltura_plugins/kaltura_external_media_client_plugin.rb +43 -32
- data/lib/kaltura_plugins/kaltura_facebook_distribution_client_plugin.rb +183 -0
- data/lib/kaltura_plugins/kaltura_fairplay_client_plugin.rb +62 -0
- data/lib/kaltura_plugins/kaltura_feed_drop_folder_client_plugin.rb +40 -16
- data/lib/kaltura_plugins/kaltura_file_sync_client_plugin.rb +182 -67
- data/lib/kaltura_plugins/kaltura_freewheel_distribution_client_plugin.rb +157 -0
- data/lib/kaltura_plugins/kaltura_freewheel_generic_distribution_client_plugin.rb +172 -0
- data/lib/kaltura_plugins/kaltura_ftp_distribution_client_plugin.rb +258 -0
- data/lib/kaltura_plugins/kaltura_http_notification_client_plugin.rb +154 -102
- data/lib/kaltura_plugins/kaltura_hulu_distribution_client_plugin.rb +213 -0
- data/lib/kaltura_plugins/kaltura_idetic_distribution_client_plugin.rb +131 -0
- data/lib/kaltura_plugins/kaltura_integration_client_plugin.rb +19 -10
- data/lib/kaltura_plugins/kaltura_kaltura_internal_tools_client_plugin.rb +1 -87
- data/lib/kaltura_plugins/kaltura_kontiki_client_plugin.rb +19 -10
- data/lib/kaltura_plugins/kaltura_like_client_plugin.rb +45 -25
- data/lib/kaltura_plugins/kaltura_metadata_client_plugin.rb +435 -213
- data/lib/kaltura_plugins/kaltura_metro_pcs_distribution_client_plugin.rb +155 -0
- data/lib/kaltura_plugins/kaltura_msn_distribution_client_plugin.rb +186 -0
- data/lib/kaltura_plugins/kaltura_play_ready_client_plugin.rb +482 -0
- data/lib/kaltura_plugins/kaltura_poll_client_plugin.rb +116 -0
- data/lib/kaltura_plugins/kaltura_push_notification_client_plugin.rb +154 -0
- data/lib/kaltura_plugins/kaltura_quick_play_distribution_client_plugin.rb +187 -0
- data/lib/kaltura_plugins/kaltura_quiz_client_plugin.rb +155 -58
- data/lib/kaltura_plugins/kaltura_schedule_bulk_upload_client_plugin.rb +107 -0
- data/lib/kaltura_plugins/kaltura_schedule_client_plugin.rb +1580 -0
- data/lib/kaltura_plugins/kaltura_schedule_drop_folder_client_plugin.rb +52 -0
- data/lib/kaltura_plugins/kaltura_scheduled_task_client_plugin.rb +277 -71
- data/lib/kaltura_plugins/kaltura_scheduled_task_content_distribution_client_plugin.rb +4 -3
- data/lib/kaltura_plugins/kaltura_scheduled_task_event_notification_client_plugin.rb +4 -3
- data/lib/kaltura_plugins/kaltura_scheduled_task_metadata_client_plugin.rb +10 -7
- data/lib/kaltura_plugins/kaltura_short_link_client_plugin.rb +113 -66
- data/lib/kaltura_plugins/kaltura_system_partner_client_plugin.rb +81 -517
- data/lib/kaltura_plugins/kaltura_tag_search_client_plugin.rb +63 -30
- data/lib/kaltura_plugins/kaltura_thumb_cue_point_client_plugin.rb +40 -16
- data/lib/kaltura_plugins/kaltura_transcript_client_plugin.rb +44 -8
- data/lib/kaltura_plugins/kaltura_unicorn_distribution_client_plugin.rb +212 -0
- data/lib/kaltura_plugins/kaltura_var_console_client_plugin.rb +75 -74
- data/lib/kaltura_plugins/kaltura_velocix_client_plugin.rb +10 -4
- data/lib/kaltura_plugins/kaltura_view_history_client_plugin.rb +112 -0
- data/lib/kaltura_plugins/kaltura_virus_scan_client_plugin.rb +119 -59
- data/lib/kaltura_plugins/kaltura_voicebase_client_plugin.rb +34 -19
- data/lib/kaltura_plugins/kaltura_webex_drop_folder_client_plugin.rb +207 -0
- data/lib/kaltura_plugins/kaltura_widevine_client_plugin.rb +299 -0
- data/lib/kaltura_plugins/kaltura_wowza_client_plugin.rb +22 -13
- data/lib/kaltura_plugins/kaltura_yahoo_distribution_client_plugin.rb +155 -0
- data/lib/kaltura_plugins/kaltura_you_tube_distribution_client_plugin.rb +382 -0
- data/lib/kaltura_plugins/kaltura_youtube_api_distribution_client_plugin.rb +219 -0
- data/lib/kaltura_types.rb +10305 -4858
- data/test/access_control_service_test.rb +43 -20
- data/test/base_entry_service_test.rb +57 -67
- data/test/configuration_test.rb +2 -34
- data/test/cue_point_service_test.rb +1 -1
- data/test/data_service_test.rb +19 -5
- data/test/document_service_test.rb +1 -1
- data/test/media_service_test.rb +296 -296
- data/test/metadata_profile_service_test.rb +1 -1
- metadata +52 -21
@@ -8,7 +8,7 @@
|
|
8
8
|
# to do with audio, video, and animation what Wiki platfroms allow them to do with
|
9
9
|
# text.
|
10
10
|
#
|
11
|
-
# Copyright (C) 2006-
|
11
|
+
# Copyright (C) 2006-2019 Kaltura Inc.
|
12
12
|
#
|
13
13
|
# This program is free software: you can redistribute it and/or modify
|
14
14
|
# it under the terms of the GNU Affero General Public License as
|
@@ -71,17 +71,19 @@ module Kaltura
|
|
71
71
|
|
72
72
|
class KalturaExternalMediaEntry < KalturaMediaEntry
|
73
73
|
# The source type of the external media
|
74
|
-
#
|
75
74
|
attr_accessor :external_source_type
|
76
75
|
# Comma separated asset params ids that exists for this external media entry
|
77
|
-
#
|
78
76
|
attr_accessor :asset_params_ids
|
79
77
|
|
80
78
|
|
81
79
|
def from_xml(xml_element)
|
82
80
|
super
|
83
|
-
|
84
|
-
|
81
|
+
if xml_element.elements['externalSourceType'] != nil
|
82
|
+
self.external_source_type = xml_element.elements['externalSourceType'].text
|
83
|
+
end
|
84
|
+
if xml_element.elements['assetParamsIds'] != nil
|
85
|
+
self.asset_params_ids = xml_element.elements['assetParamsIds'].text
|
86
|
+
end
|
85
87
|
end
|
86
88
|
|
87
89
|
end
|
@@ -92,7 +94,9 @@ module Kaltura
|
|
92
94
|
|
93
95
|
def from_xml(xml_element)
|
94
96
|
super
|
95
|
-
|
97
|
+
if xml_element.elements['objects'] != nil
|
98
|
+
self.objects = KalturaClientBase.object_from_xml(xml_element.elements['objects'], 'KalturaExternalMediaEntry')
|
99
|
+
end
|
96
100
|
end
|
97
101
|
|
98
102
|
end
|
@@ -106,10 +110,18 @@ module Kaltura
|
|
106
110
|
|
107
111
|
def from_xml(xml_element)
|
108
112
|
super
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
+
if xml_element.elements['externalSourceTypeEqual'] != nil
|
114
|
+
self.external_source_type_equal = xml_element.elements['externalSourceTypeEqual'].text
|
115
|
+
end
|
116
|
+
if xml_element.elements['externalSourceTypeIn'] != nil
|
117
|
+
self.external_source_type_in = xml_element.elements['externalSourceTypeIn'].text
|
118
|
+
end
|
119
|
+
if xml_element.elements['assetParamsIdsMatchOr'] != nil
|
120
|
+
self.asset_params_ids_match_or = xml_element.elements['assetParamsIdsMatchOr'].text
|
121
|
+
end
|
122
|
+
if xml_element.elements['assetParamsIdsMatchAnd'] != nil
|
123
|
+
self.asset_params_ids_match_and = xml_element.elements['assetParamsIdsMatchAnd'].text
|
124
|
+
end
|
113
125
|
end
|
114
126
|
|
115
127
|
end
|
@@ -125,14 +137,13 @@ module Kaltura
|
|
125
137
|
|
126
138
|
|
127
139
|
# External media service lets you upload and manage embed codes and external playable content
|
128
|
-
#
|
129
140
|
class KalturaExternalMediaService < KalturaServiceBase
|
130
141
|
def initialize(client)
|
131
142
|
super(client)
|
132
143
|
end
|
133
144
|
|
134
145
|
# Add external media entry
|
135
|
-
#
|
146
|
+
# @return [KalturaExternalMediaEntry]
|
136
147
|
def add(entry)
|
137
148
|
kparams = {}
|
138
149
|
client.add_param(kparams, 'entry', entry)
|
@@ -143,37 +154,36 @@ module Kaltura
|
|
143
154
|
return client.do_queue()
|
144
155
|
end
|
145
156
|
|
146
|
-
#
|
147
|
-
#
|
148
|
-
def
|
157
|
+
# Count media entries by filter.
|
158
|
+
# @return [int]
|
159
|
+
def count(filter=KalturaNotImplemented)
|
149
160
|
kparams = {}
|
150
|
-
client.add_param(kparams, '
|
151
|
-
client.queue_service_action_call('externalmedia_externalmedia', '
|
161
|
+
client.add_param(kparams, 'filter', filter)
|
162
|
+
client.queue_service_action_call('externalmedia_externalmedia', 'count', 'int', kparams)
|
152
163
|
if (client.is_multirequest)
|
153
164
|
return nil
|
154
165
|
end
|
155
166
|
return client.do_queue()
|
156
167
|
end
|
157
168
|
|
158
|
-
#
|
159
|
-
#
|
160
|
-
def
|
169
|
+
# Delete a external media entry.
|
170
|
+
# @return []
|
171
|
+
def delete(id)
|
161
172
|
kparams = {}
|
162
173
|
client.add_param(kparams, 'id', id)
|
163
|
-
client.
|
164
|
-
client.queue_service_action_call('externalmedia_externalmedia', 'update', 'KalturaExternalMediaEntry', kparams)
|
174
|
+
client.queue_service_action_call('externalmedia_externalmedia', 'delete', '', kparams)
|
165
175
|
if (client.is_multirequest)
|
166
176
|
return nil
|
167
177
|
end
|
168
178
|
return client.do_queue()
|
169
179
|
end
|
170
180
|
|
171
|
-
#
|
172
|
-
#
|
173
|
-
def
|
181
|
+
# Get external media entry by ID.
|
182
|
+
# @return [KalturaExternalMediaEntry]
|
183
|
+
def get(id)
|
174
184
|
kparams = {}
|
175
185
|
client.add_param(kparams, 'id', id)
|
176
|
-
client.queue_service_action_call('externalmedia_externalmedia', '
|
186
|
+
client.queue_service_action_call('externalmedia_externalmedia', 'get', 'KalturaExternalMediaEntry', kparams)
|
177
187
|
if (client.is_multirequest)
|
178
188
|
return nil
|
179
189
|
end
|
@@ -181,7 +191,7 @@ module Kaltura
|
|
181
191
|
end
|
182
192
|
|
183
193
|
# List media entries by filter with paging support.
|
184
|
-
#
|
194
|
+
# @return [KalturaExternalMediaEntryListResponse]
|
185
195
|
def list(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
|
186
196
|
kparams = {}
|
187
197
|
client.add_param(kparams, 'filter', filter)
|
@@ -193,12 +203,13 @@ module Kaltura
|
|
193
203
|
return client.do_queue()
|
194
204
|
end
|
195
205
|
|
196
|
-
#
|
197
|
-
#
|
198
|
-
def
|
206
|
+
# Update external media entry. Only the properties that were set will be updated.
|
207
|
+
# @return [KalturaExternalMediaEntry]
|
208
|
+
def update(id, entry)
|
199
209
|
kparams = {}
|
200
|
-
client.add_param(kparams, '
|
201
|
-
client.
|
210
|
+
client.add_param(kparams, 'id', id)
|
211
|
+
client.add_param(kparams, 'entry', entry)
|
212
|
+
client.queue_service_action_call('externalmedia_externalmedia', 'update', 'KalturaExternalMediaEntry', kparams)
|
202
213
|
if (client.is_multirequest)
|
203
214
|
return nil
|
204
215
|
end
|
@@ -0,0 +1,183 @@
|
|
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-2019 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_content_distribution_client_plugin.rb'
|
30
|
+
|
31
|
+
module Kaltura
|
32
|
+
|
33
|
+
class KalturaFacebookDistributionProfileOrderBy
|
34
|
+
CREATED_AT_ASC = "+createdAt"
|
35
|
+
UPDATED_AT_ASC = "+updatedAt"
|
36
|
+
CREATED_AT_DESC = "-createdAt"
|
37
|
+
UPDATED_AT_DESC = "-updatedAt"
|
38
|
+
end
|
39
|
+
|
40
|
+
class KalturaFacebookDistributionProviderOrderBy
|
41
|
+
end
|
42
|
+
|
43
|
+
class KalturaFacebookCaptionDistributionInfo < KalturaObjectBase
|
44
|
+
attr_accessor :language
|
45
|
+
attr_accessor :label
|
46
|
+
attr_accessor :file_path
|
47
|
+
attr_accessor :remote_id
|
48
|
+
attr_accessor :version
|
49
|
+
attr_accessor :asset_id
|
50
|
+
|
51
|
+
|
52
|
+
def from_xml(xml_element)
|
53
|
+
super
|
54
|
+
if xml_element.elements['language'] != nil
|
55
|
+
self.language = xml_element.elements['language'].text
|
56
|
+
end
|
57
|
+
if xml_element.elements['label'] != nil
|
58
|
+
self.label = xml_element.elements['label'].text
|
59
|
+
end
|
60
|
+
if xml_element.elements['filePath'] != nil
|
61
|
+
self.file_path = xml_element.elements['filePath'].text
|
62
|
+
end
|
63
|
+
if xml_element.elements['remoteId'] != nil
|
64
|
+
self.remote_id = xml_element.elements['remoteId'].text
|
65
|
+
end
|
66
|
+
if xml_element.elements['version'] != nil
|
67
|
+
self.version = xml_element.elements['version'].text
|
68
|
+
end
|
69
|
+
if xml_element.elements['assetId'] != nil
|
70
|
+
self.asset_id = xml_element.elements['assetId'].text
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
|
76
|
+
class KalturaFacebookDistributionProvider < KalturaDistributionProvider
|
77
|
+
|
78
|
+
|
79
|
+
def from_xml(xml_element)
|
80
|
+
super
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
class KalturaFacebookDistributionJobProviderData < KalturaConfigurableDistributionJobProviderData
|
86
|
+
attr_accessor :video_asset_file_path
|
87
|
+
attr_accessor :thumb_asset_id
|
88
|
+
attr_accessor :captions_info
|
89
|
+
|
90
|
+
|
91
|
+
def from_xml(xml_element)
|
92
|
+
super
|
93
|
+
if xml_element.elements['videoAssetFilePath'] != nil
|
94
|
+
self.video_asset_file_path = xml_element.elements['videoAssetFilePath'].text
|
95
|
+
end
|
96
|
+
if xml_element.elements['thumbAssetId'] != nil
|
97
|
+
self.thumb_asset_id = xml_element.elements['thumbAssetId'].text
|
98
|
+
end
|
99
|
+
if xml_element.elements['captionsInfo'] != nil
|
100
|
+
self.captions_info = KalturaClientBase.object_from_xml(xml_element.elements['captionsInfo'], 'KalturaFacebookCaptionDistributionInfo')
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|
105
|
+
|
106
|
+
class KalturaFacebookDistributionProfile < KalturaConfigurableDistributionProfile
|
107
|
+
attr_accessor :api_authorize_url
|
108
|
+
attr_accessor :page_id
|
109
|
+
attr_accessor :page_access_token
|
110
|
+
attr_accessor :user_access_token
|
111
|
+
attr_accessor :state
|
112
|
+
attr_accessor :permissions
|
113
|
+
attr_accessor :re_request_permissions
|
114
|
+
|
115
|
+
def re_request_permissions=(val)
|
116
|
+
@re_request_permissions = val.to_i
|
117
|
+
end
|
118
|
+
|
119
|
+
def from_xml(xml_element)
|
120
|
+
super
|
121
|
+
if xml_element.elements['apiAuthorizeUrl'] != nil
|
122
|
+
self.api_authorize_url = xml_element.elements['apiAuthorizeUrl'].text
|
123
|
+
end
|
124
|
+
if xml_element.elements['pageId'] != nil
|
125
|
+
self.page_id = xml_element.elements['pageId'].text
|
126
|
+
end
|
127
|
+
if xml_element.elements['pageAccessToken'] != nil
|
128
|
+
self.page_access_token = xml_element.elements['pageAccessToken'].text
|
129
|
+
end
|
130
|
+
if xml_element.elements['userAccessToken'] != nil
|
131
|
+
self.user_access_token = xml_element.elements['userAccessToken'].text
|
132
|
+
end
|
133
|
+
if xml_element.elements['state'] != nil
|
134
|
+
self.state = xml_element.elements['state'].text
|
135
|
+
end
|
136
|
+
if xml_element.elements['permissions'] != nil
|
137
|
+
self.permissions = xml_element.elements['permissions'].text
|
138
|
+
end
|
139
|
+
if xml_element.elements['reRequestPermissions'] != nil
|
140
|
+
self.re_request_permissions = xml_element.elements['reRequestPermissions'].text
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
end
|
145
|
+
|
146
|
+
class KalturaFacebookDistributionProviderBaseFilter < KalturaDistributionProviderFilter
|
147
|
+
|
148
|
+
|
149
|
+
def from_xml(xml_element)
|
150
|
+
super
|
151
|
+
end
|
152
|
+
|
153
|
+
end
|
154
|
+
|
155
|
+
class KalturaFacebookDistributionProviderFilter < KalturaFacebookDistributionProviderBaseFilter
|
156
|
+
|
157
|
+
|
158
|
+
def from_xml(xml_element)
|
159
|
+
super
|
160
|
+
end
|
161
|
+
|
162
|
+
end
|
163
|
+
|
164
|
+
class KalturaFacebookDistributionProfileBaseFilter < KalturaConfigurableDistributionProfileFilter
|
165
|
+
|
166
|
+
|
167
|
+
def from_xml(xml_element)
|
168
|
+
super
|
169
|
+
end
|
170
|
+
|
171
|
+
end
|
172
|
+
|
173
|
+
class KalturaFacebookDistributionProfileFilter < KalturaFacebookDistributionProfileBaseFilter
|
174
|
+
|
175
|
+
|
176
|
+
def from_xml(xml_element)
|
177
|
+
super
|
178
|
+
end
|
179
|
+
|
180
|
+
end
|
181
|
+
|
182
|
+
|
183
|
+
end
|
@@ -0,0 +1,62 @@
|
|
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-2019 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 KalturaFairplayDrmProfile < KalturaDrmProfile
|
34
|
+
attr_accessor :public_certificate
|
35
|
+
|
36
|
+
|
37
|
+
def from_xml(xml_element)
|
38
|
+
super
|
39
|
+
if xml_element.elements['publicCertificate'] != nil
|
40
|
+
self.public_certificate = xml_element.elements['publicCertificate'].text
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
class KalturaFairplayEntryContextPluginData < KalturaPluginData
|
47
|
+
# For fairplay (and maybe in the future other drm providers) we need to return a public certificate to encrypt
|
48
|
+
# the request from the player to the server.
|
49
|
+
attr_accessor :public_certificate
|
50
|
+
|
51
|
+
|
52
|
+
def from_xml(xml_element)
|
53
|
+
super
|
54
|
+
if xml_element.elements['publicCertificate'] != nil
|
55
|
+
self.public_certificate = xml_element.elements['publicCertificate'].text
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
|
62
|
+
end
|
@@ -8,7 +8,7 @@
|
|
8
8
|
# to do with audio, video, and animation what Wiki platfroms allow them to do with
|
9
9
|
# text.
|
10
10
|
#
|
11
|
-
# Copyright (C) 2006-
|
11
|
+
# Copyright (C) 2006-2019 Kaltura Inc.
|
12
12
|
#
|
13
13
|
# This program is free software: you can redistribute it and/or modify
|
14
14
|
# it under the terms of the GNU Affero General Public License as
|
@@ -44,15 +44,33 @@ module Kaltura
|
|
44
44
|
|
45
45
|
def from_xml(xml_element)
|
46
46
|
super
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
47
|
+
if xml_element.elements['itemXPath'] != nil
|
48
|
+
self.item_xpath = xml_element.elements['itemXPath'].text
|
49
|
+
end
|
50
|
+
if xml_element.elements['itemPublishDateXPath'] != nil
|
51
|
+
self.item_publish_date_xpath = xml_element.elements['itemPublishDateXPath'].text
|
52
|
+
end
|
53
|
+
if xml_element.elements['itemUniqueIdentifierXPath'] != nil
|
54
|
+
self.item_unique_identifier_xpath = xml_element.elements['itemUniqueIdentifierXPath'].text
|
55
|
+
end
|
56
|
+
if xml_element.elements['itemContentFileSizeXPath'] != nil
|
57
|
+
self.item_content_file_size_xpath = xml_element.elements['itemContentFileSizeXPath'].text
|
58
|
+
end
|
59
|
+
if xml_element.elements['itemContentUrlXPath'] != nil
|
60
|
+
self.item_content_url_xpath = xml_element.elements['itemContentUrlXPath'].text
|
61
|
+
end
|
62
|
+
if xml_element.elements['itemContentBitrateXPath'] != nil
|
63
|
+
self.item_content_bitrate_xpath = xml_element.elements['itemContentBitrateXPath'].text
|
64
|
+
end
|
65
|
+
if xml_element.elements['itemHashXPath'] != nil
|
66
|
+
self.item_hash_xpath = xml_element.elements['itemHashXPath'].text
|
67
|
+
end
|
68
|
+
if xml_element.elements['itemContentXpath'] != nil
|
69
|
+
self.item_content_xpath = xml_element.elements['itemContentXpath'].text
|
70
|
+
end
|
71
|
+
if xml_element.elements['contentBitrateAttributeName'] != nil
|
72
|
+
self.content_bitrate_attribute_name = xml_element.elements['contentBitrateAttributeName'].text
|
73
|
+
end
|
56
74
|
end
|
57
75
|
|
58
76
|
end
|
@@ -67,25 +85,31 @@ module Kaltura
|
|
67
85
|
|
68
86
|
def from_xml(xml_element)
|
69
87
|
super
|
70
|
-
|
71
|
-
|
88
|
+
if xml_element.elements['itemHandlingLimit'] != nil
|
89
|
+
self.item_handling_limit = xml_element.elements['itemHandlingLimit'].text
|
90
|
+
end
|
91
|
+
if xml_element.elements['feedItemInfo'] != nil
|
92
|
+
self.feed_item_info = KalturaClientBase.object_from_xml(xml_element.elements['feedItemInfo'], 'KalturaFeedItemInfo')
|
93
|
+
end
|
72
94
|
end
|
73
95
|
|
74
96
|
end
|
75
97
|
|
76
98
|
class KalturaFeedDropFolderFile < KalturaDropFolderFile
|
77
99
|
# MD5 or Sha1 encrypted string
|
78
|
-
#
|
79
100
|
attr_accessor :hash
|
80
101
|
# Path of the original Feed content XML
|
81
|
-
#
|
82
102
|
attr_accessor :feed_xml_path
|
83
103
|
|
84
104
|
|
85
105
|
def from_xml(xml_element)
|
86
106
|
super
|
87
|
-
|
88
|
-
|
107
|
+
if xml_element.elements['hash'] != nil
|
108
|
+
self.hash = xml_element.elements['hash'].text
|
109
|
+
end
|
110
|
+
if xml_element.elements['feedXmlPath'] != nil
|
111
|
+
self.feed_xml_path = xml_element.elements['feedXmlPath'].text
|
112
|
+
end
|
89
113
|
end
|
90
114
|
|
91
115
|
end
|