public
Created

MediaTomb config & import script

  • Download Gist
config.xml
XML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
<?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"><!--
Read /usr/share/doc/mediatomb-common/README.gz section 6 for more
information on creating and using config.xml configration files.
-->
<server>
<ui enabled="yes" show-tooltips="yes">
<accounts enabled="no" session-timeout="30">
<account user="mediatomb" password="mediatomb"/>
</accounts>
</ui>
<name>MediaTomb</name>
<udn>uuid:b6dc2eae-9405-4292-adda-345d10a399d9</udn>
<home>/var/lib/mediatomb</home>
<webroot>/usr/share/mediatomb/web</webroot>
<storage caching="yes">
<sqlite3 enabled="yes">
<database-file>mediatomb.db</database-file>
</sqlite3>
<mysql enabled="no">
<host>localhost</host>
<username>mediatomb</username>
<database>mediatomb</database>
</mysql>
</storage>
<protocolInfo extend="no"/><!-- For PS3 support change to "yes" --><!--
Uncomment the lines below to get rid of jerky avi playback on the
DSM320 or to enable subtitles support on the DSM units
--><!--
<custom-http-headers>
<add header="X-User-Agent: redsonic"/>
</custom-http-headers>
 
<manufacturerURL>redsonic.com</manufacturerURL>
<modelNumber>105</modelNumber>
--><!-- Uncomment the line below if you have a Telegent TG100 --><!--
<upnp-string-limit>101</upnp-string-limit>
-->
<extended-runtime-options>
<ffmpegthumbnailer enabled="yes">
<thumbnail-size>128</thumbnail-size>
<seek-percentage>5</seek-percentage>
<filmstrip-overlay>yes</filmstrip-overlay>
<workaround-bugs>no</workaround-bugs>
</ffmpegthumbnailer>
<mark-played-items enabled="yes" suppress-cds-updates="yes">
<string mode="prepend">*</string>
</mark-played-items>
</extended-runtime-options>
</server>
<import hidden-files="no">
<scripting script-charset="UTF-8">
<common-script>/usr/share/mediatomb/js/common.js</common-script>
<playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>
<virtual-layout type="js">
<import-script>/usr/share/mediatomb/js/import.js</import-script>
<dvd-script>/usr/share/mediatomb/js/import-dvd.js</dvd-script>
</virtual-layout>
</scripting>
<mappings>
<extension-mimetype ignore-unknown="no">
<map from="mp3" to="audio/mpeg"/>
<map from="ogg" to="application/ogg"/>
<map from="asf" to="video/x-ms-asf"/>
<map from="asx" to="video/x-ms-asf"/>
<map from="wma" to="audio/x-ms-wma"/>
<map from="wax" to="audio/x-ms-wax"/>
<map from="wmv" to="video/x-ms-wmv"/>
<map from="wvx" to="video/x-ms-wvx"/>
<map from="wm" to="video/x-ms-wm"/>
<map from="wmx" to="video/x-ms-wmx"/>
<map from="m3u" to="audio/x-mpegurl"/>
<map from="pls" to="audio/x-scpls"/>
<map from="flv" to="video/x-flv"/>
<map from="mkv" to="video/x-matroska"/>
<map from="mka" to="audio/x-matroska"/><!-- 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="audio/*" to="object.item.audioItem.musicTrack"/>
<map from="video/*" to="object.item.videoItem"/>
<map from="image/*" to="object.item.imageItem"/>
<map from="application/ogg" to="object.item.audioItem.musicTrack"/>
</mimetype-upnpclass>
<mimetype-contenttype>
<treat mimetype="audio/mpeg" as="mp3"/>
<treat mimetype="application/ogg" as="ogg"/>
<treat mimetype="audio/x-flac" as="flac"/>
<treat mimetype="image/jpeg" as="jpg"/>
<treat mimetype="audio/x-mpegurl" as="playlist"/>
<treat mimetype="audio/x-scpls" as="playlist"/>
<treat mimetype="audio/x-wav" as="pcm"/>
<treat mimetype="audio/L16" as="pcm"/>
<treat mimetype="video/x-msvideo" as="avi"/>
<treat mimetype="video/mp4" as="mp4"/>
<treat mimetype="audio/mp4" as="mp4"/>
<treat mimetype="application/x-iso9660" as="dvd"/>
<treat mimetype="application/x-iso9660-image" as="dvd"/>
<treat mimetype="video/x-matroska" as="mkv"/>
<treat mimetype="audio/x-matroska" as="mka"/>
</mimetype-contenttype>
</mappings>
<online-content><!-- Make sure to setup a transcoding profile for flv -->
<YouTube enabled="no" refresh="28800" update-at-start="no" purge-after="604800" racy-content="exclude" format="flv" hd="no">
<favorites user="mediatomb"/>
<standardfeed feed="most_viewed" time-range="today"/>
<playlists user="mediatomb"/>
<uploads user="mediatomb"/>
<standardfeed feed="recently_featured" time-range="today"/>
</YouTube>
<Weborama enabled="no" refresh="28800" update-at-start="no">
<playlist name="Active" type="playlist" mood="active"/>
<playlist name="Metal" type="playlist">
<filter>
<genres>metal</genres>
</filter>
</playlist>
</Weborama>
<AppleTrailers enabled="no" refresh="43200" update-at-start="no" resolution="640"/>
</online-content>
</import>
<transcoding enabled="no">
<mimetype-profile-mappings>
<transcode mimetype="video/x-flv" using="vlcmpeg"/>
<transcode mimetype="application/ogg" using="vlcmpeg"/>
<transcode mimetype="application/ogg" using="oggflac2raw"/>
<transcode mimetype="audio/x-flac" using="oggflac2raw"/>
</mimetype-profile-mappings>
<profiles>
<profile name="oggflac2raw" enabled="no" type="external">
<mimetype>audio/L16</mimetype>
<accept-url>no</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>no</accept-ogg-theora>
<agent command="ogg123" arguments="-d raw -o byteorder:big"j -f %out %in"/>
<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>
import.js
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336
function addAudio(obj)
{
var desc = '';
var artist_full;
var album_full;
// first gather data
var title = obj.meta[M_TITLE];
if (!title) title = obj.title;
var artist = obj.meta[M_ARTIST];
if (!artist)
{
artist = 'Unknown';
artist_full = null;
}
else
{
artist_full = artist;
desc = artist;
}
var album = obj.meta[M_ALBUM];
if (!album)
{
album = 'Unknown';
album_full = null;
}
else
{
desc = desc + ', ' + album;
album_full = album;
}
if (desc)
desc = desc + ', ';
desc = desc + title;
var date = obj.meta[M_DATE];
if (!date)
{
date = 'Unknown';
}
else
{
date = getYear(date);
desc = desc + ', ' + date;
}
var genre = obj.meta[M_GENRE];
if (!genre)
{
genre = 'Unknown';
}
else
{
desc = desc + ', ' + genre;
}
var description = obj.meta[M_DESCRIPTION];
if (!description)
{
obj.meta[M_DESCRIPTION] = desc;
}
 
// uncomment this if you want to have track numbers in front of the title
// in album view
/*
var track = obj.meta[M_TRACKNUMBER];
if (!track)
track = '';
else
{
if (track.length == 1)
{
track = '0' + track;
}
track = track + ' ';
}
*/
// comment the following line out if you uncomment the stuff above :)
var track = '';
 
var chain = new Array('Audio', 'All Audio');
obj.title = title;
addCdsObject(obj, createContainerChain(chain));
chain = new Array('Audio', 'Artists', artist, 'All Songs');
addCdsObject(obj, createContainerChain(chain));
chain = new Array('Audio', 'All - full name');
var temp = '';
if (artist_full)
temp = artist_full;
if (album_full)
temp = temp + ' - ' + album_full + ' - ';
else
temp = temp + ' - ';
obj.title = temp + title;
addCdsObject(obj, createContainerChain(chain));
chain = new Array('Audio', 'Artists', artist, 'All - full name');
addCdsObject(obj, createContainerChain(chain));
chain = new Array('Audio', 'Artists', artist, album);
obj.title = track + title;
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC_ALBUM);
chain = new Array('Audio', 'Albums', album);
obj.title = track + title;
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC_ALBUM);
chain = new Array('Audio', 'Genres', genre);
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC_GENRE);
chain = new Array('Audio', 'Year', date);
addCdsObject(obj, createContainerChain(chain));
}
 
