Release Notes
...
BrightSignOS
Older
6.0
10min
6 0 51 new features "audiodelay" parameter for the encoder streaming component bug fixes (4kx42 only) players are again able to connect with the iguanaworks ir transceiver playing a streaming ts video more than once using a rotated html page no longer causes a blank screen or video corruption if an html page uses local image assets, those files are now correctly cached to decrease load times (4kx42, xdx32, xdx30 only) gnu unifont support has been fixed (4kx42 only) the 3840x2160x50/59 94/60p video modes no longer exhibit a single line of blank pixels on the right side of the screen rotated 1080p hdmi input no longer exhibits video corruption (4k1142 only) hdmi input now works with devices that output 4k60p with the ycbcr 4 2 2 or 4 2 2 color space (4k1142 only) the player no longer gets stuck on a green screen if a hotplug event occurs on the hdmi output when the hdmi input is being displayed touch events at the edges of the screen no longer occasionally fail to register players now support newer versions of the elo et4201l touch screen video corruption no longer occurs after switching from a hdmi input at 1080i60/59 94 to a video file and then back again (hdx22 only) setting the "latency" parameter of a video stream to approximately 5000ms or greater no longer causes playback issues the default audio/video synchronization of encoder component streams has been improved the "display\ none" css attribute now works with \<video> elements that have hwz enabled a \<video> element that has hwz enabled will no longer be visible if it is outside the html widget dimensions calling "transform\ rot90" on a non hwz \<video> element now rotates it by 90 degrees, rather than 180 degrees the javascript play() function now plays correctly after the video \<src> changes the rohtmlwidget flushcachedresources() method has been fixed this method has not worked in any of the previous 6 0 releases improvements players will now play media files from a usd or msata storage device if it does not contain a presentation file ( autorun brs ) if an hdmi monitor is connected to the player after it boots up (i e an hdmi hotplug event occurs), the player will reboot and switch to the preferred video mode of that monitor if it's different from the current mode this only occurs if the force resolution box has not been checked or if there is no brightauthor presentation on the card if a storage drive is in use, the format storage option in the diagnostic web server (dws) no longer allows attempts to format it the following objects now support decryption of encrypted image files roimagewidget , rocanvaswidget , rovideoplayer , roclockwidget , rotextwidget the changes to the "auto" video mode in firmware 6 0 41 have been reverted a player set to "auto" now uses the highest resolution mode reported by both the monitor and player, rather than using the preferred mode (dtd) reported by the monitor the speed at which rocanvaswidget rectangles can be redrawn has been improved the cea 608 and cea 708 subtitle standards are now supported with rotated video as well the storeencryptionkey() and storeobfuscatedencryptionkey() methods (available on the rovideoplayer , roaudioplayer , and roaudioplayermx objects) now support the "aesctrhmac" algorithm 6 0 41 important in this build, 4kx42 players are unable to connect with the iguanaworks ir transceiver furthermore, 4k1142 players cannot accept 4k60p hdmi input from devices that output this resolution at ycbcr 4 2 0 and/or 4 2 0 only (i e a significant number of 4k output devices) these issues will be fixed in the next firmware release new features (4kx42, xdx32, xdx30 only) new format storage option in the diagnostics tab of the diagnostic web server (dws) new hide() and show() methods for the rovideoplayer object new rohtmlwidget forcegpurasterization() method new rovideomode setimagethreshold() method this method allows you to increase the image size limit beyond 2048x1080, at the risk of depleting the graphics memory and causing a crash bug fixes background image zones that are part of portrait mode presentations no longer appear distorted (xdx32, xdx30, hdx22 only) html playback of youtube content no longer fails video playback no longer fails when transitioning from an html page containing two videos to a live video state the firmware update progress bar is no longer drawn off screen if the player is connected to a 4k monitor players will no longer lock up if the network connection times out during hls streaming playback players no longer exhibit intermittent crashes when switching from an mjpeg or rtsp stream to another mjpeg stream streaming playback no longer fails with the samsung sno6011 r h 264 ip camera html videos that have hwz disabled will no longer exhibit intermittent corruption when the video width is not a multiple of 32 issues with the indexeddb implementation for html pages have been fixed players no longer crash after several days of frequently cycling through html pages the javascript console no longer periodically fails to load html pages that use the bssyncmanager javascript object no longer exhibit occasional synchronization issues when pausing video calling hide() and then show() on an rohtmlwidget instance no longer freezes animations similarly, if the page has not loaded completely when hide() is called, it will now continue to load after show() is called calling hide() on an rohtmlwidget instance before calling seturl() now correctly hides the page html \<video> elements that have been muted before the page is loaded now mute correctly html pages no longer fail to display gif images with large file sizes the html rendering engine now correctly handles transparency in png images that use the lut8 pixel format the rotextwidget hide() method now always works when displaying a scrolling ticker (i e text mode 3) the ?loop parameter, which can be appended to romediastreamer setpipeline urls, has been fixed if a script calls rovideoplayer stopclear() on an hls stream and then starts a new hls stream, the last frame of the first hls stream will no longer be displayed when starting the second the romediaserver object can once again stream mp4 files in response to http requests from clients attempting to create an romediastreamer / romediaserver pipeline between a file and a segmented hls stream, or between a file source and file destination competent, no longer causes the player to crash switching between hls streams no longer causes intermittent playback hang ups players no longer lock up when attempting to play from a stream url that lists its first two sources as non ipv4 addresses the default set of snmp mibs found in firmware 5 1 x have been reinstated (4kx42, xdx32 only) the continuity counters of pat and pmt pids now increment correctly in ts streams generated by the video encoder the rovideomode getconfiguredmode() method now returns the current video mode once the setmode() method is called calling getconfiguredmode() before setmode() will return invalid because "auto" mode is the default state destroying an unused rosqliteinterface instance no longer causes a crash improvements you can now use the upload to this directory option in the diagnostic web server (dws) to upload multiple files at a time to player storage html \<video> elements now show a blank frame (rather than no frame at all) when hdcp/dtcp authentication fails touchscreen pinch zooming has been disabled for html \<video> elements to match behavior in firmware 5 1 it will be reinstated in a future release hls streams that are written to file via the romediastreamer object can now be encrypted and decrypted new bsticker shutdown() javascript method allows you to immediately destroy a ticker widget the rovideoplayer object will now generate event underflow (26) events every few seconds if it detects underflow errors with a video stream (underflow errors are usually caused by latency settings that are too low) (4k1142 only) support for the ycbcr 4 2 2 and ycbcr 4 4 4 modes have been disabled on hdmi input because the player was exhibiting color distortion with the ycbcr 4 2 2 input mode we will re enable these modes once the ycbcr 4 2 2 input mode is fixed a player that has its video mode set to "auto" will now accept the preferred mode (dtd) of an attached monitor if this mode is supported by the player previously, a player set to "auto" would always use the highest resolution mode reported by both the screen and player, which may be different from the preferred mode of the screen new rocecinterface useinitiatoraddressfrompacket() method allows a script to set a custom initiator address for cec it is now possible to play mpeg dash streams that use the "baseurl" segment type the player will no longer crash if you attempt to write data that is not utf 8 or ascii into the registry this means that the registry now only accepts valid utf 8 or ascii data 6 0 25 new features support for writing hls streams to file via the romediastreamer object support for the nec32 ir protocol (via the roirreceiver and roirtransmitter objects) this allows brightsign players to work with apple tv remotes bug fixes it is now possible to remove password authentication for the dws when performing the player setup process again the view mode > letterboxed and centered and fill screen and centered zone properties now work with portrait mode video html \<video> elements will no longer be misaligned if the zone containing the html has x,y coordinates other than 0,0 background image zones that are rotated no longer exhibit image corruption live text states will no longer incorrectly render an image when it has pixel height that is not a multiple of 16 it is once again possible to rotate html \<video> elements that are playing local files the fade effect when switching between multicast channels has been fixed the uptime() global function no longer returns incorrect values after the player has been running for more than approximately 25 days this function also now returns a double value instead of a float (4kx42 only) the process of enabling and then disabling telnet or ssh no longer causes indefinite cpu resource consumption attempting to reduce the dimensions of a rotated video window no longer causes video corruption stopping an romediastreamer instance that is streaming hdmi input no longer causes the displayed hdmi input from going blank as well this bug only occurred when the hdmi input was being displayed before the encoding process began closed caption text no longer jitters slightly when new text is scrolling onto the screen html widgets now report an up to date default user agent string audio track selection now works correctly when using the setaudiooutput() method in combination with the setpreferredaudio()/setpreferredvideo() methods improvements (4kx42, xdx32, xdx30 only) both html and non html presentations now support gnu unifont this means that you no longer need to specify a font for non latin text to display correctly (though you can still assign custom fonts as needed) the latency for gstreamer streams has been reduced changes to the preferredcaptions and viewmode attributes for html \<video> elements now take effect immediately the web inspector now has scroll bars the new rovideoplayer configurehdmiinput() method allows you to control the edid values on the hdmi input the new rovideomode getavailablemodes() method allows you to retrieve an array of all available video modes on the player the gethdmiinputstatus() and gethdmioutputstatus() methods on the rovideomode object now return boolean values, rather than integers, for appropriate parameters 6 0 20 new features hardware accelerated image decoding for html support for 96khz and 192khz audio output bug fixes (xdx32) dolby digital 5 1 audio now plays correctly when it is passed through the hdmi input on the xd1132 (4kx42) the firmware update screen now appears again during the firmware update process note that this bug only applied to firmware version 6 0 9, and will only be fixed after the firmware update process from 6 0 9 is complete remote snapshots now correctly represent the opacity (alpha blending) of videos html video that has hwz disabled ("hwz=off") now works html video that uses webgl now works css opacity animations now work with \<video> elements rapidly resizing a video window in html no longer causes a crash html video windows with background transparency no longer mask images directly behind them video sourced from an hdmi input now works with multiscreen html pages (hdx22) html pages with viewport settings in the \<meta> tag no longer have a chance of crashing the player the setappcachedir() and setwebdatabasedir() methods on the rohtmlwidget object now work again the rohtmlwidget object now respects proxy settings specified using the setproxy() and setproxybypass() methods on the ronetworkconfiguration object key mappings are now correct for usb keyboards that are used with html pages (4kx42) streaming video to a device over several network switches no longer results in video corruption creating an roimageplayer instance no longer causes the screen to go blank rourltransfer no longer fails if the server sends a non fatal alert during handshake the player no longer crashes if rohttpserver addgetfromevent() is not passed user data when a static string is assigned to a member of an associative array within a run() call, the string no longer becomes de allocated on exit from run() improvements the html rendering engine now uses low res tiles before loading the full size images this improves the performance of some carousel style pages when an html \<video> element is reused, there is no longer a brief black screen before the next video is played seamless looping is now supported for http mp4/mov streams html pages that specify the "x frame options" header are now be allowed if you call enablesecurity(false) on the rohtmlwidget instance source specific multicast streaming (igmp v3) is now supported for gstreamer udp/rtp the performance of gstreamer rtsp has been improved the roxmlelement parse() method now works much faster when handling text that contains a large number of entities new roptp object allows you to retrieve information about the network ptp state of the player new ronetworktimeevent object and rosystemtime getlastnetworktimeresult() method allow you to retrieve information about the last attempt to set the time via the network players now contain two custom lldp tlv fields subtype 0 contains the player model number (e g "4k1142"); subtype 1 contains the player serial number (e g "x3h47u000046") these custom fields have an organizationally unique identifier (oui) of 90\ ac 3f new rovideomode gettxhdcpstatus() method allows you to retrieve the current hdcp status of the hdmi connection the rovideomode gethdmioutputstatus() method now returns additional information audio bits per sample, audio format, audio channel count, and audio sample rate the rovideomode getconfiguredmode() method now returns the additional dropframe parameter the rovideoplayer getstreaminfo() method now returns additional information audiosamplerate, source, audiochannelcount, videocolordepth, videoheight, videoformat, audioduration, videowidth, videoaspectratio, audioformat, and videoduration 6 0 9 new features support for the new vb touch fb series of touch sensors new viewmode attribute for html \<video> tags this attribute accepts the following values "scale to fill", "scale to fit", and "scale to fill and crop" support for 128 bit aes ctr decryption of audio/video files via the rovideoplayer object support for usb modems that appear as standard serial ports (including the pantech uml290 3g modem) support for 4096x2160 at the following frame rates 25p, 30p, 50p and 60p support for usb devices that have multiple serial ports bug fixes html video now plays correctly when it switches from a local file to a streaming source rotated hdmi in video no longer has a chance of going blank when the player is rebooted or the resolution is changed 1080i60 video now displays correctly when output at a 75p resolution (e g 1280x1024x75p, 1280x800x75p) players no longer fail to display css fonts from html pages that are hosted remotely progress bars for html \<video> elements now display correctly and can be used for playback seeking html pop up menus now respect the current zoom level of the page live text states once again use the system font if no font is specified html elements that stream rtp video no longer flicker at the beginning of playback rtsp/rtp video streams that use padding bytes no longer exhibit corruption in the lower right corner of the screen players no longer encounter errors when attempting to connect to mjpeg streams that require authorization (e g ip cameras) usb audio has been fixed closed captions now work with videos that are stretched across multiple screens the roaudiooutput setaudiodelay() method has been fixed html \<video> elements that have hwz enabled now respect css styling for opacity html \<select> tags for dropdown menus now render properly javascript errors are now less likely to occur when attempting to call a function variable passing an object to the roserialport sendline() method no longer causes the player to crash when exiting the brightscript debugger the player will no longer lock up if you attempt to exit the brightscript debugger while running multiple tickers the getcurrentfilesizemegabytes() and getcurrentfiletransferredmegabytes() methods available on the roassetfetcherprogressevent object now correctly reports using megabytes, rather than bytes the rocanvaswidget object now properly handles image source rectangles that are not the entire image the rosyncmanager object now correctly supports the ifuserdata interface the player now advertises a correct set of lldp capabilities improvements remote screenshot images now include closed captions and ticker zones when playing a brightwall or enhanced synchronization presentation, the player can now use ts files with pts offsets greater than zero players now support sound sample description version 2 for mov and sowt files closed captions now work with stretched multiscreen video the romediaserver objects now support streaming of mp4 files via http the carrier frequency on the ir input/output is now configurable html \<audio> elements now support the same audio routing attributes as \<video> elements (see the html developer's guide for more details) the pause() and resume() methods on the rovideoplayer object now work with streaming video new rovideoplayer getduration() method allows you to retrieve the duration of the file that is currently being played new rovideoplayer getplaybackposition() method allows you to retrieve the amount of time a video file or ip stream has been playing instead of crashing the player, the rovideoplayer setplaybackspeed() method now fails when you attempt to use it with an audio only track the rovideomode setmode() string now accepts a "preferred" parameter that allows the player to fall back to a supported video mode if the configured mode is not supported by the display new getactivemode() and getconfiguredmode() methods on the rovideomode object allow you to retrieve more information about current and configured video modes new forcehdcpon() method on rovideomode object allows you to force the video output to always be encrypted using hdcp the setvolume() method on the roaudioplayer and rovideoplayer objects can now accept decibel values the new roaudiooutput settone() method allows you to modify the treble and bass of audio outputs the pause() and resume() methods on the rovideoplayer object now work with rtsp streaming video new rovideoplayer getplaybackposition() method allows you to retrieve the amount of time a video file or ip stream has been playing during playback of an ip stream, calling the rovideoplayer stop() method now leaves the last frame on screen this behavior is consistent with file playback the rovideomode setmode() string now accepts a "preferred" parameter that allows the player to fall back to a supported video mode if the configured mode is not supported by the display new getactivemode() and getconfiguredmode() methods on the rovideomode object allow you to retrieve more information about current and configured video modes the diagnostic web server (dws) is now enabled by default it is available on port 80 and uses the player serial number as the default password if the dws was explicitly disabled in a previous version, it will remain disabled the ifuserdata interface has been added to the following brightscript objects rovideomode , rovideoplayer , roaudioplayer , rokeyboard , romediaserver , rocecinterface , rocontrolport , romimestream , rortspstream , rortspstreamevent , rosnmpagent , rosnmpevent , rostoragehotplug , rostorageattached , rostoragedetached , romediastreamer , rotimer , rotimerevent , romimestreamevent the ifstringops interface has been removed from the rostorageattached , rostoragedetached , and rosnmpevent objects the ifstringops have been removed from the following brightscript event objects rohdmiedidchanged, rohdmiinputchanged, roscreenshotcomplete , roirremotepress , rogpiobutton , roquadravoxbutton , rotouchcalibrationevent new rodevicecustomization factoryreset() method allows you to perform a factory reset at the script level new rodevicecustomization writesplashscreen() method allows you to customize the boot splash screen using an image file new rodeviceinfo getloadstatistics() method allows you to retrieve performance information related to the linux kernel new firmwareisatleast() and bootfirmwareisatleast() methods for rodeviceinfo provide scripts a reliable way to test against the current firmware version numbers new rotextwidget setseparator() method allows you to change the string separator symbol for scrolling tickers the enableencodings() method is now available for the roassetfetcher and rosyncpool objects http compression is also enabled by default for the rourltransfer , roassetfetcher , and rosyncpool objects new rovideomode gethdmioutputsettings() method allows you to check the current status of the hdmi output new getstreaminfo() and getstreamstatistics() methods for rovideoplayer allow you to retrieve information about an ip stream that is currently being played new rohdmioutputchanged event object, which is generated by the rovideomode object, allows scripts to respond to hotplug events on the hdmi output new rotouchscreen setcalibrationranges() method allows you to customize the dimensions of the touch area (rather than using the dimensions given by the touchscreen over usb) this method is useful if your touch setup is not using the entirety of the video output new ronetworkconfiguration enableleds() method allows you to enable or disable ethernet led activity new setproxybypass() method for ronetworkconfiguration , rourltransfer ,and roassetfetcher allow you specify cases when a player should bypass a configured proxy new getproxybypass() method for ronetworkconfiguration allows you to retrieve the current proxy bypass listing set using the setproxybypass() method new roserialport setflowcontrol() method allows you to enable or disable rts/cts handshaking over the serial port new getbufferbytearray() and getbuffermetadata() methods are available for the roimagebuffer object you can now use a fully qualified path (e g "sd /libraries/mylib brs") for the brightscript library statement file objects that implement the readbyte() method now only return a negative value if the eof is reached or if there is an error condition passing multiple arguments to the createobject function when the object does not expect any arguments will now always cause a runtime error attempt to print a string greater than 16k bytes long no longer results in an assertion failure instead, the string is truncated