Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The autorun.brs file provides specific instructions to the player As was just covered, player provisioning consists of 1) applying a Setup to the player, and 2) installing a Player App onto the player.

The Player App is the collective set of files and folders that provides the player with specific instructions for what to do upon startup. For exampleAt a minimum, it must contain an autorun, or more specifically, an autorun.brs file (the .brs extension denotes a BrightScript file). The autorun may, for example, instruct the player to display a specific .html file which can be either local to on the player or reside on an external website. Alternatively, an the autorun file may instruct the player to check a particular URL for updated presentations and/or content and, if new files are available, download them and play them.

There are three autorun-related files:

  • autorun.brs (may also be referred to as “the autorun” or “autorun file”)

  • autorun.zip

  • autozip.brs

These have similar-sounding names, but each term has a different function so it’s important to not conflate the terms.

Upon bootup, the player searches for certain files. The player’s search follows a prescribed sequence as shown below.

...

As mentioned in the Player Storage section, the player Players will search for storage devices in a predefined order.

  1. The player first looks for an autorun.brs file in the root directory of the first storage device it encounters.

    1. If found, autorun.brs is executed.

  2. If an autorun.brs file is not found, the player looks for an autorun.zip file in the same root directory.

    1. If an autorun.zip file is found and it also contains within it an autozip.brs file, the player will unzip the autorun.zip file, in the process overwriting any existing files on the storage device.

    2. The player will then reboot.

  3. If these files are not found on the first storage device, the player will repeat these steps on the next storage device, if available.

If an autorun.zip is not found on any of the storage devices, the player will query the BSN.cloud provisioning service (often referred to as B-Deploy) to see if the player has previously been provisioned . More details about provisioning will be covered later in this guidewith BSN.cloud.

Both autorun.brs and autozip.brs must be written in BrightScript and be given the specific filenames indicated.

...

Expand
titleThis autozip.brs file instructs the player to unzip the autorun.zip file:
Code Block
'name file autorun.zip
' Content update application

Sub Main()
    path$= FindDestPath()
    source$= FindSourcePath()
    package = CreateObject("roBrightPackage", source$+"autorun.zip")
    package.SetPassword("test")
    package.Unpack(path$)
    package = 0
    CreateDirectory(path$+"brightsign-dumps")
    CreateDirectory(path$+"pool")
    CreateDirectory(path$+"feed_cache")
    CreateDirectory(path$+"feedPool")

    DeleteFile(path$+"autozip.brs")
    DeleteFile(source$+"autorun.zip")
    a=RebootSystem()
End Sub

Function FindDestPath()
    if not IsFirmwareValid() then
        return "SD:/"
    end if

    destinationPaths = ["SSD:", "SD:", "USB1:"]
    for each destination in destinationPaths
        if IsMounted(destination) then
            return destination+"/"
        end if
    next
    return "unknown"
End Function

Function FindSourcePath()
    if not IsFirmwareValid() then
        return "SD:/"
    end if

    sourcePaths = ["USB1:", "SD:", "SSD:"]
    for each source in sourcePaths
        if IsMounted(source) and CheckFile(source+"/autorun.zip") then
            return source+"/"
        end if
    next
    return "unknown"
End Function

Function IsMounted(path as String)
    if CreateObject("roStorageHotplug").GetStorageStatus(path).mounted then
        return true
    end if

    return false
End Function

Function IsFirmwareValid()
    di = CreateObject("roDeviceInfo")
    return di.FirmwareIsAtLeast("7.0.60")
End Function

Function CheckFile(path as String)
    file = CreateObject("roReadFile", path)
    if type(file) = "roReadFile" then
        return true
    end if

    return false
End Function

Next , we will look at the various content sources that players are able to utilize.- Content Sources >