function addVideo(obj)
{
if (obj.location.match(/\/Thumbs\.db$/) != null) return;
 
addCdsObject(obj, createContainerChain(new Array('Video', 'All Video')));
 
var chain = new Array('Video'), dbDirs = new Array(), isTv = false, isMovie = false;
var fsDirs = (function(){var d = obj.location.split('/');d.pop();return d;})();
// Find the first directory that starts with "Movies" or "TV"
// and if it's a movie, just put it in the Movies directory.
// If it's a TV show, use the directory structure that's there,
// excluding everything before the 'TV' directory
 
for (var i = fsDirs.length-1; i > -1; i--) {
if (fsDirs[i].match(/^Movies/) != null) {
isMovie = true;
break;
}
else if (fsDirs[i].match(/^TV/) != null) {
isTv = true;
break;
}
else {
dbDirs.push(fsDirs[i]);
}
}
 
chain = isTv ? chain.concat('TV Shows').concat(dbDirs.reverse()) : isMovie ? chain.concat('Movies') : chain.concat('Other Video');
 
addCdsObject(obj, createContainerChain(chain));
}
 
function addVideo_old(obj)
{
//var chain = new Array('Video', 'All Video');
var chain = new Array('Video');
addCdsObject(obj, createContainerChain(chain));
 
var dir = getRootPath(object_root_path, obj.location);
 
if (dir.length > 0)
{
chain = new Array('Video', 'Directories');
chain = chain.concat(dir);
 
addCdsObject(obj, createContainerChain(chain));
}
}
 
