001package Torello.Browser.BrowserAPI;
002
003// *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
004// Java-HTML Imports
005// *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
006
007import Torello.Browser.*;
008import Torello.Browser.helper.*;
009import Torello.Browser.JavaScriptAPI.*;
010import Torello.JSON.*;
011
012import Torello.Java.ReadOnly.ReadOnlyList;
013import Torello.Java.ReadOnly.ReadOnlyArrayList;
014
015import Torello.JavaDoc.Annotations.StaticFunctional;
016import Torello.JavaDoc.Annotations.JDHeaderBackgroundImg;
017
018
019// *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
020// JDK Imports
021// *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
022
023import javax.json.JsonObject;
024import javax.json.JsonValue;
025
026/**
027 * <SPAN CLASS=COPIEDJDK><B>This domain allows detailed inspection of media elements</B></SPAN>
028 * <EMBED CLASS='external-html' DATA-FILE-ID=CDP.CODE_GEN_NOTE>
029 */
030@StaticFunctional@JDHeaderBackgroundImg(EmbedTagFileID="CDP.WOOD_PLANK_NOTE")
031public class Media
032{
033    // No Pubic Constructors
034    private Media() { }
035
036
037    // ********************************************************************************************
038    // ********************************************************************************************
039    // Eliminated Types
040    // ********************************************************************************************
041    // ********************************************************************************************
042
043
044    /**
045     * Players will get an ID that is unique within the agent context.
046
047     * <EMBED CLASS='external-html' DATA-CTAS='String' DATA-FILE-ID=CDP.EliminatedType
048     *     DATA-NAME=PlayerId>
049     */
050    public static final String PlayerId =
051        "PlayerId has been eliminated.\n" +
052        "It was replaced with the standard Java-Type: String";
053
054    /**
055     * <CODE>[No Description Provided by Google]</CODE>
056
057     * <EMBED CLASS='external-html' DATA-CTAS='Number' DATA-FILE-ID=CDP.EliminatedType
058     *     DATA-NAME=Timestamp>
059     */
060    public static final String Timestamp =
061        "Timestamp has been eliminated.\n" +
062        "It was replaced with the standard Java-Type: Number";
063
064
065
066    // ********************************************************************************************
067    // ********************************************************************************************
068    // Basic Types
069    // ********************************************************************************************
070    // ********************************************************************************************
071
072
073    /**
074     * Corresponds to kMediaError
075     * 
076     * <EMBED CLASS=globalDefs DATA-DOMAIN=Media DATA-API=BrowserAPI>
077     */
078    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
079    public static class PlayerError
080        extends BaseType<PlayerError>
081        implements java.io.Serializable
082    {
083        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
084        protected static final long serialVersionUID = 1;
085
086        private static final NestedHelper<Media.PlayerError> singleton =
087            Torello.Browser.BrowserAPI.NestedHelpers.Types.
088                Media$$PlayerError$$.singleton;
089
090        /** <CODE>[No Description Provided by Google]</CODE> */
091        public final String errorType;
092
093        /**
094         * Code is the numeric enum entry for a specific set of error codes, such
095         * as PipelineStatusCodes in media/base/pipeline_status.h
096         */
097        public final int code;
098
099        /** A trace of where this error was caused / where it passed through. */
100        public final Media.PlayerErrorSourceLocation[] stack;
101
102        /**
103         * Errors potentially have a root cause error, ie, a DecoderError might be
104         * caused by an WindowsError
105         */
106        public final Media.PlayerError[] cause;
107
108        /** Extra data attached to an error, such as an HRESULT, Video Codec, etc. */
109        public final JsonValue data;
110
111        /** Constructor.  Please review this class' fields for documentation. */
112        public PlayerError(
113                ReadOnlyList<Boolean> isPresent, String errorType, int code,
114                PlayerErrorSourceLocation[] stack, PlayerError[] cause, JsonValue data
115            )
116        {
117            super(singleton, Domains.Media, "PlayerError", 5);
118
119            this.errorType  = errorType;
120            this.code       = code;
121            this.stack      = stack;
122            this.cause      = cause;
123            this.data       = data;
124
125            this.isPresent = (isPresent == null)
126                ? singleton.generateIsPresentList(this)
127                : THROWS.check(isPresent, 5, "Media.PlayerError");
128        }
129
130        /** Creates an instance of this class from a {@link JsonObject}.*/
131        public static PlayerError fromJSON(JsonObject jo)
132        { return singleton.fromJSON(jo); }
133
134        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
135        public static NestedDescriptor<PlayerError> descriptor()
136        { return singleton.descriptor(); }
137    }
138
139    /**
140     * Represents logged source line numbers reported in an error.
141     * NOTE: file and line are from chromium c++ implementation code, not js.
142     * 
143     * <EMBED CLASS=globalDefs DATA-DOMAIN=Media DATA-API=BrowserAPI>
144     */
145    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
146    public static class PlayerErrorSourceLocation
147        extends BaseType<PlayerErrorSourceLocation>
148        implements java.io.Serializable
149    {
150        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
151        protected static final long serialVersionUID = 1;
152
153        private static final NestedHelper<Media.PlayerErrorSourceLocation> singleton =
154            Torello.Browser.BrowserAPI.NestedHelpers.Types.
155                Media$$PlayerErrorSourceLocation$$.singleton;
156
157        /** <CODE>[No Description Provided by Google]</CODE> */
158        public final String file;
159
160        /** <CODE>[No Description Provided by Google]</CODE> */
161        public final int line;
162
163        /** Constructor.  Please review this class' fields for documentation. */
164        public PlayerErrorSourceLocation(ReadOnlyList<Boolean> isPresent, String file, int line)
165        {
166            super(singleton, Domains.Media, "PlayerErrorSourceLocation", 2);
167
168            this.file = file;
169            this.line = line;
170
171            this.isPresent = (isPresent == null)
172                ? singleton.generateIsPresentList(this)
173                : THROWS.check(isPresent, 2, "Media.PlayerErrorSourceLocation");
174        }
175
176        /** Creates an instance of this class from a {@link JsonObject}.*/
177        public static PlayerErrorSourceLocation fromJSON(JsonObject jo)
178        { return singleton.fromJSON(jo); }
179
180        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
181        public static NestedDescriptor<PlayerErrorSourceLocation> descriptor()
182        { return singleton.descriptor(); }
183    }
184
185    /**
186     * Corresponds to kMediaEventTriggered
187     * 
188     * <EMBED CLASS=globalDefs DATA-DOMAIN=Media DATA-API=BrowserAPI>
189     */
190    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
191    public static class PlayerEvent
192        extends BaseType<PlayerEvent>
193        implements java.io.Serializable
194    {
195        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
196        protected static final long serialVersionUID = 1;
197
198        private static final NestedHelper<Media.PlayerEvent> singleton =
199            Torello.Browser.BrowserAPI.NestedHelpers.Types.
200                Media$$PlayerEvent$$.singleton;
201
202        /** <CODE>[No Description Provided by Google]</CODE> */
203        public final Number timestamp;
204
205        /** <CODE>[No Description Provided by Google]</CODE> */
206        public final String value;
207
208        /** Constructor.  Please review this class' fields for documentation. */
209        public PlayerEvent(ReadOnlyList<Boolean> isPresent, Number timestamp, String value)
210        {
211            super(singleton, Domains.Media, "PlayerEvent", 2);
212
213            this.timestamp  = timestamp;
214            this.value      = value;
215
216            this.isPresent = (isPresent == null)
217                ? singleton.generateIsPresentList(this)
218                : THROWS.check(isPresent, 2, "Media.PlayerEvent");
219        }
220
221        /** Creates an instance of this class from a {@link JsonObject}.*/
222        public static PlayerEvent fromJSON(JsonObject jo)
223        { return singleton.fromJSON(jo); }
224
225        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
226        public static NestedDescriptor<PlayerEvent> descriptor()
227        { return singleton.descriptor(); }
228    }
229
230    /**
231     * Have one type per entry in MediaLogRecord::Type
232     * Corresponds to kMessage
233     * 
234     * <EMBED CLASS=globalDefs DATA-DOMAIN=Media DATA-API=BrowserAPI>
235     */
236    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
237    public static class PlayerMessage
238        extends BaseType<PlayerMessage>
239        implements java.io.Serializable
240    {
241        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
242        protected static final long serialVersionUID = 1;
243
244        private static final NestedHelper<Media.PlayerMessage> singleton =
245            Torello.Browser.BrowserAPI.NestedHelpers.Types.
246                Media$$PlayerMessage$$.singleton;
247
248        /**
249         * Keep in sync with MediaLogMessageLevel
250         * We are currently keeping the message level 'error' separate from the
251         * PlayerError type because right now they represent different things,
252         * this one being a DVLOG(ERROR) style log message that gets printed
253         * based on what log level is selected in the UI, and the other is a
254         * representation of a media::PipelineStatus object. Soon however we're
255         * going to be moving away from using PipelineStatus for errors and
256         * introducing a new error type which should hopefully let us integrate
257         * the error log level into the PlayerError type.
258         * <EMBED CLASS='external-html' DATA-D=Media DATA-C=PlayerMessage DATA-F=level DATA-FILE-ID=CDP.EL1>
259         * @see BaseType#enumStrList(String)
260         */
261        public final String level;
262
263        /** <CODE>[No Description Provided by Google]</CODE> */
264        public final String message;
265
266        /** Constructor.  Please review this class' fields for documentation. */
267        public PlayerMessage(ReadOnlyList<Boolean> isPresent, String level, String message)
268        {
269            super(singleton, Domains.Media, "PlayerMessage", 2);
270
271            this.level      = level;
272            this.message    = message;
273
274            this.isPresent = (isPresent == null)
275                ? singleton.generateIsPresentList(this)
276                : THROWS.check(isPresent, 2, "Media.PlayerMessage");
277        }
278
279        /** Creates an instance of this class from a {@link JsonObject}.*/
280        public static PlayerMessage fromJSON(JsonObject jo)
281        { return singleton.fromJSON(jo); }
282
283        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
284        public static NestedDescriptor<PlayerMessage> descriptor()
285        { return singleton.descriptor(); }
286    }
287
288    /**
289     * Corresponds to kMediaPropertyChange
290     * 
291     * <EMBED CLASS=globalDefs DATA-DOMAIN=Media DATA-API=BrowserAPI>
292     */
293    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_TYPE_JDHBI")
294    public static class PlayerProperty
295        extends BaseType<PlayerProperty>
296        implements java.io.Serializable
297    {
298        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
299        protected static final long serialVersionUID = 1;
300
301        private static final NestedHelper<Media.PlayerProperty> singleton =
302            Torello.Browser.BrowserAPI.NestedHelpers.Types.
303                Media$$PlayerProperty$$.singleton;
304
305        /** <CODE>[No Description Provided by Google]</CODE> */
306        public final String name;
307
308        /** <CODE>[No Description Provided by Google]</CODE> */
309        public final String value;
310
311        /** Constructor.  Please review this class' fields for documentation. */
312        public PlayerProperty(ReadOnlyList<Boolean> isPresent, String name, String value)
313        {
314            super(singleton, Domains.Media, "PlayerProperty", 2);
315
316            this.name   = name;
317            this.value  = value;
318
319            this.isPresent = (isPresent == null)
320                ? singleton.generateIsPresentList(this)
321                : THROWS.check(isPresent, 2, "Media.PlayerProperty");
322        }
323
324        /** Creates an instance of this class from a {@link JsonObject}.*/
325        public static PlayerProperty fromJSON(JsonObject jo)
326        { return singleton.fromJSON(jo); }
327
328        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
329        public static NestedDescriptor<PlayerProperty> descriptor()
330        { return singleton.descriptor(); }
331    }
332
333
334    // ********************************************************************************************
335    // ********************************************************************************************
336    // Event Types
337    // ********************************************************************************************
338    // ********************************************************************************************
339
340
341    /**
342     * Send a list of any errors that need to be delivered.
343     * 
344     * <EMBED CLASS=globalDefs DATA-DOMAIN=Media DATA-API=BrowserAPI>
345     */
346    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
347    public static class playerErrorsRaised
348        extends BrowserEvent<playerErrorsRaised>
349        implements java.io.Serializable
350    {
351        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
352        protected static final long serialVersionUID = 1;
353
354        private static final NestedHelper<Media.playerErrorsRaised> singleton =
355            Torello.Browser.BrowserAPI.NestedHelpers.Events.
356                Media$$playerErrorsRaised$$.singleton;
357
358        /** <CODE>[No Description Provided by Google]</CODE> */
359        public final String playerId;
360
361        /** <CODE>[No Description Provided by Google]</CODE> */
362        public final Media.PlayerError[] errors;
363
364        /** Constructor.  Please review this class' fields for documentation. */
365        public playerErrorsRaised
366            (ReadOnlyList<Boolean> isPresent, String playerId, PlayerError[] errors)
367        {
368            super(singleton, Domains.Media, "playerErrorsRaised", 2);
369
370            this.playerId   = playerId;
371            this.errors     = errors;
372
373            this.isPresent = (isPresent == null)
374                ? singleton.generateIsPresentList(this)
375                : THROWS.check(isPresent, 2, "Media.playerErrorsRaised");
376        }
377
378        /** Creates an instance of this class from a {@link JsonObject}.*/
379        public static playerErrorsRaised fromJSON(JsonObject jo)
380        { return singleton.fromJSON(jo); }
381
382        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
383        public static NestedDescriptor<playerErrorsRaised> descriptor()
384        { return singleton.descriptor(); }
385    }
386
387    /**
388     * Send events as a list, allowing them to be batched on the browser for less
389     * congestion. If batched, events must ALWAYS be in chronological order.
390     * 
391     * <EMBED CLASS=globalDefs DATA-DOMAIN=Media DATA-API=BrowserAPI>
392     */
393    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
394    public static class playerEventsAdded
395        extends BrowserEvent<playerEventsAdded>
396        implements java.io.Serializable
397    {
398        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
399        protected static final long serialVersionUID = 1;
400
401        private static final NestedHelper<Media.playerEventsAdded> singleton =
402            Torello.Browser.BrowserAPI.NestedHelpers.Events.
403                Media$$playerEventsAdded$$.singleton;
404
405        /** <CODE>[No Description Provided by Google]</CODE> */
406        public final String playerId;
407
408        /** <CODE>[No Description Provided by Google]</CODE> */
409        public final Media.PlayerEvent[] events;
410
411        /** Constructor.  Please review this class' fields for documentation. */
412        public playerEventsAdded
413            (ReadOnlyList<Boolean> isPresent, String playerId, PlayerEvent[] events)
414        {
415            super(singleton, Domains.Media, "playerEventsAdded", 2);
416
417            this.playerId   = playerId;
418            this.events     = events;
419
420            this.isPresent = (isPresent == null)
421                ? singleton.generateIsPresentList(this)
422                : THROWS.check(isPresent, 2, "Media.playerEventsAdded");
423        }
424
425        /** Creates an instance of this class from a {@link JsonObject}.*/
426        public static playerEventsAdded fromJSON(JsonObject jo)
427        { return singleton.fromJSON(jo); }
428
429        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
430        public static NestedDescriptor<playerEventsAdded> descriptor()
431        { return singleton.descriptor(); }
432    }
433
434    /**
435     * Send a list of any messages that need to be delivered.
436     * 
437     * <EMBED CLASS=globalDefs DATA-DOMAIN=Media DATA-API=BrowserAPI>
438     */
439    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
440    public static class playerMessagesLogged
441        extends BrowserEvent<playerMessagesLogged>
442        implements java.io.Serializable
443    {
444        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
445        protected static final long serialVersionUID = 1;
446
447        private static final NestedHelper<Media.playerMessagesLogged> singleton =
448            Torello.Browser.BrowserAPI.NestedHelpers.Events.
449                Media$$playerMessagesLogged$$.singleton;
450
451        /** <CODE>[No Description Provided by Google]</CODE> */
452        public final String playerId;
453
454        /** <CODE>[No Description Provided by Google]</CODE> */
455        public final Media.PlayerMessage[] messages;
456
457        /** Constructor.  Please review this class' fields for documentation. */
458        public playerMessagesLogged
459            (ReadOnlyList<Boolean> isPresent, String playerId, PlayerMessage[] messages)
460        {
461            super(singleton, Domains.Media, "playerMessagesLogged", 2);
462
463            this.playerId = playerId;
464            this.messages = messages;
465
466            this.isPresent = (isPresent == null)
467                ? singleton.generateIsPresentList(this)
468                : THROWS.check(isPresent, 2, "Media.playerMessagesLogged");
469        }
470
471        /** Creates an instance of this class from a {@link JsonObject}.*/
472        public static playerMessagesLogged fromJSON(JsonObject jo)
473        { return singleton.fromJSON(jo); }
474
475        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
476        public static NestedDescriptor<playerMessagesLogged> descriptor()
477        { return singleton.descriptor(); }
478    }
479
480    /**
481     * This can be called multiple times, and can be used to set / override /
482     * remove player properties. A null propValue indicates removal.
483     * 
484     * <EMBED CLASS=globalDefs DATA-DOMAIN=Media DATA-API=BrowserAPI>
485     */
486    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
487    public static class playerPropertiesChanged
488        extends BrowserEvent<playerPropertiesChanged>
489        implements java.io.Serializable
490    {
491        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
492        protected static final long serialVersionUID = 1;
493
494        private static final NestedHelper<Media.playerPropertiesChanged> singleton =
495            Torello.Browser.BrowserAPI.NestedHelpers.Events.
496                Media$$playerPropertiesChanged$$.singleton;
497
498        /** <CODE>[No Description Provided by Google]</CODE> */
499        public final String playerId;
500
501        /** <CODE>[No Description Provided by Google]</CODE> */
502        public final Media.PlayerProperty[] properties;
503
504        /** Constructor.  Please review this class' fields for documentation. */
505        public playerPropertiesChanged
506            (ReadOnlyList<Boolean> isPresent, String playerId, PlayerProperty[] properties)
507        {
508            super(singleton, Domains.Media, "playerPropertiesChanged", 2);
509
510            this.playerId   = playerId;
511            this.properties = properties;
512
513            this.isPresent = (isPresent == null)
514                ? singleton.generateIsPresentList(this)
515                : THROWS.check(isPresent, 2, "Media.playerPropertiesChanged");
516        }
517
518        /** Creates an instance of this class from a {@link JsonObject}.*/
519        public static playerPropertiesChanged fromJSON(JsonObject jo)
520        { return singleton.fromJSON(jo); }
521
522        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
523        public static NestedDescriptor<playerPropertiesChanged> descriptor()
524        { return singleton.descriptor(); }
525    }
526
527    /**
528     * Called whenever a player is created, or when a new agent joins and receives
529     * a list of active players. If an agent is restored, it will receive the full
530     * list of player ids and all events again.
531     * 
532     * <EMBED CLASS=globalDefs DATA-DOMAIN=Media DATA-API=BrowserAPI>
533     */
534    @JDHeaderBackgroundImg(EmbedTagFileID="CDP.NESTED_EVENT_JDHBI")
535    public static class playersCreated
536        extends BrowserEvent<playersCreated>
537        implements java.io.Serializable
538    {
539        /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
540        protected static final long serialVersionUID = 1;
541
542        private static final NestedHelper<Media.playersCreated> singleton =
543            Torello.Browser.BrowserAPI.NestedHelpers.Events.
544                Media$$playersCreated$$.singleton;
545
546        /** <CODE>[No Description Provided by Google]</CODE> */
547        public final String[] players;
548
549        /** Constructor.  Please review this class' fields for documentation. */
550        public playersCreated(ReadOnlyList<Boolean> isPresent, String[] players)
551        {
552            super(singleton, Domains.Media, "playersCreated", 1);
553
554            this.players = players;
555
556            this.isPresent = (isPresent == null)
557                ? singleton.generateIsPresentList(this)
558                : THROWS.check(isPresent, 1, "Media.playersCreated");
559        }
560
561        /** Creates an instance of this class from a {@link JsonObject}.*/
562        public static playersCreated fromJSON(JsonObject jo)
563        { return singleton.fromJSON(jo); }
564
565        /** Returns this class's {@link NestedDescriptor} singleton-instance. class / type.*/
566        public static NestedDescriptor<playersCreated> descriptor()
567        { return singleton.descriptor(); }
568    }
569
570
571
572
573    // ********************************************************************************************
574    // ********************************************************************************************
575    // Commands
576    // ********************************************************************************************
577    // ********************************************************************************************
578
579
580    /**
581     * Disables the Media domain.
582     * 
583     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
584     *
585     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
586     * browser receives the invocation-request.
587     *
588     * <BR /><BR /><DIV CLASS=JDHint>
589     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
590     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
591     * the Browser Function has run to completion.
592     * </DIV>
593     */
594    public static Script<Void> disable()
595    {
596        // Ultra-Simple Request JSON - Because this method has no parameters
597        final String requestJSON = "{\"method\":\"Media.disable\"}";
598
599        return Script.NO_RET(Domains.Media, "disable", requestJSON);
600    }
601
602    /**
603     * Enables the Media domain
604     * 
605     * @return An instance of <CODE>{@link Script}&lt;Void&gt;</CODE>
606     *
607     * <BR /><BR />This {@code Script} instance must be <B STYLE='color:red'>executed</B> before the
608     * browser receives the invocation-request.
609     *
610     * <BR /><BR /><DIV CLASS=JDHint>
611     * This Browser-Function <I>does not have</I> a return-value.  You may choose to
612     * <B STYLE='color: red'>await</B> the {@link Promise}{@code <Void>} to ensure that
613     * the Browser Function has run to completion.
614     * </DIV>
615     */
616    public static Script<Void> enable()
617    {
618        // Ultra-Simple Request JSON - Because this method has no parameters
619        final String requestJSON = "{\"method\":\"Media.enable\"}";
620
621        return Script.NO_RET(Domains.Media, "enable", requestJSON);
622    }
623
624
625}