Player events

From A-SMIL.org
Revision as of 01:52, 28 July 2010 by SMIL T.A. (Talk | contribs)

Jump to: navigation, search

A-SMIL players can report on various events happening to a player, including

Download failure (event FETCH_FAILED):
occurs when a file cannot be downloaded due to network failure or URL not found.
File not found error (event MEDIA_NOT_AVAILABLE):
occurs when file does not exist in player's storage. This can happen due to insufficient space which causes the player's storage "garbage collector" erasing files least-recently-used (LRU).
Media format error (event MEDIA_OPEN_ERROR):
occurs when the header information of the media file describes a format not supported by the player.
Media contents error (event MEDIA_PLAYBACK_ERROR):
occurs during playback of a media file, most likely due to a corrupt media stream.

Designating a URL for Reporting

In your SMIL script, you need to add a section to your head section to define where the media player should upload its logs. For event reporting it should looks like this.

<head>
  <metadata>
    <x-server xmlns="http://schemas.adfotain.org/adapi-1.0">
      <subscriptionList>
        <subscription>
          <type>EventlogCollection</type>
          <action>http://server/webdav_path</action>
          <method>put</method> 
        </subscription>
      </subscriptionList>
    </x-server>
  </metadata>
</head>

Here "http://server/webdav_path" is the path to the WebDAV-enabled direction on your log server.

A log file named in the format event-{time-based-uuid}.xml will be placed in the server path by the player.

Event Report Format

The A-SMIL event report uploaded to the server looks like this.

<report xmlns="http://schemas.adfotain.org/adapi-1.0">
   <date>{createDate}</date>
   <version>1.0</version>
   <player id="{playerId}">
     <playerEventLog>
       <event>
         <eventType>informational|warning|error|critical</eventType>
         <eventTime>{eventTime}</eventTime>
         <eventSource>{moduleName}</eventSource>
         <eventName>{eventEnumName}</eventName>
         <metadata>
           <meta name="{meta1-name}" content="{meta1-content}"/>
           <meta .../>
         </metadata>
       </event>
     </playerEventLog>
  </player>
</report>

FETCH_FAILED Event

eventType:
error if no other versions available in cache; warning if an earlier version exists
meta "resourceURI":
URI for the file that failed to transfer
meta "transferLength":
Number of bytes transferred so far
meta "lastCachedLength":
If a previous version exists, its length in bytes
meta "lastCachedModifiedTime":
If a previous version exists, its modified time

MEDIA_NOT_AVAILABLE Event

eventType:
error
meta "resourceURI":
URI for the file that is not available

MEDIA_OPEN_ERROR Event

eventType:
error
meta "resourceURI":
URI for the file that fails to open

MEDIA_PLAYBACK_ERROR Event

eventType:
error
meta "resourceURI":
URI for the file that fails to play

Related