function addWeborama(obj)
{
var req_name = obj.aux[WEBORAMA_AUXDATA_REQUEST_NAME];
if (req_name)
{
var chain = new Array('Online Services', 'Weborama', req_name);
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_PLAYLIST_CONTAINER);
}
}
 
function addImage(obj)
{
var chain = new Array('Photos', 'All Photos');
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER);
 
var date = obj.meta[M_DATE];
if (date)
{
var dateParts = date.split('-');
if (dateParts.length > 1)
{
var year = dateParts[0];
var month = dateParts[1];
 
chain = new Array('Photos', 'Year', year, month);
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER);
}
 
chain = new Array('Photos', 'Date', date);
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER);
}
 
var dir = getRootPath(object_root_path, obj.location);
 
if (dir.length > 0)
{
chain = new Array('Photos', 'Directories');
chain = chain.concat(dir);
 
addCdsObject(obj, createContainerChain(chain));
}
}
 
 
function addYouTube(obj)
{
var chain;
 
var temp = parseInt(obj.aux[YOUTUBE_AUXDATA_AVG_RATING], 10);
if (temp != Number.NaN)
{
temp = Math.round(temp);
if (temp > 3)
{
chain = new Array('Online Services', 'YouTube', 'Rating',
temp.toString());
addCdsObject(obj, createContainerChain(chain));
}
}
 
temp = obj.aux[YOUTUBE_AUXDATA_REQUEST];
if (temp)
{
var subName = (obj.aux[YOUTUBE_AUXDATA_SUBREQUEST_NAME]);
var feedName = (obj.aux[YOUTUBE_AUXDATA_FEED]);
var region = (obj.aux[YOUTUBE_AUXDATA_REGION]);
 
chain = new Array('Online Services', 'YouTube', temp);
 
if (subName)
chain.push(subName);
 
if (feedName)
chain.push(feedName);
 
if (region)
chain.push(region);
 
addCdsObject(obj, createContainerChain(chain));
}
}
 
function addTrailer(obj)
{
var chain;
 
chain = new Array('Online Services', 'Apple Trailers', 'All Trailers');
addCdsObject(obj, createContainerChain(chain));
 
var genre = obj.meta[M_GENRE];
if (genre)
{
genres = genre.split(', ');
for (var i = 0; i < genres.length; i++)
{
chain = new Array('Online Services', 'Apple Trailers', 'Genres',
genres[i]);
addCdsObject(obj, createContainerChain(chain));
}
}
 
var reldate = obj.meta[M_DATE];
if ((reldate) && (reldate.length >= 7))
{
chain = new Array('Online Services', 'Apple Trailers', 'Release Date',
reldate.slice(0, 7));
addCdsObject(obj, createContainerChain(chain));
}
 
var postdate = obj.aux[APPLE_TRAILERS_AUXDATA_POST_DATE];
if ((postdate) && (postdate.length >= 7))
{
chain = new Array('Online Services', 'Apple Trailers', 'Post Date',
postdate.slice(0, 7));
addCdsObject(obj, createContainerChain(chain));
}
}
 
// main script part
 
