Until Jean has recovered from his vacation in a frying pan, I thought it might be interesting to post this docu file I found in the Osmo4 folder after uninstalling GPAC. It should give a closer impression of its capabilities for interested readers:

        GPAC Configuration file documentation - v0.1

0 - Introduction

The client engine in this SDK uses a configuration file shared among modules and reloadable at run time.
This doc attempts to provide explanations for the different options.

The config file is based on the win32 .ini file model, thus is ordered by sections and keys.

A section is declared as
[SectionName]

A key is declared as
keyName=value

the key value is not interpreted and always handled as ASCII text

The current version of GPAC does not allow for any plugins except network ones to access the configuration file, this is mainly because there is no easy way to allow for generic plugin configuration UI while not introducing GUI specific languages. This may be changed in future versions but is definetly not a priority

Note on plugin names:
    Plugin names as given in the config file are file name as expected by the OS library loading module. Consequently these names should only be the ones retrieved through the plugin manager in order to keep it consistent with the OS library loader (unless you know what you're doing).
    Ex: win32 cannot load "myplugin.dll" but can load "myplugin", while linux will load "myplugin.so"

I - Section "General"

    The "General" section of the config file holds generic, OS and player specific options. This section is not used by the client engine

    Options defined for the windows version:

PluginsDirectory (value: path)
    path to plugins location. The client cannot be loaded without plugins

Loop (value: "yes", "no")
    specifies whether the presentation has to be restarted when done playing

AutoStart (value: "yes", "no")
    specifies whether the presentation has to be played when loaded (by default most of BIFS presentation will be started upon load, cf next section)

ConsoleOff (value: "yes", "no")
    specifies whether application messages (script, buffering, download progress) are displayed in the console or not
   
   

II - Section "System"
   
    The "System" section of the config file holds all configuration options for the MPEG-4 systems engine.
The following options are defined:

Language (value: 3-char code from ISO 639-2)
    specifies the user prefered language. This is used to select streams in case of alternate content in an audio object.

BIFS_FrameDroping (value: "yes", "no")
    specifies whether late BIFS-frame shall be dropped (eg, not rendered until sync is back) or whether all frames must be drawn. Allowing for BIFS frame-dropping will fasten resync but may be not desirable when testing heavy content or slow renderers

ForceSingleClock (value: "yes", "no")
    one big problem with MP4 files is that the notion of "duration" has been unclear for a long time, and most content available (audio-video files) specifiy a wrong BIFS duration. In such a case the movie cannot be controled/seek into.
    Another problem with ISMA streaming is that BIFS/OD don't use the same clock as audio/video, thus seeking the main timeline does not seek AV media.
    Setting the ForceSingleClock will handle both cases by using a single timeline for all media streams and setting the duration to the one of the longest stream.

ThreadingPolicy (value: "Free", "Single", "Multi")
    specifies how media decoders are to be threaded.
        "Free" lets decoders decide of their threading
        "Single" means that all decoders are managed in a single thread performing scheduling and priority handling
        "Multi" means that each decoder runs in its own thread

Priority (value: "low", "normal", "high", "real-time")
    specifies the priority of the decoders (priority is applied to decoder thread(s) regardless of threading mode)

III Section "Rendering"

    The "Rendering" section of the config file holds all configuration options for the logical rendering engine. The following options are defined:

FrameRate (value: float)
    specifies the simulation frame-rate of the presentation - this value is also used by the MPEG-4 Systems engine to determine when a BIFS frame is mature for decoding

BackColor (value: integer)
    specifies default background2D color when no scene is loaded or no background2D is present. Formatted as 0xAARRGGBB, AA channel being currently discarded by the renderer

AntiAlias (value: "None", "All", "Text")
    specifies antialiasing settings - whether the setting is applied or not depends on the graphics plugin
        "None": no anti-aliasing
        "Text": anti-aliasing for text only
        "All": complete anti-aliasing

FastRender (value: "yes", "no")
    specifies whether rendering should target speed or quality (not completely operational :) - whether the setting is applied or not depends on the graphics plugin

DirectRender (value: "yes", "no")
    specifies whether direct rendering should be used or not. In direct rendering mode, the screen is completely redrawn at each frame. In indirect rendering object positioning is tracked from frame to frame and dirty rectangles info is collected in order to redraw the minimal amount of the screen buffer.
Whether the  setting is applied or not depends on the graphics plugin (currently all plugins handle both mode)

ScalableZoom (value: "yes", "no")
    specifies whether scalable zoom should be used or not. When scalable zoom is enabled, resizing the output window will also recompute all vectorial objects. Otherwise only the final buffer is stretched.

ForceSceneSize
    forces the scene to resize to the biggest bitmap available if no size info is given in the BIFS configuration

DriverName (value: string)
    specifies the driver to use for vectorial drawing

IV Section "Audio"

    The "Audio" section of the config file holds all configuration options for the audio rendering engine and hardware. The following options are defined:

ForceConfig (value: "yes", "no")
    Forces a given sound card configuration to be used. If not set the sound card will be setup to use audio buffers with a duration close to 30 frame per seconds (depending on audio samplerate). This may be not supported by some audio cards, therefore forcing the config may be very useful.

NumBuffers (value: integer, 0 forbidden)
    When config is forced, specifies the number of audio buffers to allocate (audio buffers are played in ring)

BuffersPerSecond (value: integer, 0 forbidden)
    When config is forced, specifies the number of audio buffers per second. For example, a value of 15 means that each buffer will hold 1000/15 milliseconds of audio data. The total amount of audio buffering (and hence audio delay) is therefore
        NumBuffers * 1000 / BuffersPerSecond milliseconds

NoResync (value: "yes", "no")
    Disables audio resynchronization: audio data is never dropped but may get out of sync

DriverName (value: string)
    specifies the driver to use for audio rendering

V Section "Video"

    The "Video" section of the config file holds all configuration options for the video renderer and hardware. The following options are defined:

DisableYUV (vale: "yes", "no")
    disables YUV hardware support (YUV hardware support may not be available for the current plugin).

DriverName (value: string)
    specifies the driver to use for video memory access

VI Section "FontEngine"

    The "FontEngine" section of the config file holds all configuration options for the font handling. The GPAC rendering module handles text through vectorial outline, allowing graphics plugin development without having to integrate text rendering which is always heavy work.
    The following options are defined:

DriverName (value: string)
    specifies the driver to use for font handling

FontDirectory (value: path)
    specifies the directory where fonts are located - currently only one directory can be specified (however nothing stops a font plugin from using a private directory)
   

VII Section "Downloader"

    The "Downloader" section of the config file holds all configuration options for file downloading and caching. This is a plugin configuration section. The following options are defined:

CleanCache (value: "yes", "no")
    specifies whether downloaded files shall be removed once used.

RestartFiles (value: "yes", "no")
    specifies whether incompletely downloaded files shall be removed before redownloading.

CacheDirectory (value: path)
    specifies location of temp files

VIII Section "Streaming"

    The "Streaming" section of the config file holds all configuration options for real-time streaming using IETF SDP/RTSP/RTP/RTCP protocols. This is a plugin configuration section. The following options are defined:

DefaultPort (value: int)
    specifies the default port to use when connecting to a server (ignored if a port is specified in the url) if the port is 80 or 8080 (HTTP), the client will connect to the RTSP server through an HTTP tunnel, and transport will take place on the RTSP connection

UseReordering (value: "yes", "no")
    specifies whether RTP packet reordering shall be used or not. Ignored when transport takes place on the RTSP connection

RTPoverRTSP (value: "yes", "no")
    specifies whether RTP packets should be carried on the RTSP connection (TCP or UDP) when possible, or carried on UDP. If the connection port is an HTTP port, this value is assumed to be true.

RTSPTimeout (value: unsigned int)
    specifies connection timeout with the server: an RTSP request is considered as failed when the timeout expires

BufferLength (value: unsigned int)
    specifies the length of the decoding buffer in milliseconds. The client will wait for the buffer to be filled before starting decoding

RebufferLength (value: unsigned int)
    specifies rebuffering length of the decoding buffer in milliseconds. Whenever the decoding buffer fullness is less than this value, the object clock is paused and the stream rebuffered till BufferLength. Therefore a value of 0 means no rebuffering

FirstPacketDrop (value: unsigned int)
    specifies the first SL packet to be dropped - 0 means no packet drop. Used for packet drop simulation tests

PacketDropFrequency (value: unsigned int)
    specifies the frequency at which SL packets are dropped. If value is 20, one packet every 20 received packets will be dropped. Used for packet drop simulation tests.