<?xml version="1.0" encoding="UTF-8"?>
<config version="2" xmlns="http://mediatomb.cc/config/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/2 http://mediatomb.cc/config/2.xsd">
  <!--
     See https://gerbera.io or read the docs for more
     information on creating and using config.xml configuration files.
    -->
  <server>
    <ui enabled="yes" show-tooltips="yes">
      <accounts enabled="no" session-timeout="30">
        <account user="gerbera" password="gerbera" />
      </accounts>
    </ui>
    <name>Gerbera</name>
    <udn/>
    <home>/tmp/.config/gerbera</home>
    <webroot>/usr/local/share/gerbera/web</webroot>
    <!--
        How frequently (in seconds) to send ssdp:alive advertisements.
        Minimum alive value accepted is: 62

        The advertisement will be sent every (A/2)-30 seconds,
        and will have a cache-control max-age of A where A is
        the value configured here. Ex: A value of 62 will result
        in an SSDP advertisement being sent every second.
    -->
    <alive>180</alive>
    <storage>
      <sqlite3 enabled="yes">
        <database-file>gerbera.db</database-file>
      </sqlite3>
      <mysql enabled="no">
        <host>localhost</host>
        <username>gerbera</username>
        <database>gerbera</database>
      </mysql>
    </storage>
    <containers enabled="yes">
      <container location="/LastAdded" title="Recently Added" sort="-last_updated">
        <filter>upnp:class derivedfrom "object.item" and last_updated &gt; "@last7"</filter>
      </container>
      <container location="/LastModified" title="Recently Modified" sort="-last_modified">
        <filter>upnp:class derivedfrom "object.item" and last_modified &gt; "@last7"</filter>
      </container>
      <container location="/LastPlayed" title="Music Recently Played" sort="-upnp:lastPlaybackTime" upnp-shortcut="MUSIC_LAST_PLAYED">
        <filter>upnp:class derivedfrom "object.item.audioItem" and upnp:lastPlaybackTime &gt; "@last7"</filter>
      </container>
    </containers>
    <extended-runtime-options>
      <ffmpegthumbnailer enabled="yes">
        <thumbnail-size>160</thumbnail-size>
        <seek-percentage>5</seek-percentage>
        <filmstrip-overlay>no</filmstrip-overlay>
        <image-quality>8</image-quality>
      </ffmpegthumbnailer>
      <mark-played-items enabled="no" suppress-cds-updates="yes">
        <string mode="prepend">*</string>
        <mark>
          <content>video</content>
        </mark>
      </mark-played-items>
    </extended-runtime-options>
  </server>
  <import hidden-files="no">
    <magic-file>magic.file</magic-file>
    <scripting script-charset="UTF-8">
      <script-folder>
        <common>/usr/local/share/gerbera/js</common>
      </script-folder>
      <import-function>
        <playlist>importPlaylist</playlist>
        <meta-file>importMetadata</meta-file>
        <audio-file>importAudio</audio-file>
        <video-file>importVideo</video-file>
        <image-file>importImage</image-file>
      </import-function>
      <virtual-layout type="builtin">
        <boxlayout>
          <box key="Audio/allAlbums" title="Albums" class="object.container" upnp-shortcut="MUSIC_ALBUMS" />
          <box key="Audio/allArtists" title="Artists" class="object.container" upnp-shortcut="MUSIC_ARTISTS" />
          <box key="Audio/allAudio" title="All Audio" class="object.container" />
          <box key="Audio/allComposers" title="Composers" class="object.container" />
          <box key="Audio/allDirectories" title="Directories" class="object.container" upnp-shortcut="MUSIC_FOLDER_STRUCTURE" />
          <box key="Audio/allGenres" title="Genres" class="object.container" upnp-shortcut="MUSIC_GENRES" />
          <box key="Audio/allSongs" title="All Songs" class="object.container" />
          <box key="Audio/allTracks" title="All - full name" class="object.container" upnp-shortcut="MUSIC_ALL" />
          <box key="Audio/allYears" title="Year" class="object.container" />
          <box key="Audio/audioRoot" title="Audio" class="object.container" />
          <box key="Audio/artistChronology" title="Album Chronology" class="object.container" />
          <box key="AudioInitial/abc" title="ABC" class="object.container" />
          <box key="AudioInitial/allArtistTracks" title="000 All" class="object.container" />
          <box key="AudioInitial/allBooks" title="Books" class="object.container" />
          <box key="AudioInitial/audioBookRoot" title="AudioBooks" class="object.container" upnp-shortcut="MUSIC_AUDIOBOOKS" />
          <box key="AudioStructured/allAlbums" title="-Album-" class="object.container" upnp-shortcut="MUSIC_ALBUMS" size="6" />
          <box key="AudioStructured/allArtistTracks" title="all" class="object.container" />
          <box key="AudioStructured/allArtists" title="-Artist-" class="object.container" upnp-shortcut="MUSIC_ARTISTS" size="9" />
          <box key="AudioStructured/allGenres" title="-Genre-" class="object.container" upnp-shortcut="MUSIC_GENRES" size="6" />
          <box key="AudioStructured/allTracks" title="-Track-" class="object.container" upnp-shortcut="MUSIC_ALL" size="6" />
          <box key="AudioStructured/allYears" title="-Year-" class="object.container" />
          <box key="Video/allDates" title="Date" class="object.container" upnp-shortcut="VIDEOS_YEARS_MONTH" />
          <box key="Video/allDirectories" title="Directories" class="object.container" upnp-shortcut="VIDEOS_FOLDER_STRUCTURE" />
          <box key="Video/allVideo" title="All Video" class="object.container" upnp-shortcut="VIDEOS_ALL" />
          <box key="Video/allYears" title="Year" class="object.container" upnp-shortcut="VIDEOS_YEARS" />
          <box key="Video/unknown" title="Unknown" class="object.container" />
          <box key="Video/videoRoot" title="Video" class="object.container" upnp-shortcut="VIDEOS" />
          <box key="Image/allDates" title="Date" class="object.container" upnp-shortcut="IMAGES_YEARS_MONTH" />
          <box key="Image/allDirectories" title="Directories" class="object.container" upnp-shortcut="IMAGES_FOLDER_STRUCTURE" />
          <box key="Image/allImages" title="All Photos" class="object.container" upnp-shortcut="IMAGES_ALL" />
          <box key="Image/allYears" title="Year" class="object.container" upnp-shortcut="IMAGES_YEARS" />
          <box key="Image/imageRoot" title="Photos" class="object.container" upnp-shortcut="IMAGES" />
          <box key="Image/unknown" title="Unknown" class="object.container" />
          <box key="Playlist/playlistRoot" title="Playlists" class="object.container" />
          <box key="Playlist/allPlaylists" title="All Playlists" class="object.container" />
          <box key="Playlist/allDirectories" title="Directories" class="object.container" upnp-shortcut="MUSIC_PLAYLISTS" />
        </boxlayout>
      </virtual-layout>
    </scripting>
    <mappings>
      <extension-mimetype ignore-unknown="no">
        <map from="asf" to="video/x-ms-asf" />
        <map from="asx" to="video/x-ms-asx" />
        <map from="dff" to="audio/x-dff" />
        <map from="dsd" to="audio/x-dsd" />
        <map from="dsf" to="audio/x-dsf" />
        <map from="flv" to="video/x-flv" />
        <map from="m2ts" to="video/mp2t" />
        <map from="m3u" to="audio/x-mpegurl" />
        <map from="m3u8" to="audio/x-mpegurl" />
        <map from="m4a" to="audio/mp4" />
        <map from="mka" to="audio/x-matroska" />
        <map from="mkv" to="video/x-matroska" />
        <map from="mp3" to="audio/mpeg" />
        <map from="mts" to="video/mp2t" />
        <map from="oga" to="audio/ogg" />
        <map from="ogg" to="audio/ogg" />
        <map from="ogm" to="video/ogg" />
        <map from="ogv" to="video/ogg" />
        <map from="ogx" to="application/ogg" />
        <map from="pls" to="audio/x-scpls" />
        <map from="ts" to="video/mp2t" />
        <map from="tsa" to="audio/mp2t" />
        <map from="tsv" to="video/mp2t" />
        <map from="wax" to="audio/x-ms-wax" />
        <map from="wm" to="video/x-ms-wm" />
        <map from="wma" to="audio/x-ms-wma" />
        <map from="wmv" to="video/x-ms-wmv" />
        <map from="wmx" to="video/x-ms-wmx" />
        <map from="wv" to="audio/x-wavpack" />
        <map from="wvx" to="video/x-ms-wvx" />
        <!-- Uncomment the line below for PS3 divx support -->
        <!-- <map from="avi" to="video/divx" /> -->
        <!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 -->
        <!-- <map from="avi" to="video/avi" /> -->
      </extension-mimetype>
      <mimetype-upnpclass>
        <map from="application/ogg" to="object.item.audioItem.musicTrack" />
        <map from="audio/*" to="object.item.audioItem.musicTrack" />
        <map from="image/*" to="object.item.imageItem" />
        <map from="video/*" to="object.item.videoItem" />
      </mimetype-upnpclass>
      <mimetype-contenttype>
        <treat mimetype="application/ogg" as="ogg" />
        <treat mimetype="audio/L16" as="pcm" />
        <treat mimetype="audio/flac" as="flac" />
        <treat mimetype="audio/mp4" as="mp4" />
        <treat mimetype="audio/mpeg" as="mp3" />
        <treat mimetype="audio/ogg" as="ogg" />
        <treat mimetype="audio/x-dsd" as="dsd" />
        <treat mimetype="audio/x-flac" as="flac" />
        <treat mimetype="audio/x-matroska" as="mka" />
        <treat mimetype="audio/x-mpegurl" as="playlist" />
        <treat mimetype="audio/x-ms-wma" as="wma" />
        <treat mimetype="audio/x-scpls" as="playlist" />
        <treat mimetype="audio/x-wav" as="pcm" />
        <treat mimetype="audio/x-wavpack" as="wv" />
        <treat mimetype="image/jpeg" as="jpg" />
        <treat mimetype="image/png" as="png" />
        <treat mimetype="video/mkv" as="mkv" />
        <treat mimetype="video/mp4" as="mp4" />
        <treat mimetype="video/mpeg" as="mpeg" />
        <treat mimetype="video/x-matroska" as="mkv" />
        <treat mimetype="video/x-mkv" as="mkv" />
        <treat mimetype="video/x-ms-asf" as="asf" />
        <treat mimetype="video/x-ms-asx" as="playlist" />
        <treat mimetype="video/x-msvideo" as="avi" />
      </mimetype-contenttype>
      <mimetype-dlnatransfermode>
        <map from="application/ogg" to="Streaming" />
        <map from="application/x-srt" to="Background" />
        <map from="audio/*" to="Streaming" />
        <map from="image/*" to="Interactive" />
        <map from="srt" to="Background" />
        <map from="text/*" to="Background" />
        <map from="video/*" to="Streaming" />
      </mimetype-dlnatransfermode>
      <contenttype-dlnaprofile>
        <map from="asf" to="VC_ASF_AP_L2_WMA" />
        <map from="avi" to="AVI" />
        <map from="dsd" to="DSF" />
        <map from="flac" to="FLAC" />
        <map from="jpg" to="JPEG_LRG" />
        <map from="mka" to="MKV" />
        <map from="mkv" to="MKV" />
        <map from="mp3" to="MP3" />
        <map from="mp4" to="AVC_MP4_EU" />
        <map from="mpeg" to="MPEG_PS_PAL" />
        <map from="ogg" to="OGG" />
        <map from="pcm" to="LPCM" />
        <map from="png" to="PNG_LRG" />
        <map from="wma" to="WMAFULL" />
      </contenttype-dlnaprofile>
    </mappings>
  </import>
  <transcoding enabled="no">
    <mimetype-profile-mappings>
      <transcode mimetype="application/ogg" using="vlcmpeg" />
      <transcode mimetype="audio/ogg" using="ogg2mp3" />
      <transcode mimetype="video/x-flv" using="vlcmpeg" />
    </mimetype-profile-mappings>
    <profiles>
      <profile name="ogg2mp3" enabled="no" type="external">
        <mimetype>audio/mpeg</mimetype>
        <accept-url>no</accept-url>
        <first-resource>yes</first-resource>
        <accept-ogg-theora>no</accept-ogg-theora>
        <agent command="ffmpeg" arguments="-y -i %in -f mp3 %out" />
        <buffer size="1048576" chunk-size="131072" fill-size="262144" />
      </profile>
      <profile name="vlcmpeg" enabled="no" type="external">
        <mimetype>video/mpeg</mimetype>
        <accept-url>yes</accept-url>
        <first-resource>yes</first-resource>
        <accept-ogg-theora>yes</accept-ogg-theora>
        <agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc://quit" />
        <buffer size="14400000" chunk-size="512000" fill-size="120000" />
      </profile>
    </profiles>
  </transcoding>
</config>