if (getPlaylistType(orig.mimetype) == '')
{
var arr = orig.mimetype.split('/');
var mime = arr[0];
// var obj = copyObject(orig);
var obj = orig;
obj.refID = orig.id;
if (mime == 'audio')
{
if (obj.onlineservice == ONLINE_SERVICE_WEBORAMA)
addWeborama(obj);
else
addAudio(obj);
}
if (mime == 'video')
{
if (obj.onlineservice == ONLINE_SERVICE_YOUTUBE)
addYouTube(obj);
else if (obj.onlineservice == ONLINE_SERVICE_APPLE_TRAILERS)
addTrailer(obj);
else
addVideo(obj);
}
if (mime == 'image')
{
addImage(obj);
}
 
if (orig.mimetype == 'application/ogg')
{
if (orig.theora == 1)
addVideo(obj);
else
addAudio(obj);
}
}
logfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361
2013-11-02 13:17:23 INFO: Loading configuration from: /etc/mediatomb/config_js.xml
2013-11-02 13:17:23 INFO: Checking configuration...
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/tmpdir using default value: /tmp/
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/servedir using default value:
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/storage/sqlite3/synchronous using default value: off
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/storage/sqlite3/on-error using default value: restore
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/storage/sqlite3/backup/attribute::enabled using default value: no
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/storage/sqlite3/backup/attribute::interval using default value: 600
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/ui/attribute::poll-when-idle using default value: no
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/ui/attribute::poll-interval using default value: 2
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/ui/items-per-page/attribute::default using default value: 25
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/mappings/extension-mimetype/attribute::case-sensitive using default value: no
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:1365] validate(): received UTF-8 from nl_langinfo
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/filesystem-charset using default value: UTF-8
2013-11-02 13:17:23 INFO: Setting filesystem import charset to UTF-8
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/metadata-charset using default value: UTF-8
2013-11-02 13:17:23 INFO: Setting metadata import charset to UTF-8
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/playlist-charset using default value: UTF-8
2013-11-02 13:17:23 INFO: Setting playlist charset to UTF-8
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/pc-directory/attribute::upnp-hide using default value: no
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/interface using default value:
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/ip using default value:
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/bookmark using default value: mediatomb.html
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/modelName using default value: MediaTomb
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/modelDescription using default value: Free UPnP AV MediaServer, GNU GPL
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/modelNumber using default value: 0.12.1
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/serialNumber using default value: 1
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/manufacturerURL using default value: http://mediatomb.cc/
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/presentationURL using default value:
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/presentationURL/attribute::append-to using default value: none
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/upnp-string-limit using default value: -1
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/scripting/playlist-script/attribute::create-link using default value: yes
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/port using default value: 0
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/alive using default value: 1800
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/autoscan/attribute::use-inotify using default value: auto
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/library-options/libexif/auxdata using default value:
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/library-options/id3/auxdata using default value:
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/extended-runtime-options/ffmpegthumbnailer/image-quality using default value: 8
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/magic-file using default value:
2013-11-02 13:17:23 WARNING: You enabled the YouTube feature, which allows you
to watch YouTube videos on your UPnP device!
Please check http://www.youtube.com/t/terms
By using this feature you may be violating YouTube
service terms and conditions!
 
2013-11-02 13:17:23 INFO: Configuration check succeeded.
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2273] validate(): Config file dump after validation:
<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"><!--
Read /usr/share/doc/mediatomb-common/README.gz section 6 for more
information on creating and using config.xml configration files.
-->
<server>
<ui enabled="yes" show-tooltips="yes" poll-when-idle="no" poll-interval="2">
<accounts enabled="no" session-timeout="30">
<account user="mediatomb" password="mediatomb"/>
</accounts>
<items-per-page default="25"><option>10</option><option>25</option><option>50</option><option>100</option></items-per-page></ui>
<name>MediaTomb</name>
<udn>uuid:b6dc2eae-9405-4292-adda-345d10a399d9</udn>
<home>/var/lib/mediatomb</home>
<webroot>/usr/share/mediatomb/web</webroot>
<storage caching="yes">
<sqlite3 enabled="yes">
<database-file>/var/lib/mediatomb/mediatomb.db</database-file>
<synchronous>off</synchronous><on-error>restore</on-error><backup enabled="no" interval="600"/></sqlite3>
<mysql enabled="no">
<host>localhost</host>
<username>mediatomb</username>
<database>mediatomb</database>
</mysql>
</storage>
<protocolInfo extend="no"/><!-- For PS3 support change to "yes" --><!--
Uncomment the lines below to get rid of jerky avi playback on the
DSM320 or to enable subtitles support on the DSM units
--><!--
<custom-http-headers>
<add header="X-User-Agent: redsonic"/>
</custom-http-headers>
 
