Player APIs (BrightScript & Ja...
...
Object Reference
Presentation and Widget Object...
roVideoMode
57min
this object allows you to configure resolution and other video output settings the same video resolution is applied to all video outputs on a brightsign player video or images that are subsequently decoded and displayed will be scaled (using the hardware scalar) to this output resolution if necessary the javascript equivalent is videomodeconfiguration docid\ uupzxkyflbsolyh8olces (see the "rovideomode" section of the brightscript javascript migration guide docid 2kewwxlmpycwu8tffuf2z for the equivalent methods) object creation the rovideomode object is created with no parameters createobject("rovideomode") the rovideomode object generates rohdmiinputchanged and rohdmioutputchanged event objects whenever the hotplug status of the hdmi® input or output changes ifvideomode getscreenmodes() returns a roarray which contains a roassociativearray describing each available output on your player hardware and how those outputs are configured this method has been implemented as of bos 9 0 15 when calling getscreenmodes(), confirm that the hdmi array positions are valid so you don't accidentally use an undefined array for example, if you call getscreenmodes() on a four output player that only has one connected display, you won't get a valid return on the other outputs the members are name on the xc platform, the possible values are hdmi 1, hdmi 2, hdmi 3, or hdmi 4 the number of array items depend on the number of outputs the xc2055 has two outputs, hdmi 1 and hdmi 2 the xc4055 has four outputs, hdmi 1, hdmi 2, hdmi 3, and hdmi 4 the name tells the system which output is associated with the rest of the settings in that entry within the roassociativearray (the order of the hdmi outputs is not important) video mode the videomode can be either a known brightsign format videomode (for example, 1920x1080x60p) a full modeline as described in apply a custom resolution docid 58vplqm4sgh vgqvs4frs auto which differs slightly from previous platforms auto isn’t recommended when using multiple outputs because the canvas positions are fixed and so if a screen uses an unexpected resolution then it won’t be positioned correctly in the canvas display x and display y the position of the screen within the overall canvas the origin (0,0) is the top left corner, and each screen can be positioned relative to it this allows gaps to be left on the canvas between screens for bezel compensation transform one of normal, 90, 180 or 270 rotation each screen can be rotated independently when a screen is rotated, it rotates all of the content including video if a single screen is set to 1920x1080x60p and 90 then the screen is running in portrait mode and all of the firmware will run as if the screen is set to 1080x1920x60p with video and graphics all rotated enabled whether the screen is enabled for output to turn an output to off, set enabled = false no other fields need to be set if you do not want to change the existing screen settings, do not enter a value for those settings setscreenmodes (screenconfiglist configs) takes the same format as argument that getscreenmodes() returns by default a single screen is enabled the player uses full resolution graphics if any of the videomodes configured using setscreenmodes use the \ fullres modifier brightauthor\ connected always sets \ fullres on all of the videomodes for the xc5 see rovideomode docid\ qq734nqz0hcwni0unsdmp to understand how the x/y display coordinates works with output resolution calling setscreenmodes() to change the screen hdmi configuration will cause the player to reboot when it makes that change this method has been implemented as of bos 9 0 and later to configure two screens, enter vm = createobject("rovideomode") sm = vm getscreenmodes() sm\[0] video mode="1920x1080x60p" sm\[0] transform = "normal" sm\[0] display x=0 sm\[0] display y=0 sm\[0] enabled = true sm\[1] video mode="1920x1080x60p" sm\[1] transform = "normal" sm\[1] display x=0 sm\[1] display y=1080 sm\[1] enabled = true vm setscreenmodes(sm) to configure a 1x2 video wall with bezel compensation, enter vm = createobject("rovideomode") sm = vm getscreenmodes() sm\[0] video mode="1920x1080x60p" sm\[0] transform = "normal" sm\[0] display x=0 sm\[0] display y=0 sm\[0] enabled=true sm\[1] video mode="1920x1080x60p" sm\[1] transform = "normal" sm\[1] display x=0 sm\[1] display y=1100 ' bezel compensation of 20 pixels sm\[1] enabled=true sm\[2] enabled=false sm\[3] enabled=false vm setscreenmodes(sm) in this case the resulting canvas will be 1920x2180, and full screen video and graphics will display across all outputs to calculate the size of a screen bezel in pixels from millimeters, you must multiply the screen width/height in pixels by the bezel size in millimeters, then divide by the screen width/height in millimeters you can add this bezel area to the wall width and height to get the total bezel adjusted resolution getperformancemetrics this method returns the last, peak, and average measured gpu values setmode(mode as string) as boolean sets the video output mode see video modes docid\ qpml112mbhek7lbdguxnv for a list of supported video modes calling this method causes the application to restart if the specified video mode is different from the current video mode this method also accepts rovideomode docid\ qq734nqz0hcwni0unsdmp as a mode parameter, or "custom" which will use the mode configured using setcustommodeline the following optional parameters can be appended to the string \<resolution> \<color space> \<depth>bit sets the 4k video quality docid\ iqn3si7i3otm20ccgrpox for hdmi output brightsign supports the following color space modifiers 420 (4 2 0 yuv) 422 (4 2 2 yuv, only for 12 bit and only for 4k modes) 444 (4 4 4 yuv) rgb (rgb, always implicitly 4 4 4) for example, to output 4kp60 at the 420 (4 2 0 yuv) color space with 10 bits of depth, you would pass the following string "3840x2160x60p 420 10bit" \<resolution>\ preferred enables the preferred video mode setting this instructs the player to only use the video mode if the display edid indicates that it is supported otherwise, the output will default to "auto" mode if no edid is detected at bootup, the player will output the preferred video mode if an hdmi hotplug event occurs afterward, then the player will perform the preferred video mode check again the \ preferred flag currently ignores video profile settings (i e color space and bit depth) \<resolution>\ fullres enables full resolution graphics this instructs the player to match the graphics plane to the video mode; otherwise, video modes larger than 1920x1200 upscale the graphics plane to match the video output see full resolution graphics docid\ tjnw230kcx6i9tnihfcvd for more details and a list of supported modes/models if the fullres mode is used with graphics intensive html applications, we recommend enabling the gfxmemlarge setting as well \<resolution>\ gfxmemlarge enables the large graphics memory configuration for xtx44 and xtx43 models (at the expense of general purpose memory) this setting requires a reboot to take effect \<resolution>\ gfxmemdefault resets the graphics memory configuration to default this setting requires a reboot to take effect \<resolution>\ dbv enables dolby vision on video output (xtx44 only) only one video decoder is available when dolby vision is enabled \<resolution>\ rgb \<range> sets the color space to rgb the optional \<range> parameter can be one of the following values auto the default setting over hdmi, the player will output rgb full for vesa modes and rgb limited for tv modes over dvi, the player will output rgb full for all modes fullrange the rgb full (0 255) setting limitedrange the rgb limited (16 235) setting/ brightsign hardware has a video anti aliasing low pass filter that is set automatically setcustommodeline(rostring modeline) as robool sets the custom videomode with the supplied modeline (see apply a custom resolution docid 58vplqm4sgh vgqvs4frs ) the custom videomode can then be selected using setmode getmodefornextboot() as string returns the target video mode of the device the next time it reboots the return value is specified with the setmodefornextboot() method getbestmode(connector as string) as string returns the highest video modes docid\ qpml112mbhek7lbdguxnv for this player that can be supported by the display via edid the video connector can be specified as "hdmi" or "vga" (these values are case sensitive) if the display does not return a resolution value over edid (or if no display is connected), this method returns a blank string getmode() as string returns the current video mode of the device, which is specified using the setmode() method getfailurereason() as string returns additional information when a member function returns false getavailablemodes() as array returns all video modes supported by the player as an array of of entries each entry is an associative array with the following values in 4k modes, the graphics plane may be smaller than the video plane and output in these cases, the graphics plane to match the video plane/output videomode string string a description of the video mode (a full list of modes can be found on video modes docid\ qpml112mbhek7lbdguxnv ) width int int the width of the video output height int int the height of the video output graphicsplanewidth int int the width of the graphics plane graphicsplaneheight int int the height of the graphics plane framerate int int the frame rate of the video output interlaced boolean boolean a flag indicating whether the video output is interlaced ( true ) or progressive ( false ) overscan boolean boolean a flag indicating whether the video output is using an overscan setting or not colorspace string string the color space of the video signal ("rgb", "yuv420", or "yuv422") colordepth string string the color depth of the video signal ("8bit", "10bit", or "12bit") dropframe boolean boolean a flag indicating whether the video timecode utilizes drop frames preferred boolean boolean a flag indicating whether the video mode is the preferred mode, which is configured using the setmode() method getactivemode() as associativearray returns information about the current video mode as an associative array videomode string string the current video mode (e g "3840x2160x60p") colordepth string string the current color depth ("8bit", "10bit", or "12bit") colorspace string string the current color space ("rgb", "yuv420", or "yuv422") preferred string string a "true" or "false" string indicating whether the current video mode is the preferred mode, which is set using the setmode() method getconfiguredmode() as associativearray returns information about the video mode configured using the setmode() method this method returns an roassociativearray ; see the rovideomode docid\ qq734nqz0hcwni0unsdmp entry for more details about returned values if the video mode is set to "auto" , this method will return invalid getfps() as integer returns the current framerate of the video output setdecodermode(decoder as string, timeslice mode as string, z order as integer, friendly name as string, enable mosaic deinterlacer as boolean) as boolean configures a video decoder for either standard mode or mosaic mode in standard mode, a single decoder is used to play a single video; in mosaic mode, the decoder can be used to decode multiple videos from different local or remote sources see the rovideomode docid\ qq734nqz0hcwni0unsdmp section below for more information on assigning video players to decoders in html or brightscript series 5 players don’t need mosaic mode to decode multiple videos if the videos have a low pixel count and do not contain more total pixels than the series 5 video pipeline can process decoder the video decoder to be used (decoder availability differs by model) "4k" the primary 4k decoder (xtx44 models only) "4k2" the secondary 4k decoder (xtx44 models only) "4k" the sole 4k decoder (hdx24, xtx43, 4kx42, xdx34, xdx33 and hdx24 models only) "hd1" the primary hd decoder "hd2" the secondary hd decoder timeslice mode the maximum resolution that the decoder will accept (at framerates up to 60p) if this resolution is the same as the decoder's maximum resolution limit, the decoder will use standard mode, not mosaic mode "4k" 3840x2160 "hd" 1920x1080 "sd" 720x576 "cif" 352x288 "qcif" 176x144 upscaling videos in mosaic mode currently causes severe performance degradation z order the z order of the video window (in standard mode) or group of video windows (in mosaic mode) a positive integer positions the video window(s) in front of the graphics plane, while a negative integer positions the video(s) behind the graphics plane if there are two video decoders in use, the video window(s) of the decoder with the higher z order value will be positioned in front the graphics plane z order can be modified with the rovideomode setgraphicszorder() method, and the video decoder z order can be modified with the rovideoplayer tofront()/toback() methods friendly name a human readable name for referencing the decoder in html and scripts enable mosaic deinterlacer a boolean value indicating whether mosaic mode videos can be interlaced or not enabling the deinterlacer will allow playback of interlaced videos in mosaic mode, but will reduce the number of mosaic mode videos that can be decoded simultaneously as well getdecodermodes() as roarray returns an array of associative arrays, each one corresponding to a single decoder each associative array contains the following entries decoder name string string the system name of the decoder friendly name string string the name of the decoder as specified when calling setdecodermode() max decode size string string the maximum resolution of the decoder, as set by system software this value can be either "4k" or "hd" configured decode size string string the maximum resolution of the decoder that is specified when calling setdecodermode() mode string string the current mode of the decoder, which can be either "regular" or "mosaic" usage count int int the number of videos currently being decoded by the decoder max usage int int the maximum number of videos that can be decoded simultaneously by the decoder the optimum max usage limits are described below; the limit may be lower depending on a number of factors, including interlacing and frame rate 4k decoder 1 4k video 2 hd videos 4 sd videos 8 cif videos 10 qcif videos hd decoder 0 4k videos 1 hd video 3 sd videos 4 cif videos 5 qcif videos mosaic mode interlace string string the current deinterlacing mode of the decoder, which can be either "enabled" or "disabled" this value is specified when calling setdecodermode() set3dmode(mode as integer) as boolean sets the 3d video output mode, which is specified by passing one the following parameters 0 standard mono video (default) 1 side by side stereo video 2 top and bottom stereo video screenshot(parameters as roassociativearray) as boolean captures a screenshot of the video and graphics layer as a jpeg or bmp file the screenshot is configured by passing an associative array of parameters to the method filename string string the name and path of the image file that will be saved (e g "sd /myscreenshots/screen jpg") if the specified directory does not exist, the screenshot will fail width int int the width of the image file height int int the height of the image file the default dimensions of the image file is 640x480 filetype string string a string determining whether the image is a "jpeg" or "bmp" file type note that the file extension (" jpg" or " bmp") is not appended to the filename by default and, if needed, should be included in the filename string quality int int the image quality value (between 0 and 100) of the screenshot this parameter is set to 50 by default async int int a flag that determines whether the screenshot should be taken synchronously or asynchronously if set to 0, the function returns true after the image file has successfully finished writing if set to 1, the function will return true prior to saving the file, then return an roscreenshotcomplete event once the file has finished writing rotation int int the rotation of the screenshot image (in degrees) the default value is 0 accepted values are 0, 90, 180, and 270 getresx() as integer returns the current width of the graphics plane getresy() as integer returns the current height of the graphics plane getvideoresx() as integer returns the current width of the video plane getvideoresy() as integer returns the current height of the video plane getoutputresx() as integer returns the width of the display for the current video mode getoutputresy() as integer returns the height of the display for the current video mode the coordinate system for content placement on screen is based on the graphics plane in most cases, the values returned by getresx()/getresy() , getvideoresx()/getvideoresy() , and getoutputresx()/getoutputresy() will be identical the "getres" and "getvideores" values will sometimes differ when using 4k modes if the graphics plane (i e "getres") remains at 1920x1080, while the video plane (i e "videores") expands (e g to 3840x2160) the "outputres" value will differ from the other two values when the video output is upscaled for example, when upscaling from hd to 4k, the "getres" and "getvideores" values will remain at 1920x1080, while the "outputres" values will indicate 3840x2160 to know where you are drawing on this relative scale, query the player for the size of the graph since it is not always the same size as the output resolution getsafex() as integer returns the horizontal coordinate for the upper left corner of the "safe area" for modes that are generally displayed with no overscan, this will be zero getsafey() as integer returns the vertical coordinate for the upper left corner of the "safe area" for modes that are generally displayed with no overscan, this will be zero getsafewidth() as integer returns the width of the "safe area " for modes that are generally displayed with no overscan, this will return the same as getresx getsafeheight() as integer returns the height of the "safe area " for modes that are generally displayed with no overscan, this will return the same as getresy more information about safe areas can be found here safe area http //en wikipedia org/wiki/safe area overscan http //en wikipedia org/wiki/overscan amounts setgraphicszorder(order as string) as boolean specifies the order of the graphics plane (which includes all graphical elements) in relation to the video plane(s) this method accepts three parameters "front" places the graphics plane in front of the video plane(s) "middle" places the graphics plane between two video planes this option is only applicable for models that have two video decoders (e g xtx44, xdx34) "back" places the graphics plane behind the video plane(s) if the player is rendering two videos, the front and back options will always place the graphics plane in front of or behind both video planes to determine the z order of video planes in relation to one another, use the tofront() and toback() methods provided by the rovideoplayer object the following table shows all possible video and graphics z order arraignments that can be specified using the setgraphicszorder() method and calling the tofront() and toback() methods on a "video1" rovideoplayer instance setgraphicszorder() front front middle middle back back tofront()/toback() tofront() toback() tofront() toback() tofront() toback() z order graphics graphics video1 video2 video1 video2 video1 video2 graphics graphics video2 video1 video2 video1 video2 video1 graphics graphics pausegraphics(timeout in ms as integer) as boolean suspends graphics compositor updates for the specified number of milliseconds (or until the resumegraphics() method is called), up to a maximum interval of 10 seconds while the graphics compositor is paused, no visual elements will be updated (except for html video docid\ e6ujleh69q0jmmv8kytrp , rotextwidget docid\ gqenktmmfazejdlzhttiz , and off screen chromium textures) use this method to combine show() , hide() , raise() , lower() , and setrectangle() operations into a single v sync update resumegraphics() as boolean resumes the graphics compositor if it has been paused with the pausegraphics() method setimagesizethreshold(parameters as roassociativearray) as boolean changes the maximum allowed size for images images sizes are measured in bytes using the following formula image width image height 4 the default image size limit is 35389440 bytes (equivelant to 3840x2160x32bpp) for xtx44, xtx43, xdx34, xdx33, and 4kx42 models and 2621440 bytes (equivelant to 2048x1280x32bpp) for other models displaying images larger than the default value may deplete the graphics memory and cause a crash, so we recommend testing a script that uses this method thoroughly before deploying it in a production environment this method accepts an associative array with the following parameters width int int the image width value height int int the image height value ignore int int a flag specifying whether the image size limit is enabled (0) or disabled (1) you can also increase the default maximum width/height by reducing the bpp value (e g using a 3840x1280x16bpp on non 4k capable players is allowed); however, this method is not applicable to html pages because chromium always decodes images to rgba 8888 adjustgraphicscolor(parameters as roassociativearray) as boolean adjusts the video and graphics output of the player using the following parameters, which can be passed to the method as an associative array "brightness", "hue", "contrast", "saturation" each parameter has a default value of 0 and can accept a range of values between 1000 and 1000 configurehdmiinput(parameters as roassociativearray) as boolean configures edid reporting for the hdmi input by default, the input edid includes video modes from the display attached to the hdmi output, some video modes supported by the player, and support for pcm audio up to 48khz; it does not report proprietary media codecs that can be decoded by the device connected to the hdmi output, so you can use this method to announce such support if available at the endpoint using this method to change the default configuration will trigger a reboot on the player the boolean return value from this method does not follow the usual conventions for brightscript methods instead, a return value of false means that either the supplied parameters were invalid and the method call has failed or that the parameters were accepted but no change was made to the hdmi configuration conceptually this method would return true to indicate that the hdmi configuration has changed but in practice the player always reboots in this situation so the script will never see a return value of true the caller can determine whether the operation did in fact succeed by inspecting the result of getlastfailurereason() the passed associative array can contain the following parameters maxhdcpversion int int the maximum supported version of hdcp advertised by the hdmi input the default value is 2, which indicates support for hdcp 2 2 it can also be set to 1, which limits advertised support to hdcp 1 4 maxsamplerate int int the maximum supported pcm audio sampling rate in hz (e g the default sampling rate is 48000) maxchannelcount int int the number of pcm channels that are advertised over edid the default value is 2, which allows for stereo mixdown increasing this value to 6 allows the source to send multichannel pcm if ac 3 or e ac 3 is enabled on the player, multichannel audio is supported regardless of the maxchannelcount setting enableac3 int int a flag specifying whether ac 3 is not supported (0) or supported (1) enableeac3 int int a flag specifying whether e ac 3 is not supported (0) or supported (1) enabletruehdmlp int int a flag specifying whether truehd mlp is not supported (0) or supported (1) enabledts int int a flag specifying whether dts is not supported (0) or supported (1) enabledtshd int int a flag specifying whether dts hd is not supported (0) or supported (1) lockaudiotovideoclock int int a flag specifying whether the audio sample rate clock is locked to the audio clock (0) or video clock (1) of the incoming hdmi signal edidfilename string string allows a valid edid filename to be passed to the hdmi input (if the filename is not valid, it will be rejected and an error will appear in the log) in the example below, the hdmi input will be configured with the edid from edid bin on bootup vm=createobject("rovideomode") vm configurehdmiinput({edidfilename "sd /edid bin"}) sethdmimetadata(parameters as roassociativearray) as roassociativearray configures strings to be sent in the hdmi metadata this method accepts an associative array with the following parameters spd vendor string string the vendor string spd description string string the description string this method returns an associative array, which can contain a single parameter restart required boolean boolean a flag indicating whether the player must be rebooted for the metadata changes to take effect gethdmioutputstatus() as roassociativearray returns an associative array of boolean and integer values if an hdmi output is currently connected to a display device this method will return invalid if the hdmi output is currently not connected to a display device the associative array contains the following parameters output present boolean boolean a flag indicating wheter the hdmi output is connected to a display device output powered boolean boolean a flag indicating whether the display device is on (i e rx powered) eotf string string a string indicating the current electro optical transfer function (eotf) used by the display the following are possible values "hdr (gamma)" "sdr (gamma)" "smpte 2084 (pq)" "hlg" "unspecified" audio bits per sample int int the number of bits per audio sample audio format string string the format of the audio output a "pcm" value indicates that the player is sending decoded output audio channel count int int the number of audio channels in the output audio sample rate int int the audio sample rate (in hertz) if an hdr video is playing, the following values will be retrieved from the video file "max cll", "max fall", "red primary x", "red primary y", "green primary x", "green primary y", "blue primary x", "blue primary y", "white point x", "white point y", "min mastering luminance", "max mastering luminance" gethdmiinputstatus() as roassociativearray returns an associative array of boolean and integer values if an hdmi input is currently connected to the device this method will return invalid if there is currently no hdmi input source the associative array contains the following parameters device present boolean boolean a flag indicating whether an hdmi input source is present width int int the width of the source video height int int the height of the source video interlaced boolean boolean a flag indicating whether the video source is interlaced frame rate float float the framerate of the source video pixelclock float float the pixel clock rate of the source video (in mhz) colorspace string string the color space of the source video audio type string string the audio encoding of the source video audio sampling rate int int the audio sampling rate of the source video (in hz) getcompositorcrc() as integer returns the crc of the y and cb signals as a single integer gettxhdcpstatus() as roassociativearray returns an associative array indicating the current hdcp status of the hdmi output the associative array currently contains a single key labeled state, which can have the following values "not required" hdcp is not required by the player hdcp is required by the player if the video has been decoded locally and needs protection or if the script has called the forcehdcpon() method note that, even if the "not required" value is returned, hdcp might still be active in passthrough mode if an upstream hdmi source (i e a device connected to the hdmi input port on the player) has requested it "authenticated" hdcp has been enabled and successfully negotiated "authentication in progress" hdcp has been enabled, but authentication has not been completed "authentication failed" hdcp has been requested but could not be negotiated forcehdcpon(force as boolean) as boolean forces hdcp authentication on the hdmi output if passed true passing false to this method will prevent forced authentication attempts with subsequent hotplug events this method will return false if the player does not support hdcp or if forcehdcpon() has already been called with the same value disablehdcprepeater(disable as boolean) as boolean prevents hdcp authentication from taking place on the hdmi input if passed true the hdmi source will treat the player like any other non hdcp authenticated hdmi sink this method returns false if the hdcp state could not be changed, indicating that there's no hdmi input on the player or that hdcp has already been disabled setbackgroundcolor(color as integer) as boolean specifies the background color using an #rrggbb hex value (8 bits for each color) hex codes like #ffffff will cause an autorun error, so you should use the decimal of hex code (for example, the decimal of #ffffff is 16777215) you can get this value from a hex to decimal converter website hexadecimal / decimal colors https //www mathsisfun com/hexadecimal decimal colors html setpowersavemode(power save enable as boolean) as boolean disables hdmi output, the syncs for vga output, and the dac output for component video the absence of a signal will cause some monitors to go into standby mode isattached(connector as string) as boolean returns true if the specified video connector is attached to an output device (i e the display edid can be read successfully) this method can be passed the following parameters (note that they are case sensitive) "hdmi" "vga" hdmiaudiodisable(disable as boolean) as boolean disables audio output if true this method is set to false by default setmultiscreenbezel(x pct as integer, y pct as integer) as boolean adjusts the size of the bezel used in calculations for multiscreen displays, allowing for users to compensate for the width of their screen bezels the calculations for the percentages are as follows x percentage = (width of bezel between active screens / width of active screen) 100 y percentage = (height of bezel between active screens / height of active screen) 100 the bezel measurement is therefore the total of the top and bottom bezels in the y case, or the left and right bezels in the x case when this value is set correctly, images spread across multiple screens take account of the bezel widths, leading to better alignment of images saveedids(filename as string) as boolean saves the edid information of the display(s) connected via hdmi and/or vga the edid fields are saved sequentially as raw binaries into the specified file the edid sets are two 2kb each, resulting in a maximum file size of 4kb this method returns true upon success and false upon failure getedididentity(video connector as boolean) as roassociativearray returns an associative array with edid information from a compatible monitor/television passing true with this method specifies edid over hdmi, while passing false specifies edid over vga these are the possible parameters returned in the associative array serial number string year of manufacture monitor name manufacturer text string serial number product week of manufacture unstable the system will generate an rohdmiedidchanged event when an hdmi cable is hotplugged and the edid information changes calling getedididentity(true) at this point retrieves the new edid information setmpcdi(parameters as roassociativearray) as boolean enables mpcdi using the passed parameters see display media with mpcdi docid\ w9qxxbdgzv8 kjuzeuhdu for more information about configuring mpcdi on brightsign players setsyncdomain(domain as string) as boolean enables genlock synchronization on the specified rosyncmanager domain to disable genlock on the domain, pass an empty string to this method to reconfigure an active genlock synchronization, call setsyncdomain() again using the domain name of the new or edited rosyncmanager instance ifmessageport setport(port as object) as void posts events to the attached message port ifuserdata setuserdata(user data as object) sets the user data that will be returned when events are raised getuserdata() as object returns the user data that has previously been set via setuserdata() it will return invalid if no data has been set "auto" video mode if the video mode is set to "auto," brightsign players will use the algorithm below to determine the best video mode to use based on connected hardware, unless they are xd5 or hd5 players “auto” on those players will set to the best general resolution that can cope with any type and combination of content of for these platforms, not the highest resolution for example, the “auto” setting on an xd5 or hd5 will be set to hd, not 4k try hdmi if hdmi is attached, use the highest resolution mode (as reported by the monitor) that the player supports default to 640x480x60p if an hdmi hotplug event occurs at any point, recheck the monitor edid to determine if the highest resolution mode has changed if it has changed, reboot the player and use the new video mode selecting decoders for playback the system software selects which video decoder to use based on the resolution probed from the video file in standard mode, it will attempt to select the decoder that has the closest maximum supported resolution (i e 1920x1080 for the hd decoder and 3840x2160 for the 4k decoder), without exceeding that maximum resolution if a decoder has been configured for mosaic mode, it will match the video resolution against the specified timeslice mode instead if both decoders support the same maximum resolution, you can select a decoder by matching the z order of the rovideoplayer instance (set using the tofront() and toback() methods) with the z order of the decoder (set using the rovideomode setdecodermode() method) series 5 players don’t need mosaic mode to decode multiple videos if the videos have a low pixel count and do not contain a more total pixels than the series 5 video pipeline can process you can also select the decoder manually first, configure the decoder(s) using the rovideomode setdecodermode() method then, use the friendly name specified when calling the method to designate a decoder to use for video playback to select a decoder in brightscript, pass an associative array to the rovideoplayer playfile() method containing the decoder \[friendly name] parameter playfile({filename "text 1 mov", decoder "main video"}) to select a decoder for html video, include the decoder \[friendly name] property with the hwz attribute \<video hwz="decoder\ main video;"> \</video> \<video hwz="decoder\ sd video;"> \</video> the max usage of a decoder determines how many video players can be assigned to the decoder using the system software algorithm described above—video players beyond the max usage limit may be assigned to another decoder or not displayed at all on the other hand, if you manually assign video players using the friendly name of the decoder, you can assign more video players to the decoder than the max usage limit, but this may cause unpredictable video display behavior