<manufacturerURL>redsonic.com</manufacturerURL>
<modelNumber>105</modelNumber>
--><!-- Uncomment the line below if you have a Telegent TG100 --><!--
<upnp-string-limit>101</upnp-string-limit>
-->
<extended-runtime-options>
<ffmpegthumbnailer enabled="yes">
<thumbnail-size>128</thumbnail-size>
<seek-percentage>5</seek-percentage>
<filmstrip-overlay>yes</filmstrip-overlay>
<workaround-bugs>no</workaround-bugs>
<image-quality>8</image-quality></ffmpegthumbnailer>
<mark-played-items enabled="yes" suppress-cds-updates="yes">
<string mode="prepend">*</string>
</mark-played-items>
</extended-runtime-options>
<tmpdir>/tmp/</tmpdir><servedir></servedir><pc-directory upnp-hide="no"/><interface></interface><ip></ip><bookmark>mediatomb.html</bookmark><modelName>MediaTomb</modelName><modelDescription>Free UPnP AV MediaServer, GNU GPL</modelDescription><modelNumber>0.12.1</modelNumber><serialNumber>1</serialNumber><manufacturerURL>http://mediatomb.cc/</manufacturerURL><presentationURL append-to="none"></presentationURL><upnp-string-limit>-1</upnp-string-limit><port>0</port><alive>1800</alive></server>
<import hidden-files="no">
<scripting script-charset="UTF-8">
<common-script>/usr/share/mediatomb/js/common.js</common-script>
<playlist-script create-link="yes">/usr/share/mediatomb/js/playlists.js</playlist-script>
<virtual-layout type="js">
<import-script>/usr/share/mediatomb/js/import.js</import-script>
<dvd-script>/usr/share/mediatomb/js/import-dvd.js</dvd-script>
</virtual-layout>
</scripting>
<mappings>
<extension-mimetype ignore-unknown="no" case-sensitive="no">
<map from="mp3" to="audio/mpeg"/>
<map from="ogg" to="application/ogg"/>
<map from="asf" to="video/x-ms-asf"/>
<map from="asx" to="video/x-ms-asf"/>
<map from="wma" to="audio/x-ms-wma"/>
<map from="wax" to="audio/x-ms-wax"/>
<map from="wmv" to="video/x-ms-wmv"/>
<map from="wvx" to="video/x-ms-wvx"/>
<map from="wm" to="video/x-ms-wm"/>
<map from="wmx" to="video/x-ms-wmx"/>
<map from="m3u" to="audio/x-mpegurl"/>
<map from="pls" to="audio/x-scpls"/>
<map from="flv" to="video/x-flv"/>
<map from="mkv" to="video/x-matroska"/>
<map from="mka" to="audio/x-matroska"/><!-- 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="audio/*" to="object.item.audioItem.musicTrack"/>
<map from="video/*" to="object.item.videoItem"/>
<map from="image/*" to="object.item.imageItem"/>
<map from="application/ogg" to="object.item.audioItem.musicTrack"/>
</mimetype-upnpclass>
<mimetype-contenttype>
<treat mimetype="audio/mpeg" as="mp3"/>
<treat mimetype="application/ogg" as="ogg"/>
<treat mimetype="audio/x-flac" as="flac"/>
<treat mimetype="image/jpeg" as="jpg"/>
<treat mimetype="audio/x-mpegurl" as="playlist"/>
<treat mimetype="audio/x-scpls" as="playlist"/>
<treat mimetype="audio/x-wav" as="pcm"/>
<treat mimetype="audio/L16" as="pcm"/>
<treat mimetype="video/x-msvideo" as="avi"/>
<treat mimetype="video/mp4" as="mp4"/>
<treat mimetype="audio/mp4" as="mp4"/>
<treat mimetype="application/x-iso9660" as="dvd"/>
<treat mimetype="application/x-iso9660-image" as="dvd"/>
<treat mimetype="video/x-matroska" as="mkv"/>
<treat mimetype="audio/x-matroska" as="mka"/>
</mimetype-contenttype>
</mappings>
<online-content><!-- Make sure to setup a transcoding profile for flv -->
<YouTube enabled="no" refresh="28800" update-at-start="no" purge-after="604800" racy-content="exclude" format="flv" hd="no">
<favorites user="mediatomb"/>
<standardfeed feed="most_viewed" time-range="today"/>
<playlists user="mediatomb"/>
<uploads user="mediatomb"/>
<standardfeed feed="recently_featured" time-range="today"/>
</YouTube>
<Weborama enabled="no" refresh="28800" update-at-start="no">
<playlist name="Active" type="playlist" mood="active"/>
<playlist name="Metal" type="playlist">
<filter>
<genres>metal</genres>
</filter>
</playlist>
</Weborama>
<AppleTrailers enabled="no" refresh="43200" update-at-start="no" resolution="640"/>
</online-content>
<filesystem-charset>UTF-8</filesystem-charset><metadata-charset>UTF-8</metadata-charset><playlist-charset>UTF-8</playlist-charset><autoscan use-inotify="auto"/><library-options><libexif><auxdata></auxdata></libexif><id3><auxdata></auxdata></id3></library-options><magic-file></magic-file></import>
<transcoding enabled="no">
<mimetype-profile-mappings>
<transcode mimetype="video/x-flv" using="vlcmpeg"/>
<transcode mimetype="application/ogg" using="vlcmpeg"/>
<transcode mimetype="application/ogg" using="oggflac2raw"/>
<transcode mimetype="audio/x-flac" using="oggflac2raw"/>
</mimetype-profile-mappings>
<profiles>
<profile name="oggflac2raw" enabled="no" type="external">
<mimetype>audio/L16</mimetype>
<accept-url>no</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>no</accept-ogg-theora>
<agent command="ogg123" arguments="-d raw -o byteorder:big -f %out %in"/>
<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>
 
2013-11-02 13:17:23 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 0 -> 1
2013-11-02 13:17:23 DEBUG: [../src/zmmf/object_stack.h:54] ~ObjectStack(): releasing!
2013-11-02 13:17:23 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 1 -> 2
2013-11-02 13:17:23 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 2 -> 3
2013-11-02 13:17:23 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 3 -> 4
2013-11-02 13:17:23 DEBUG: [../src/server.cc:118] upnp_init(): start
2013-11-02 13:17:23 DEBUG: [../src/storage/sqlite3/sqlite3_storage.cc:190] init(): db_version: 3
2013-11-02 13:17:23 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 4 -> 5
2013-11-02 13:17:23 INFO: Initialized port: 9000
2013-11-02 13:17:23 INFO: Server bound to: 192.168.0.200
2013-11-02 13:17:23 DEBUG: [../src/server.cc:203] upnp_init(): webroot: /usr/share/mediatomb/web
2013-11-02 13:17:23 DEBUG: [../src/upnp_xml.cc:200] UpnpXML_RenderDeviceDescription(): start
2013-11-02 13:17:24 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 5 -> 6
2013-11-02 13:17:24 DEBUG: [../src/storage/sql_storage.cc:1815] updateAutoscanPersistentList(): setting persistent autoscans untouched - scanmode: timed;
2013-11-02 13:17:24 DEBUG: [../src/storage/sql_storage.cc:1826] updateAutoscanPersistentList(): updating/adding persistent autoscans (count: 0)
2013-11-02 13:17:24 DEBUG: [../src/storage/sql_storage.cc:1815] updateAutoscanPersistentList(): setting persistent autoscans untouched - scanmode: inotify;
2013-11-02 13:17:24 DEBUG: [../src/storage/sql_storage.cc:1826] updateAutoscanPersistentList(): updating/adding persistent autoscans (count: 0)
2013-11-02 13:17:24 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 6 -> 7
2013-11-02 13:17:24 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 7 -> 8
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:65] AutoscanInotify(): Max watches on the system: 8192
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:90] init(): starting inotify thread...
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:347] monitor(): ---> INCOMING REQUEST TO MONITOR [/mnt/foo/TV Shows]
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:347] monitor(): ---> INCOMING REQUEST TO MONITOR [/mnt/bar/TV Shows]
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:347] monitor(): ---> INCOMING REQUEST TO MONITOR [/mnt/bar/Movies]
2013-11-02 13:17:24 INFO: MediaTomb Web UI can be reached by following this link:
2013-11-02 13:17:24 INFO: http://192.168.0.200:9000/
2013-11-02 13:17:24 DEBUG: [../src/server.cc:311] upnp_init(): end
2013-11-02 13:17:24 DEBUG: [../src/timer.cc:67] triggerWait(): triggerWait. - 0 subscriber(s)
2013-11-02 13:17:24 DEBUG: [../src/timer.cc:98] triggerWait(): nothing to do, sleeping...
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:128] staticThreadProc(): started inotify thread.
2013-11-02 13:17:24 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:203] threadProc(): adding recursive watch: /mnt/foo/TV Shows
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:376] watchPathForMoves(): adding move watch: /
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:376] watchPathForMoves(): adding move watch: /mnt
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:376] watchPathForMoves(): adding move watch: /mnt/foo
 
... snip about 2500 lines of indexing crap ...
 
2013-11-02 13:17:38 DEBUG: [../src/content_manager.cc:747] _rescanDirectory(): start
2013-11-02 13:17:38 DEBUG: [../src/content_manager.cc:821] _rescanDirectory(): Rescanning location: /mnt/foo/TV Shows/Pioneer One
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1522] _recursiveRemove(): start
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1429] _removeObjects(): SELECT "a"."id","a"."persistent","o"."location" FROM "mt_autoscan" a JOIN "mt_cds_object" o ON "o"."id"="a"."obj_id" WHERE "o"."id" IN (119497,119498,119499)
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1434] _removeObjects(): relevant autoscans!
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1666] _recursiveRemove(): end
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1672] _purgeEmptyContainers(): start upnp: ,96041,94396,96044; ui:
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1710] _purgeEmptyContainers(): upnp-sql: SELECT "a"."id", COUNT("b"."parent_id"),"a"."parent_id","a"."flags" FROM "mt_cds_object" "a" LEFT JOIN "mt_cds_object" "b" ON "a"."id"="b"."parent_id" WHERE "a"."object_type"=1 AND "a"."id" IN ( 96041,94396,96044) GROUP BY a.id
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1783] _purgeEmptyContainers(): end; changedContainers (upnp): 94396,96041,96044
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1784] _purgeEmptyContainers(): end; changedContainers (ui):
2013-11-02 13:17:38 DEBUG: [../src/metadata/ffmpeg_handler.cc:276] fillMetadata(): Running ffmpeg handler on /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:191] addFfmpegResourceFields(): Added duration: 00:35:32.0
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:235] addFfmpegResourceFields(): Added resolution: 1280x720 pixel
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:248] addFfmpegResourceFields(): Added sample frequency: 48000 Hz
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:255] addFfmpegResourceFields(): Added number of audio channels: 2
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is -333
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","upnp_class","dc_title","resources","flags","location","location_hash","mime_type","parent_id","id") VALUES (2,'object.item.videoItem','Pioneer.One.S01E01.720p.x264-VODO.mkv','0~protocolInfo=http-get%3A%2A%3Avideo%2Fx-matroska%3A%2A&size=1172308607&duration=00%3A35%3A32%2E0&resolution=1280x720&sampleFrequency=48000&nrAudioChannels=2~~',1,'F/mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv',556382427,'video/x-matroska',96041,120415)
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96041
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements)
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96041, signal: 0
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/All Video
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 94396
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120415,'Pioneer.One.S01E01.720p.x264-VODO.mkv',1,'video/x-matroska',94396,120416)
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 94396
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements)
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 94396, signal: 0
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/TV Shows/Pioneer One
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 96044
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120415,'Pioneer.One.S01E01.720p.x264-VODO.mkv',1,'video/x-matroska',96044,120417)
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96044
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements)
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96044, signal: 0
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1522] _recursiveRemove(): start
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1429] _removeObjects(): SELECT "a"."id","a"."persistent","o"."location" FROM "mt_autoscan" a JOIN "mt_cds_object" o ON "o"."id"="a"."obj_id" WHERE "o"."id" IN (119500,119501,119502)
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1434] _removeObjects(): relevant autoscans!
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1666] _recursiveRemove(): end
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1672] _purgeEmptyContainers(): start upnp: ,96041,94396,96044; ui:
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1710] _purgeEmptyContainers(): upnp-sql: SELECT "a"."id", COUNT("b"."parent_id"),"a"."parent_id","a"."flags" FROM "mt_cds_object" "a" LEFT JOIN "mt_cds_object" "b" ON "a"."id"="b"."parent_id" WHERE "a"."object_type"=1 AND "a"."id" IN ( 96041,94396,96044) GROUP BY a.id
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1783] _purgeEmptyContainers(): end; changedContainers (upnp): 94396,96041,96044
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1784] _purgeEmptyContainers(): end; changedContainers (ui):
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:276] fillMetadata(): Running ffmpeg handler on /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:237] threadProc(): sending updates...
2013-11-02 13:17:39 DEBUG: [../src/upnp_cds_subscriptions.cc:82] subscription_update(): start
2013-11-02 13:17:39 DEBUG: [../src/upnp_cds_subscriptions.cc:106] subscription_update(): end
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:264] threadProc(): updates sent.
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:191] addFfmpegResourceFields(): Added duration: 00:38:41.8
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:235] addFfmpegResourceFields(): Added resolution: 1280x720 pixel
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:248] addFfmpegResourceFields(): Added sample frequency: 48000 Hz
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:255] addFfmpegResourceFields(): Added number of audio channels: 2
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is -333
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","upnp_class","dc_title","resources","flags","location","location_hash","mime_type","parent_id","id") VALUES (2,'object.item.videoItem','Pioneer.One.S01E02.720p.x264-VODO.mkv','0~protocolInfo=http-get%3A%2A%3Avideo%2Fx-matroska%3A%2A&size=1173790774&duration=00%3A38%3A41%2E8&resolution=1280x720&sampleFrequency=48000&nrAudioChannels=2~~',1,'F/mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv',4272161592,'video/x-matroska',96041,120418)
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96041
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements)
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96041, signal: 1
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:174] containerChanged(): signalling...
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:215] threadProc(): threadProc: sleeping for 1647 millis
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/All Video
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 94396
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120418,'Pioneer.One.S01E02.720p.x264-VODO.mkv',1,'video/x-matroska',94396,120419)
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 94396
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements)
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 94396, signal: 0
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/TV Shows/Pioneer One
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 96044
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120418,'Pioneer.One.S01E02.720p.x264-VODO.mkv',1,'video/x-matroska',96044,120420)
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96044
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements)
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96044, signal: 0
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1522] _recursiveRemove(): start
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1429] _removeObjects(): SELECT "a"."id","a"."persistent","o"."location" FROM "mt_autoscan" a JOIN "mt_cds_object" o ON "o"."id"="a"."obj_id" WHERE "o"."id" IN (119503,119504,119505)
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1434] _removeObjects(): relevant autoscans!
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1666] _recursiveRemove(): end
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1672] _purgeEmptyContainers(): start upnp: ,96041,94396,96044; ui:
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1710] _purgeEmptyContainers(): upnp-sql: SELECT "a"."id", COUNT("b"."parent_id"),"a"."parent_id","a"."flags" FROM "mt_cds_object" "a" LEFT JOIN "mt_cds_object" "b" ON "a"."id"="b"."parent_id" WHERE "a"."object_type"=1 AND "a"."id" IN ( 96041,94396,96044) GROUP BY a.id
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1783] _purgeEmptyContainers(): end; changedContainers (upnp): 94396,96041,96044
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1784] _purgeEmptyContainers(): end; changedContainers (ui):
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:276] fillMetadata(): Running ffmpeg handler on /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:191] addFfmpegResourceFields(): Added duration: 00:31:46.3
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:201] addFfmpegResourceFields(): Added overall bitrate: 205925 kb/s
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:223] addFfmpegResourceFields(): FourCC: 44495658 = XVID
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:235] addFfmpegResourceFields(): Added resolution: 624x352 pixel
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:248] addFfmpegResourceFields(): Added sample frequency: 48000 Hz
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:255] addFfmpegResourceFields(): Added number of audio channels: 2
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is -333
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","upnp_class","dc_title","resources","flags","location","location_hash","mime_type","parent_id","id") VALUES (2,'object.item.videoItem','Pioneer.One.S01E03.Xvid-VODO.avi','0~protocolInfo=http-get%3A%2A%3Avideo%2Fx-msvideo%3A%2A&size=392560640&duration=00%3A31%3A46%2E3&bitrate=205925&resolution=624x352&sampleFrequency=48000&nrAudioChannels=2~~4cc=XVID',1,'F/mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi',2980817655,'video/x-msvideo',96041,120421)
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96041
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements)
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96041, signal: 0
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/All Video
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 94396
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120421,'Pioneer.One.S01E03.Xvid-VODO.avi',1,'video/x-msvideo',94396,120422)
2013-11-02 13:17:40 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 94396
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements)
2013-11-02 13:17:40 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 94396, signal: 0
2013-11-02 13:17:40 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi
2013-11-02 13:17:40 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi
2013-11-02 13:17:40 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/TV Shows/Pioneer One
2013-11-02 13:17:40 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 96044
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120421,'Pioneer.One.S01E03.Xvid-VODO.avi',1,'video/x-msvideo',96044,120423)
2013-11-02 13:17:40 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96044
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements)
2013-11-02 13:17:40 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96044, signal: 0
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1522] _recursiveRemove(): start
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1429] _removeObjects(): SELECT "a"."id","a"."persistent","o"."location" FROM "mt_autoscan" a JOIN "mt_cds_object" o ON "o"."id"="a"."obj_id" WHERE "o"."id" IN (119506,119507,119508)
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1434] _removeObjects(): relevant autoscans!
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1666] _recursiveRemove(): end
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1672] _purgeEmptyContainers(): start upnp: ,96041,94396,96044; ui:
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1710] _purgeEmptyContainers(): upnp-sql: SELECT "a"."id", COUNT("b"."parent_id"),"a"."parent_id","a"."flags" FROM "mt_cds_object" "a" LEFT JOIN "mt_cds_object" "b" ON "a"."id"="b"."parent_id" WHERE "a"."object_type"=1 AND "a"."id" IN ( 96041,94396,96044) GROUP BY a.id
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1783] _purgeEmptyContainers(): end; changedContainers (upnp): 94396,96041,96044
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1784] _purgeEmptyContainers(): end; changedContainers (ui):
2013-11-02 13:17:40 DEBUG: [../src/metadata/ffmpeg_handler.cc:276] fillMetadata(): Running ffmpeg handler on /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E04.720p.x264-VODO.mkv
2013-11-02 13:17:40 DEBUG: [../src/web_callbacks.cc:72] create_request_handler(): Filename: /content/media/object_id/119962/res_id/0/ext/file.mkv, Path: (null)
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:345] open(): start
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:360] open(): full url (filename): /content/media/object_id/119962/res_id/0/ext/file.mkv, parameters: object_id/119962/res_id/0/ext/file.mkv
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:370] open(): Opening media file with object id 119962
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:506] open(): path: /mnt/foo/TV Shows/Better Off Ted/Better.Off.Ted.S01E01.720p.HDTV.x264-CTU/better.off.ted.s01e01.720p.hdtv.x264-ctu.mkv
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:519] open(): fetching resource id 0
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:671] open(): Adding content disposition header: Content-Disposition: attachment; filename="better.off.ted.s01e01.720p.hdtv.x264-ctu.mkv"
2013-11-02 13:17:40 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 10 -> 11

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.