~ubuntu-branches/ubuntu/vivid/mediatomb/vivid

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Andres Mejia
  • Date: 2008-03-02 13:09:16 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080302130916-zlljdze3kt7vuq4b
Tags: 0.11.0-1
* New upstream release.
* Include message about which inotify headers will be used when enabling
  inotify runtime support.
* Fixed error with use of INTERFACE in init script. Also removed use of -m
  option.
* Including new config.xml options.
* Added more build dependencies for new upstream release.
* Removed build dependency of libid3-dev, taglib is now preferred.
* mediatomb.xpm and manpage.xml is now included in orig tarball.
* inotify patch is not needed anymore.
* md5 patch has been committed upstream and is no longer needed. Also removed
  README.Debian.
* TwinHelix PNG fix is now used. Removed from TODO.
* Adding dependency of iceweasel for mediatomb package.
* Updated copyright file.
* Updated watch file.
* Updated rules file for proper configure options.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
MediaTomb - UPnP MediaServer
2
2
 
3
 
This documentation is valid for MediaTomb version 0.10.0.
 
3
This documentation is valid for MediaTomb version 0.11.0.
4
4
 
5
5
Copyright   2005 Gena Batsyan, Sergey Bostandzhyan
6
6
 
48
48
 
49
49
    6.1. Server Settings
50
50
    6.2. Import Settings
 
51
    6.3. Transcoding Settings
51
52
 
52
53
7. Supported Devices
53
54
 
109
110
  * sophisticated web UI with a tree view of the database and the file system,
110
111
    allowing to add/remove/edit/browse your media
111
112
 
 
113
  * highly flexible transcoding media format transcoding via plugins / scripts
 
114
 
112
115
  * support for external URLs (create links to internet content and serve them
113
116
    via UPnP to your renderer)
114
117
 
158
161
  * mysql client library (version > 4.0.x) http://mysql.org/ REQUIRED (if
159
162
    sqlite is not available)
160
163
 
 
164
  * expat http://expat.sourceforge.net/ OPTIONAL, RECOMMENDED
 
165
 
 
166
    Expat is a very good and robust XML parser, so far we have been using our
 
167
    own, but ran into problems from time to time. So from now on eXpat is the
 
168
    preferred for parsing XML in MediaTomb.
 
169
 
161
170
  * zlib http://www.zlib.net/ OPTIONAL, HIGHLY RECOMMENDED
162
171
 
163
172
    Zlib is a compression library that is available on most systems, we need it
182
191
    and modified - it allows you to create the layout that you want.
183
192
 
184
193
  * taglib http://developer.kde.org/~wheeler/taglib.html OPTIONAL, RECOMMENDED
185
 
    (if id3lib is not available)
186
194
 
187
195
    This library retrieves metadata from mp3, ogg and flac files. You will need
188
196
    it if you want to have virtual objects for those files (i.e. nice content
191
199
    Note:
192
200
 
193
201
        It makes no sense to use taglib and id3lib at the same time, the
194
 
        configure script will first look for id3lib, if id3lib detection fails
195
 
        it will search for taglib. You can also force the script to take the
196
 
        library of your choice, overriding the default setting.
 
202
        configure script will first look for TagLib, if TagLib detection fails
 
203
        it will search for id3lib. You can also force the configure script to
 
204
        take the library of your choice, overriding the default setting.
197
205
 
198
206
  * id3lib http://id3lib.sourceforge.net/ (at least version 3.8.3) OPTIONAL,
199
 
    RECOMMENDED
 
207
    RECOMMENDED (if TagLib is not available)
200
208
 
201
209
    This library retrieves id3 tags from mp3 files.
202
210
 
208
216
    EXIF thumbnails are present in your images they will also be offered via
209
217
    UPnP.
210
218
 
 
219
  * curl http://curl.haxx.se/ OPTIONAL
 
220
 
 
221
    curl is a library that allows to easily fetch content from the web,
 
222
    combined with the external transcoding it offers some additional
 
223
    functionality and enables the use of plugins that have no builtin online
 
224
    content support.
 
225
 
211
226
  * libextractor http://gnunet.org/libextractor/ OPTIONAL
212
227
 
213
228
    This library tries to gather metadata from all kinds of files (also .avi
220
235
    libextractor is disabled, use ./configure --enable-libextractor to activate
221
236
    it.
222
237
 
 
238
  * ffmpeg http://ffmpeg.mplayerhq.hu/ OPTIONAL
 
239
 
 
240
    Currently ffmpeg is used to gather additional metadata from audio and video
 
241
    files.
 
242
 
223
243
In order to use the web UI you will need to have javascript enabled in your web
224
244
browser.
225
245
 
253
273
This should compile and install MediaTomb, the resulting binary is ready to
254
274
run.
255
275
 
 
276
Note:
 
277
 
 
278
    if you checked out the sources from SVN the configure script will not be
 
279
    available, you will have to create it with the following command:
 
280
 
 
281
autoreconf -i
 
282
 
256
283
3.2. Configure Options
257
284
 
258
285
The MediaTomb configure script provides a large variety of options, allowing
427
454
360 support. If you have a renderer that requires this service, you can safely
428
455
enable it. It will always return true to IsValidated and IsAuthorized requests.
429
456
 
 
457
Note:
 
458
 
 
459
    eventhough this service is implemented there is still no Xbox 360 support
 
460
    in MediaTomb, more work needs to be done.
 
461
 
430
462
3.2.11. Playstation 3 Support
431
463
 
432
464
--enable-protocolinfo-extension
559
591
 
560
592
Default:
561
593
 
562
 
    enabled, preferred over taglib
 
594
    disabled, used if taglib is not available
563
595
 
564
596
This library will parse id3 tags of your MP3 files, the gathered information
565
597
will be saved in the database and provided via UPnP. Further, the gathered
572
604
 
573
605
Default:
574
606
 
575
 
    disabled if id3lib is available
 
607
    enabled, preffered over id3lib
576
608
 
577
609
This library will parse id3 tags of your MP3 files as well as information
578
610
provided with flac files. It claims to be faster than id3lib, but it also seems
617
649
 
618
650
Default:
619
651
 
620
 
    enabled
 
652
    auto
621
653
 
622
654
Inotify is a kernel mechanism that allows monitoring of filesystem events. You
623
655
need this if you want to use the Inotify Autoscan mode, contrary to the Timed
625
657
immedeately propagate changes in monitored directories on the filesystem to the
626
658
database.
627
659
 
628
 
3.2.24. MediaTomb Debug Output
 
660
If you do not specify this option configure will check if inotify works on the
 
661
build system and compile it in only if the check succeeds. If you specify this
 
662
option, the functionality will be compiled in even if the build system does not
 
663
support inotify - the availability of inotify will then be checked at server
 
664
runtime.
 
665
 
 
666
3.2.24. External Transcoding
 
667
 
 
668
--enable-external-transcoding
 
669
 
 
670
Default:
 
671
 
 
672
    enabled
 
673
 
 
674
3.2.25. Curl
 
675
 
 
676
--enable-curl
 
677
 
 
678
Default:
 
679
 
 
680
    enabled if external transcoding feature is turned on
 
681
 
 
682
It only makes sense to enable the curl library if External Transcoding is
 
683
turned on.
 
684
 
 
685
3.2.26. Ffmpeg Support
 
686
 
 
687
--enable-ffmpeg
 
688
 
 
689
Default:
 
690
 
 
691
    enabled
 
692
 
 
693
Currently the ffmpeg library is used to extract additional information from
 
694
audio and video files. It is also capable of reading out the tag information
 
695
from theora content. It is not yet used for transcoding, so this feature only
 
696
gathers additional metadata.
 
697
 
 
698
3.2.27. libexpat Support
 
699
 
 
700
--enable-expat
 
701
 
 
702
Default:
 
703
 
 
704
    enabled
 
705
 
 
706
Expat is a very good XML parser, until now we were doing the parsing ourselves
 
707
and occaisonally ran into problems. Turning this feature on will ensure that
 
708
expat is used instead of our internal parser, thus making the parsing more
 
709
robust.
 
710
 
 
711
3.2.28. MediaTomb Debug Output
629
712
 
630
713
--enable-tombdebug
631
714
 
638
721
trying to trace down a bug or a problem, the additional output may give you
639
722
some clues.
640
723
 
641
 
3.2.25. UPnP Library Debug Output
 
724
3.2.29. UPnP Library Debug Output
642
725
 
643
726
--enable-upnpdebug
644
727
 
649
732
This option enables debug output of the UPnP SDK. You should not need it under
650
733
normal circumstances.
651
734
 
652
 
3.2.26. Log Output
 
735
3.2.30. Log Output
653
736
 
654
737
--disable-log
655
738
 
659
742
 
660
743
This option allows you to suppress all log output from the server.
661
744
 
662
 
3.2.27. Package Search Directory
 
745
3.2.31. Package Search Directory
663
746
 
664
747
--with-search=DIR
665
748
 
672
755
option tells the configure script to additionally search for headers and
673
756
libraries of various packages in DIR/include and DIR/lib.
674
757
 
675
 
3.2.28. Specifying Header And Library Locations Of Various Packages
 
758
3.2.32. Specifying Header And Library Locations Of Various Packages
676
759
 
677
760
You can specify the exact location of particular headers and libraries. Some
678
761
packages use extra programs that tell us the appropriate flags that are needed
690
773
--with-magic-libs=DIR           search for filemagic headers in DIR
691
774
--with-exif-h=DIR               search for libexif headers in DIR
692
775
--with-exif-libs=DIR            search for libexif libraries in DIR
 
776
--with-expat-h=DIR              search for expat headers in DIR
 
777
--with-expat-libs=DIR           search for expat libraries in DIR
693
778
--with-taglib-cfg=taglib-config absolute path/name of taglib-config
694
779
--with-id3lib-h=DIR             search for id3lib headers in DIR
695
780
--with-id3lib-libs=DIR          search for id3lib libraries in DIR
700
785
--with-iconv-libs=DIR           search for iconv libraries in DIR
701
786
--with-extractor-h=DIR          search for extractor headers in DIR
702
787
--with-extractor-libs=DIR       search for extractor libraries in DIR
 
788
--with-ffmpeg-h=DIR             search for ffmpeg headers in DIR
 
789
--with-ffmpeg-libs=DIR          search for ffmpeg libraries in DIR
 
790
--with-curl-cfg=curl-config     absolute path/name of curl-config script
703
791
 
704
 
3.2.29. The devconf Script
 
792
3.2.33. The devconf Script
705
793
 
706
794
If you are doing some development work and some debugging, you will probably
707
795
want to compile with the -g flag and also disable optimization. The devconf
1173
1261
        independent of the above setting the container will be always visible
1174
1262
        in the web UI!
1175
1263
 
 
1264
  * <tmpdir>/tmp/</tmpdir>
 
1265
 
 
1266
    Optional
 
1267
 
 
1268
    Default: /tmp/
 
1269
 
 
1270
    Selects the temporary directory that will be used by the server.
 
1271
 
1176
1272
  * <bookmark>mediatomb.html</bookmark>
1177
1273
 
1178
1274
    Optional
1352
1448
                default value of 25, then one of the <option> tags must also
1353
1449
                list this value.
1354
1450
 
1355
 
  * <storage driver="...">
 
1451
  * <storage>
1356
1452
 
1357
1453
    Required
1358
1454
 
1359
 
    Specifies the storage driver, currently sqlite3 and mysql are supported.
1360
 
    Each storage driver has it's own configuration parameters.
1361
 
 
1362
 
    Attributes:
1363
 
 
1364
 
      o driver=...
1365
 
 
1366
 
        Required
1367
 
 
1368
 
        Default: sqlite3
 
1455
    Defines the storage section - database selection is done here. Currently
 
1456
    sqlite3 and mysql are supported. Each storage driver has it's own
 
1457
    configuration parameters.
 
1458
 
 
1459
      o <sqlite enabled="yes>
 
1460
 
 
1461
        Required if MySQL is not defined
1369
1462
 
1370
1463
        Allowed values are "sqlite3" or "mysql", the available options depend
1371
1464
        on the selected driver.
1372
1465
 
1373
 
          - driver="sqlite3"
1374
 
 
1375
 
            There is only one child tag for sqlite:
1376
 
 
1377
 
              * <database-file>mediatomb.db</database-file>
1378
 
 
1379
 
                Optional
1380
 
 
1381
 
                Default: mediatomb.db
1382
 
 
1383
 
                The database location is relative to the server's home, if the
1384
 
                sqlite database does not exist it will be created
1385
 
                automatically.
1386
 
 
1387
 
          - driver="mysql"
1388
 
 
1389
 
            Below are the child tags for MySQL:
1390
 
 
1391
 
              * <host>localhost</host>
1392
 
 
1393
 
                Optional
1394
 
 
1395
 
                Default: "localhost"
1396
 
 
1397
 
                This specifies the host where your MySQL database is running.
1398
 
 
1399
 
                  o <port>0</port>
1400
 
 
1401
 
                    Optional
1402
 
 
1403
 
                    Default: 0
1404
 
 
1405
 
                    This specifies the port where your MySQL database is
1406
 
                    running.
1407
 
 
1408
 
                  o <username>root</username>
1409
 
 
1410
 
                    Optional
1411
 
 
1412
 
                    Default: "mediatomb"
1413
 
 
1414
 
                    This option sets the user name that will be used to connect
1415
 
                    to the database.
1416
 
 
1417
 
                  o <password></password>
1418
 
 
1419
 
                    Optional
1420
 
 
1421
 
                    Default: no password
1422
 
 
1423
 
                    Defines the password for the MySQL user. If the tag doesn't
1424
 
                    exist MediaTomb will use no password, if the tag exists,
1425
 
                    but is empty MediaTomb will use an empty password. MySQL
1426
 
                    has a distinction between no password and an empty
1427
 
                    password.
1428
 
 
1429
 
                  o <database>mediatomb</database>
1430
 
 
1431
 
                    Optional
1432
 
 
1433
 
                    Default: "mediatomb"
1434
 
 
1435
 
                    Name of the database that will be used by MediaTomb.
 
1466
          - enabled="yes"
 
1467
 
 
1468
            Optional
 
1469
 
 
1470
            Default: yes
 
1471
 
 
1472
        Below are the sqlite driver options:
 
1473
 
 
1474
          - <database-file>mediatomb.db</database-file>
 
1475
 
 
1476
            Optional
 
1477
 
 
1478
            Default: mediatomb.db
 
1479
 
 
1480
            The database location is relative to the server's home, if the
 
1481
            sqlite database does not exist it will be created automatically.
 
1482
 
 
1483
          - <synchronous>off</synchronous>
 
1484
 
 
1485
            Optional
 
1486
 
 
1487
            Default: off
 
1488
 
 
1489
            Possible values are "off", "normal" and "full".
 
1490
 
 
1491
            This option sets the SQLite pragma "synchronous". This setting will
 
1492
            affect the performance of the database write operations. For more
 
1493
            information about this option see the SQLite documentation: http://
 
1494
            www.sqlite.org/pragma.html#pragma_synchronous
 
1495
 
 
1496
          - <on-error>restore</on-error>
 
1497
 
 
1498
            Optional
 
1499
 
 
1500
            Default: restore
 
1501
 
 
1502
            Possible values are "restore" and "fail".
 
1503
 
 
1504
            This option tells MediaTomb what to do if an SQLite error occurs
 
1505
            (no database or a corrupt database). If it is set to "restore" it
 
1506
            will try to restore the database from a backup file (if one exists)
 
1507
            or try to recreate a new database from scratch.
 
1508
 
 
1509
            If the option is set to "fail", MediaTomb will abort on an SQLite
 
1510
            error.
 
1511
 
 
1512
          - <backup enabled="no" interval="6000"/>
 
1513
 
 
1514
            Optional
 
1515
 
 
1516
            Backup parameters:
 
1517
 
 
1518
              * enabled=...
 
1519
 
 
1520
                Optional
 
1521
 
 
1522
                Default: no
 
1523
 
 
1524
                Enables or disables database backup.
 
1525
 
 
1526
              * interval=...
 
1527
 
 
1528
                Optional
 
1529
 
 
1530
                Default: 600
 
1531
 
 
1532
                Defines the backup interval in seconds.
 
1533
 
 
1534
      o <mysql enabled="no"/>
 
1535
 
 
1536
        Defines the MySQL storage driver section.
 
1537
 
 
1538
          - enabled=...
 
1539
 
 
1540
            Optional
 
1541
 
 
1542
            Default: yes
 
1543
 
 
1544
            Enables or disables the MySQL driver.
 
1545
 
 
1546
        Below are the child tags for MySQL:
 
1547
 
 
1548
          - <host>localhost</host>
 
1549
 
 
1550
            Optional
 
1551
 
 
1552
            Default: "localhost"
 
1553
 
 
1554
            This specifies the host where your MySQL database is running.
 
1555
 
 
1556
          - <port>0</port>
 
1557
 
 
1558
            Optional
 
1559
 
 
1560
            Default: 0
 
1561
 
 
1562
            This specifies the port where your MySQL database is running.
 
1563
 
 
1564
          - <username>root</username>
 
1565
 
 
1566
            Optional
 
1567
 
 
1568
            Default: "mediatomb"
 
1569
 
 
1570
            This option sets the user name that will be used to connect to the
 
1571
            database.
 
1572
 
 
1573
          - <password></password>
 
1574
 
 
1575
            Optional
 
1576
 
 
1577
            Default: no password
 
1578
 
 
1579
            Defines the password for the MySQL user. If the tag doesn't exist
 
1580
            MediaTomb will use no password, if the tag exists, but is empty
 
1581
            MediaTomb will use an empty password. MySQL has a distinction
 
1582
            between no password and an empty password.
 
1583
 
 
1584
          - <database>mediatomb</database>
 
1585
 
 
1586
            Optional
 
1587
 
 
1588
            Default: "mediatomb"
 
1589
 
 
1590
            Name of the database that will be used by MediaTomb.
1436
1591
 
1437
1592
6.2. Import Settings
1438
1593
 
1480
1635
    Same as above, but defines the charset of the metadata (i.e. id3 tags, Exif
1481
1636
    information, etc.)
1482
1637
 
1483
 
  * <virtual-layout type="builtin">
 
1638
  * <scripting script-charset="UTF-8">
1484
1639
 
1485
1640
    Optional
1486
1641
 
1487
 
    Defines options for the virtual container layout; the so called "virtual
1488
 
    container layout" is the way how the server organizes the media according
1489
 
    to the extracted metadata. For example, it allows sorting audio files by
1490
 
    Album, Artist, Year and so on.
1491
 
 
1492
 
      o type=...
1493
 
 
1494
 
        Optional
1495
 
 
1496
 
        Default: builtin
1497
 
 
1498
 
        Specifies what will be used to create the virtual layout, possible
1499
 
        values are:
1500
 
 
1501
 
          - builtin: a default layout will be created by the server
1502
 
 
1503
 
          - js: a user customizable javascript will be used (MediaTomb must be
1504
 
            compiled with js support)
1505
 
 
1506
 
          - disabled: only PC-Directory structure will be created, i.e. no
1507
 
            virtual layout
1508
 
 
1509
 
      o <script charset="UTF-8">/path/to/my/import/script.js</script>
1510
 
 
1511
 
        Required if virtual layout type is "js"
1512
 
 
1513
 
        Default: ${prefix}/share/mediatomb/js/import.js, where ${prefix} is
1514
 
        your installation prefix directory.
1515
 
 
1516
 
        Points to the script invoked upon media import. For more details read
1517
 
        doc/scripting-intro.txt
1518
 
 
1519
 
        Attributes:
1520
 
 
1521
 
          - charset=...
1522
 
 
1523
 
            Optional
1524
 
 
1525
 
            Default: UTF-8
1526
 
 
1527
 
            Specifies the import script encoding.
 
1642
    Defines the scripting section.
 
1643
 
 
1644
      o script-charset=...
 
1645
 
 
1646
        Optional
 
1647
 
 
1648
        Default: UTF-8
 
1649
 
 
1650
    Below are the available scripting options:
 
1651
 
 
1652
      o <virtual-layout type="builtin">
 
1653
 
 
1654
        Optional
 
1655
 
 
1656
        Defines options for the virtual container layout; the so called
 
1657
        "virtual container layout" is the way how the server organizes the
 
1658
        media according to the extracted metadata. For example, it allows
 
1659
        sorting audio files by Album, Artist, Year and so on.
 
1660
 
 
1661
          - type=...
 
1662
 
 
1663
            Optional
 
1664
 
 
1665
            Default: builtin
 
1666
 
 
1667
            Specifies what will be used to create the virtual layout, possible
 
1668
            values are:
 
1669
 
 
1670
              * builtin: a default layout will be created by the server
 
1671
 
 
1672
              * js: a user customizable javascript will be used (MediaTomb must
 
1673
                be compiled with js support)
 
1674
 
 
1675
              * disabled: only PC-Directory structure will be created, i.e. no
 
1676
                virtual layout
 
1677
 
 
1678
        The virtual layout can be adjusted using an import script which is
 
1679
        defined as follows:
 
1680
 
 
1681
          - <import-script>/path/to/my/import-script.js</script>
 
1682
 
 
1683
            Required if virtual layout type is "js"
 
1684
 
 
1685
            Default: ${prefix}/share/mediatomb/js/import.js, where ${prefix} is
 
1686
            your installation prefix directory.
 
1687
 
 
1688
            Points to the script invoked upon media import. For more details
 
1689
            read doc/scripting.txt
 
1690
 
 
1691
      o <common-script>/path/to/my/common-script.js</common-script>
 
1692
 
 
1693
        Optional
 
1694
 
 
1695
        Default: ${prefix}/share/mediatomb/js/common.js, where ${prefix} is
 
1696
        your installation prefix directory.
 
1697
 
 
1698
        Points to the so called common script - think of it as a custom library
 
1699
        of js helper functions, functions added there can be used in your
 
1700
        import and in your playlist scripts. For more details read doc/
 
1701
        scripting.txt
 
1702
 
 
1703
      o <playlist-script create-link="yes">/path/to/my/playlist-script.js</playlist-script>
 
1704
 
 
1705
        Optional
 
1706
 
 
1707
        Default: ${prefix}/share/mediatomb/js/playlists.js, where ${prefix} is
 
1708
        your installation prefix directory.
 
1709
 
 
1710
        Points to the script that is parsing various playlists, by default
 
1711
        parsing of pls and m3u playlists is implemented, however the script can
 
1712
        be adapted to parse almost any kind of text based playlist. For more
 
1713
        details read doc/scripting.txt
 
1714
 
 
1715
          - create-link=...
 
1716
 
 
1717
            Optional
 
1718
 
 
1719
            Default: yes
 
1720
 
 
1721
            Links the playlist to the virtual container which contains the
 
1722
            expanded playlist items. This means, that if the actual playlist
 
1723
            file is removed from the database, the virtual container
 
1724
            corresponding to the playlist will also be removed.
1528
1725
 
1529
1726
  * <magic-file>/path/to/my/magic-file</magic-file>
1530
1727
 
1535
1732
    Specifies an alternative file for filemagic, containing mime type
1536
1733
    information.
1537
1734
 
1538
 
  * <autoscan>
 
1735
  * <autoscan use-inotify="auto">
1539
1736
 
1540
1737
    Optional
1541
1738
 
1548
1745
    monitor the specified location and will re add the removed directory if it
1549
1746
    becomes available/gets created again.
1550
1747
 
 
1748
      o use-inotify=...
 
1749
 
 
1750
        Optional
 
1751
 
 
1752
        Default: auto
 
1753
 
 
1754
        Specifies if the inotify autoscan feature should be enabled. The
 
1755
        default value is "auto", which means that availability of inotify
 
1756
        support on the system will be detected automatically, it will then be
 
1757
        used if available. Setting the option to 'no' will disable inotify even
 
1758
        if it is available. Allowed values: "yes", "no", "auto"
 
1759
 
1551
1760
    Child tags:
1552
1761
 
1553
1762
      o <directory location="/media" mode="timed" interval="3600"
1622
1831
    extension. It is also helpful if you want to override auto detected mime
1623
1832
    types or simply skip filemagic processing for known file types.
1624
1833
 
1625
 
      o <extension-mimetype ignore-unknown="no">
 
1834
      o <extension-mimetype ignore-unknown="no" case-sensitive="no">
1626
1835
 
1627
1836
        Optional
1628
1837
 
1639
1848
            If ignore-unknown is set to "yes", then only the extensions that
1640
1849
            are listed in this section are imported.
1641
1850
 
 
1851
          - case-sensitive=...
 
1852
 
 
1853
            Optional
 
1854
 
 
1855
            Default: no
 
1856
 
 
1857
            Specifies if extensions listed in this section are case sensitive,
 
1858
            allowed values are "yes" or "no".
 
1859
 
1642
1860
        Child tags:
1643
1861
 
1644
1862
          - <map from="mp3" to="audio/mpeg"/>
1701
1919
 
1702
1920
            Tells the server what content the specified mimetype actually is.
1703
1921
 
 
1922
            Note:
 
1923
 
 
1924
                it makes no sense to define 'as' values that are not below, the
 
1925
                server only needs to know the content type of the ones
 
1926
                specified, otherwise it does not matter.
 
1927
 
1704
1928
            The 'as' attribute can have following values:
1705
1929
 
1706
1930
              * mp3
1731
1955
                The content is a jpeg image and should be processed by libexif
1732
1956
                (if available).
1733
1957
 
 
1958
              * playlist
 
1959
 
 
1960
                Default mimetype: audio/x-mpegurl or audio/x-scpls
 
1961
 
 
1962
                The content is a playlist and should be processed by the
 
1963
                playlist parser script.
 
1964
 
 
1965
              * pcm
 
1966
 
 
1967
                Default mimetype: audio/L16 or audio/x-wav
 
1968
 
 
1969
                The content is a PCM file.
 
1970
 
 
1971
              * avi
 
1972
 
 
1973
                Default mimetype: video/x-msvideo
 
1974
 
 
1975
                The content is an AVI container, FourCC extraction will be
 
1976
                attempted.
 
1977
 
1734
1978
  * <library-options>
1735
1979
 
1736
1980
    Optional
1803
2047
            </auxdata>
1804
2048
        </libexif>
1805
2049
 
 
2050
      o <id3>
 
2051
 
 
2052
        Optional
 
2053
 
 
2054
        These options apply to id3lib or taglib libraries.
 
2055
 
 
2056
        Child tags:
 
2057
 
 
2058
          - <auxdata>
 
2059
 
 
2060
            Optional
 
2061
 
 
2062
            Currently only adding keywords to auxdata is supported. The
 
2063
            keywords are those defined in the id3 specification, we do not
 
2064
            perform any extra checking, so you could try to use any string as a
 
2065
            keyword - if it does not exist in the tag nothing bad will happen.
 
2066
 
 
2067
            Here is a list of possible keywords:
 
2068
 
 
2069
            TALB, TBPM, TCOM, TCON, TCOP, TDAT, TDLY, TENC, TEXT, TFLT, TIME,
 
2070
            TIT1, TIT2, TIT3, TKEY, TLAN, TLEN, TMED, TOAL, TOFN, TOLY, TOPE,
 
2071
            TORY, TOWN, TPE1, TPE2, TPE3, TPE4, TPOS, TPUB, TRCK, TRDA, TRSN,
 
2072
            TRSO, TSIZ, TSRC, TSSE, TYER, TXXX
 
2073
 
 
2074
            Child tags:
 
2075
 
 
2076
              * <add-data tag="TCOM"/>
 
2077
                <add-data tag="TENC"/>
 
2078
                ...
 
2079
 
 
2080
                Optional
 
2081
 
 
2082
                If the library was able to extract the data according to the
 
2083
                given keyword, it will be added to auxdata. You can then use
 
2084
                that data in your import scripts.
 
2085
 
 
2086
        A sample configuration for the example described above would be:
 
2087
 
 
2088
        <id3>
 
2089
            <auxdata>
 
2090
                <add-data tag="TENC"/>
 
2091
            </auxdata>
 
2092
        </id3>
 
2093
 
1806
2094
      o <libextractor>
1807
2095
 
1808
2096
        Optional
1830
2118
                given keyword, it will be added to auxdata. You can then use
1831
2119
                that data in your import scripts.
1832
2120
 
 
2121
6.2.1. Online Content Settings
 
2122
 
 
2123
This section resides under import and defines options for various supported
 
2124
online services.
 
2125
 
 
2126
<online-content fetch-buffer-size="262144" fetch-buffer-fill-size="0">
 
2127
 
 
2128
Optional
 
2129
 
 
2130
This tag defines the online content section.
 
2131
 
 
2132
Attributes:
 
2133
 
 
2134
  * fetch-buffer-size=...
 
2135
 
 
2136
    Optional
 
2137
 
 
2138
    Default: 262144
 
2139
 
 
2140
    Often, online content can be directly accessed by the player - we will just
 
2141
    give it the URL. However, sometimes it may be necessary to proxy the
 
2142
    content through MediaTomb. This setting defines the buffer size in bytes,
 
2143
    that will be used when fetching content from the web. The value must not be
 
2144
    less than allowed by the curl library (usually 16384 bytes).
 
2145
 
 
2146
  * fetch-buffer-fill-size=...
 
2147
 
 
2148
    Optional
 
2149
 
 
2150
    Default: 0 (disabled)
 
2151
 
 
2152
    This setting allows to prebuffer a certain amount of data, given in bytes,
 
2153
    before sending it to the player, this should ensure a constant data flow in
 
2154
    case of slow connections. Usually this setting is not needed, because most
 
2155
    players will anyway have some kind of buffering, however if the connection
 
2156
    is particularly slow you may want to try enable this setting.
 
2157
 
 
2158
Below are the settings for supported services.
 
2159
 
 
2160
6.3. Transcoding Settings
 
2161
 
 
2162
The transcoding section allows to define ways on how to transcode content.
 
2163
 
 
2164
<transcoding enabled="yes" fetch-buffer-size="262144" fetch-buffer-fill-size="0">
 
2165
 
 
2166
Optional
 
2167
 
 
2168
This tag defines the transcoding section.
 
2169
 
 
2170
Attributes:
 
2171
 
 
2172
  * enabled=...
 
2173
 
 
2174
    Optional
 
2175
 
 
2176
    Default: yes
 
2177
 
 
2178
    This attribute defines if transcoding is enabled as a whole, possible
 
2179
    values are "yes" or "no".
 
2180
 
 
2181
  * fetch-buffer-size=...
 
2182
 
 
2183
    Optional
 
2184
 
 
2185
    Default: 262144
 
2186
 
 
2187
    In case you have transcoders that can not handle online content directly
 
2188
    (see the accept-url parameter below), it is possible to put the transcoder
 
2189
    between two FIFOs, in this case MediaTomb will fetch the online content.
 
2190
    This setting defines the buffer size in bytes, that will be used when
 
2191
    fetching content from the web. The value must not be less than allowed by
 
2192
    the curl library (usually 16384 bytes).
 
2193
 
 
2194
  * fetch-buffer-fill-size=...
 
2195
 
 
2196
    Optional
 
2197
 
 
2198
    Default: 0 (disabled)
 
2199
 
 
2200
    This setting allows to prebuffer a certain amount of data before sending it
 
2201
    to the transcoder, this should ensure a constant data flow in case of slow
 
2202
    connections. Usually this setting is not needed, because most transcoders
 
2203
    will just patiently wait for data and we anyway buffer on the output end.
 
2204
    However, we observed that ffmpeg will fail to transcode flv files if it
 
2205
    encounters buffer underruns - this setting helps to avoid this situation.
 
2206
 
 
2207
Child tags:
 
2208
 
 
2209
  * <mimetype-profile-mappings>
 
2210
 
 
2211
    The mime type to profile mappings define which mime type is handled by
 
2212
    which profile.
 
2213
 
 
2214
    Different mime types can map to the same profile in case that the
 
2215
    transcoder in use supports various input formats. The same mime type can
 
2216
    also map to several profiles, in this case multiple resources in the XML
 
2217
    will be generated, allowing the player to decide which one to take.
 
2218
 
 
2219
    The mappings under mimetype-profile are defined in the following manner:
 
2220
 
 
2221
      o <transcode mimetype="audio/x-flac" using="oggflac-pcm"/>
 
2222
 
 
2223
        Optional
 
2224
 
 
2225
        In this example we want to transcode our flac audio files (they have
 
2226
        the mimetype audio/x-flac) using the "oggflac-pcm" profile which is
 
2227
        defined below.
 
2228
 
 
2229
          - mimetype=...
 
2230
 
 
2231
            Selects the mime type of the source media that should be
 
2232
            transcoded.
 
2233
 
 
2234
          - using=...
 
2235
 
 
2236
            Selects the transcoding profile that will handle the mime type
 
2237
            above. Information on how to define transcoding profiles can be
 
2238
            found below.
 
2239
 
 
2240
  * <profiles>
 
2241
 
 
2242
    This section defines the various transcoding profiles.
 
2243
 
 
2244
      o <profile name="oggflag-pcm" enabled="yes" type="external">
 
2245
 
 
2246
        Optional
 
2247
 
 
2248
        Definition of a transcoding profile.
 
2249
 
 
2250
          - name=...
 
2251
 
 
2252
            Required
 
2253
 
 
2254
            Name of the transcoding profile, this is the name that is specified
 
2255
            in the mime type to profile mappings.
 
2256
 
 
2257
          - enabled=...
 
2258
 
 
2259
            Required
 
2260
 
 
2261
            Enables or disables the profile, allowed values are "yes" or "no".
 
2262
 
 
2263
          - type=...
 
2264
 
 
2265
            Required
 
2266
 
 
2267
            Defines the profile type, currently only "external" is supported,
 
2268
            this will change in the future.
 
2269
 
 
2270
              * <mimetype>audio/x-wav</mimetype>
 
2271
 
 
2272
                Required
 
2273
 
 
2274
                Defines the mime type of the transcoding result (i.e. of the
 
2275
                transcoded stream). In the above example we transcode to PCM.
 
2276
 
 
2277
              * <accept-url>yes</accept-url>
 
2278
 
 
2279
                Optional
 
2280
 
 
2281
                Default: yes
 
2282
 
 
2283
                Some transcoders are able to handle non local content, i.e.
 
2284
                instead giving a local file name you can pass an URL to the
 
2285
                transcoder. However, some transcoders can only deal with local
 
2286
                files, for this case set the value to "no".
 
2287
 
 
2288
              * <first-resource>no</first-resource>
 
2289
 
 
2290
                Optional
 
2291
 
 
2292
                Default: no
 
2293
 
 
2294
                It is possible to offer more than one resource in the browse
 
2295
                result, a good player implementation will go through all
 
2296
                resources and pick the one that it can handle best.
 
2297
                Unfortunately most players only look at the first resource and
 
2298
                ignore the rest. When you add a transcoding profile for a
 
2299
                particular media type it will show up as an additional resource
 
2300
                in the browse result, using this parameter you can make sure
 
2301
                that the transcoded resource appears first in the list.
 
2302
 
 
2303
                Note:
 
2304
 
 
2305
                    if more than one transcoding profile is applied on one
 
2306
                    source media type (i.e. you transcode an OGG file to MP3
 
2307
                    and to PCM), and the first-resource parameter is specified
 
2308
                    in both profiles, then the resource positions are
 
2309
                    undefined.
 
2310
 
 
2311
              * <hide-original-resource>no</hide-original-resource>
 
2312
 
 
2313
                Optional
 
2314
 
 
2315
                Default: no
 
2316
 
 
2317
                This parameter will hide the resource of the original media
 
2318
                when sending the browse result to the player, this can be
 
2319
                useful if your device gets confused by multiple resources and
 
2320
                allows you to send only the transcoded one.
 
2321
 
 
2322
              * <accept-ogg-theora>no</accept-org-theora>
 
2323
 
 
2324
                Optional
 
2325
 
 
2326
                Default: no
 
2327
 
 
2328
                As you may know, OGG is just a container, the content could be
 
2329
                Vorbis or Theora while the mime type is "application/ogg". For
 
2330
                transcoding we need to identify if we are dealing with audio or
 
2331
                video content, specifying yes in this tag in the profile will
 
2332
                make sure that only OGG files containing Theora will be
 
2333
                processed.
 
2334
 
 
2335
              * <avi-fourcc-list mode="ignore">
 
2336
 
 
2337
                Optional
 
2338
 
 
2339
                Default: disabled
 
2340
 
 
2341
                This option allows to specify a particular list of AVI fourcc
 
2342
                strings that can be either set to be ignored or processed by
 
2343
                the profile.
 
2344
 
 
2345
                Note:
 
2346
 
 
2347
                    this option has no effect on non AVI content.
 
2348
 
 
2349
                  o mode=...
 
2350
 
 
2351
                    Required
 
2352
 
 
2353
                    Specifies how the list should be handled by the transcoding
 
2354
                    engine, possible values are:
 
2355
 
 
2356
                      - "disabled"
 
2357
 
 
2358
                        The option is completely disabled, fourcc list is not
 
2359
                        being processed.
 
2360
 
 
2361
                      - "process"
 
2362
 
 
2363
                        Only the fourcc strings that are listed will be
 
2364
                        processed by the transcoding profile, AVI files with
 
2365
                        other fourcc strings will be ignored. Setting this is
 
2366
                        useful if you want to transcode only some specific
 
2367
                        fourcc's and not transcode the rest.
 
2368
 
 
2369
                      - "ignore"
 
2370
 
 
2371
                        The fourcc strings listed will not be transcoded, all
 
2372
                        other codecs will be transcoded. Setting this might be
 
2373
                        useful if you want to prevent a limited number of
 
2374
                        codecs from being transcoded, but want to apply
 
2375
                        transcoding on the rest (i.e. - do not transcode divx
 
2376
                        and xvid, but want to transcode mjpg and whatever else
 
2377
                        might be in the AVI container).
 
2378
 
 
2379
                The list of fourcc strings is enclosed in the avi-fourcc-list
 
2380
                section:
 
2381
 
 
2382
                  o <fourcc>XVID</fourcc>
 
2383
                    <fourcc>DX50</fourcc>
 
2384
 
 
2385
                    etc...
 
2386
 
 
2387
              * <agent command="ogg123" arguments="-d wav -f %out %in/>
 
2388
 
 
2389
                Required
 
2390
 
 
2391
                Defines the transcoding agent and the parameters, in the
 
2392
                example above we use ogg123 to convert ogg or flac to wav.
 
2393
 
 
2394
                  o command=...
 
2395
 
 
2396
                    Required
 
2397
 
 
2398
                    Defines the transcoder binary that will be executed by
 
2399
                    MediaTomb upon a transcode request, the binary must be in
 
2400
                    $PATH. It is very important that the transcoder is capable
 
2401
                    of writing the output to a FIFO, some applications, for
 
2402
                    example ffmpeg, have problems with that. The command line
 
2403
                    arguments are specified separately (see below).
 
2404
 
 
2405
                  o arguments=...
 
2406
 
 
2407
                    Required
 
2408
 
 
2409
                    Specifies the command line arguments that will be given to
 
2410
                    the transcoder application upon execution. There are two
 
2411
                    special tokens:
 
2412
 
 
2413
                    %in
 
2414
                    %out
 
2415
 
 
2416
                    Those tokens get substituted by the input file name and the
 
2417
                    output FIFO name before execution.
 
2418
 
 
2419
              * <buffer size="1048576" chunk-size="131072" fill-size="262144"/>
 
2420
 
 
2421
                Required
 
2422
 
 
2423
                These settings help you to achieve a smooth playback of
 
2424
                transcoded media. The actual values need to be tuned and depend
 
2425
                on the speed of your system. The general idea is to buffer the
 
2426
                data before sending it out to the player, it is also possible
 
2427
                to delay first playback until the buffer is filled to a certain
 
2428
                amount. The prefill should give you enough space to overcome
 
2429
                some high bitrate scenes in case your system can not transcode
 
2430
                them in real time.
 
2431
 
 
2432
                  o size=...
 
2433
 
 
2434
                    Required
 
2435
 
 
2436
                    Size of the buffer in bytes.
 
2437
 
 
2438
                  o chunk-size=...
 
2439
 
 
2440
                    Required
 
2441
 
 
2442
                    Size of chunks in bytes, that are read by the buffer from
 
2443
                    the transcoder. Smaller chunks will produce a more constant
 
2444
                    buffer fill ratio, however too small chunks may slow things
 
2445
                    down.
 
2446
 
 
2447
                  o fill-size=...
 
2448
 
 
2449
                    Required
 
2450
 
 
2451
                    Initial fill size - number of bytes that have to be in the
 
2452
                    buffer before the first read (i.e. before sending the data
 
2453
                    to the player for the first time). Set this to 0 (zero) if
 
2454
                    you want to disable prefilling.
 
2455
 
 
2456
              * <resolution>320x240</resolution>
 
2457
 
 
2458
                Optional
 
2459
 
 
2460
                Allows you to tell the resolution of the transcoded media to
 
2461
                your player. This may be helpful if you want to generate
 
2462
                thumbnails for your photos, or if your player has the ability
 
2463
                to pick video streams in a particular resolution. Of course the
 
2464
                setting should match the real resolution of the transcoded
 
2465
                media.
 
2466
 
 
2467
              * <thumbnail>yes</thumbnail>
 
2468
 
 
2469
                Optional
 
2470
 
 
2471
                Note:
 
2472
 
 
2473
                    this is an experimental option, the implementation will be
 
2474
                    refined in the future releases.
 
2475
 
 
2476
                This is a special option which was added for the PS3 users. If
 
2477
                the resolution option (see above) was set, then, depending on
 
2478
                the resolution an special DLNA tag will be added, marking the
 
2479
                resource as a thumbnail. This is useful if you have a
 
2480
                transcoding script that extracts an image out of the video and
 
2481
                presents it as a thumbnail.
 
2482
 
 
2483
                Use the option with caution, no extra checking is being done if
 
2484
                the resulting mimetype represents an image, also, it is will
 
2485
                only work if the output of the profile is a JPG image.
 
2486
 
1833
2487
7. Supported Devices
1834
2488
 
1835
2489
Attention Hardware Manufacturers:
1854
2508
 
1855
2509
  * AT3705-MGW
1856
2510
 
1857
 
7.1.2. Denon
 
2511
7.1.2. Conceptronic
 
2512
 
 
2513
  * C54WMP
 
2514
 
 
2515
7.1.3. Denon
1858
2516
 
1859
2517
  * AVR 4306
1860
2518
 
1861
 
7.1.3. D-Link
 
2519
7.1.4. D-Link
1862
2520
 
1863
2521
  * DSM-320
1864
2522
 
1865
2523
  * DSM-320RD
1866
2524
 
 
2525
  * DSM-510
 
2526
 
1867
2527
  * DSM-520
1868
2528
 
1869
2529
Some additional settings in MediaTomb configuration are required to enable
1885
2545
It is still being investigated, but we were able to get subtitles working with
1886
2546
a U.S. DSM-320 unit running firmware version 1.09
1887
2547
 
1888
 
7.1.4. HP
 
2548
Also, the DSM-510 (probably also valid for other models) will only play avi
 
2549
files if the mimetype is set to video/avi, you may want to add a mapping for
 
2550
that to the extension-mimetype section in your config.xml:
 
2551
 
 
2552
<map from="avi" to="video/avi"/>
 
2553
 
 
2554
7.1.5. Freecom
 
2555
 
 
2556
  * MusicPal
 
2557
 
 
2558
7.1.6. Haeger
 
2559
 
 
2560
  * OnAir (also known as BT Internet Radio)
 
2561
 
 
2562
7.1.7. HP
1889
2563
 
1890
2564
  * MediaSmart TV
1891
2565
 
1892
 
7.1.5. I-O Data
 
2566
Users reported that after a firmwre upgrade the device stopped working
 
2567
properly. It seems that it does not sue the UPnP Browse action anymore, but now
 
2568
uses the optional Search action which is not implemented in MediaTomb.
 
2569
 
 
2570
7.1.8. I-O Data
1893
2571
 
1894
2572
  * AVeL LinkPlayer2 AVLP2/DVDLA
1895
2573
 
1896
 
7.1.6. Linksys
 
2574
7.1.9. Linksys
1897
2575
 
1898
2576
  * WMLS11B (Wireless-B Music System)
1899
2577
 
1900
 
7.1.7. NeoDigits
 
2578
  * KiSS 1600
 
2579
 
 
2580
7.1.10. NeoDigits
1901
2581
 
1902
2582
  * HELIOS X3000
1903
2583
 
1904
 
7.1.8. Netgear
 
2584
7.1.11. Netgear
1905
2585
 
1906
2586
  * EVA700
1907
2587
 
1908
 
7.1.9. Philips
 
2588
7.1.12. Philips
1909
2589
 
1910
2590
  * Streamium SL-300i
1911
2591
 
1913
2593
 
1914
2594
  * Streamium MX-6000i
1915
2595
 
 
2596
  * SLA-5500
 
2597
 
1916
2598
  * SLA-5520
1917
2599
 
1918
 
7.1.10. Pinnacle
 
2600
7.1.13. Pinnacle
1919
2601
 
1920
2602
  * ShowCenter 200
1921
2603
 
1922
2604
  * SoundBridge
1923
2605
 
1924
 
7.1.11. Roku
 
2606
7.1.14. Pioneer
 
2607
 
 
2608
  * BDP-HD50-K
 
2609
 
 
2610
  * BDP-94HD
 
2611
 
 
2612
7.1.15. Roku
1925
2613
 
1926
2614
  * SoundBridge M1001
1927
2615
 
1928
2616
  * SoundBridge M2000
1929
2617
 
1930
 
7.1.12. Siemens
 
2618
7.1.16. Siemens
1931
2619
 
1932
2620
  * Gigaset M740AV
1933
2621
 
1934
 
7.1.13. Sony
 
2622
7.1.17. Sony
1935
2623
 
1936
2624
  * Playstation 3
1937
2625
 
1940
2628
 
1941
2629
<protocolInfo extend="yes"/>
1942
2630
 
1943
 
7.1.14. Telegent
 
2631
7.1.18. T+A
 
2632
 
 
2633
  * T+A Music Player
 
2634
 
 
2635
7.1.19. Telegent
1944
2636
 
1945
2637
  * TG100
1946
2638
 
1951
2643
 
1952
2644
<upnp-string-limit>101</upnp-string-limit>
1953
2645
 
1954
 
7.1.15. TerraTec
 
2646
7.1.20. TerraTec
1955
2647
 
1956
2648
  * NOXON iRadio
1957
2649
 
1958
2650
  * NOXON 2 Audio
1959
2651
 
 
2652
7.1.21. ZyXEL
 
2653
 
 
2654
  * DMA-1000
 
2655
 
 
2656
Some users reported problems where the DMA will show an error "Failed to
 
2657
retrieve list" and the DMA disconnecting from the server. Incresing the alive
 
2658
interval seems to solve the problem - add the following option to the <server>
 
2659
section of your configuration file:
 
2660
 
 
2661
<alive>600</alive>
 
2662
 
 
2663
Additionally, the DMA expects that avi files are serverd with the mime type of
 
2664
video/avi, so add the following to the <extensoin-mimetype> section in your
 
2665
configuration file:
 
2666
 
 
2667
<map from="avi" to="video/avi"/>
 
2668
 
1960
2669
7.2. Network Attached Storage Devices
1961
2670
 
1962
2671
We provide a bitbake metadata file for the OpenEmbedded environment, it allows
1965
2674
install and run the server on various Linux based NAS products that are
1966
2675
available on the market.
1967
2676
 
 
2677
So far two devices are shipped with a preinstalled version of MediaTomb,
 
2678
community firmware versions are available for the rest.
 
2679
 
1968
2680
7.2.1. Buffalo
1969
2681
 
1970
2682
  * KuroBox-HG
1973
2685
 
1974
2686
7.2.2. Excito
1975
2687
 
1976
 
  * Bubba Mini Server
1977
 
 
1978
 
7.2.3. Linksys
 
2688
  * Bubba Mini Server (preinstalled)
 
2689
 
 
2690
7.2.3. Iomega
 
2691
 
 
2692
  * StorCenter (preinstalled)
 
2693
 
 
2694
7.2.4. Linksys
1979
2695
 
1980
2696
  * NSLU2
1981
2697
 
 
2698
7.2.5. Maxtor
 
2699
 
 
2700
  * Shared Storage
 
2701
 
 
2702
7.2.6. Western Digital
 
2703
 
 
2704
  * MyBook
 
2705
 
1982
2706
8. Running The Server
1983
2707
 
1984
2708
When you run MediaTomb for the first time a default configuration will be
2023
2747
 
2024
2748
Sergey Bostandzhyan <jin at mediatomb dot cc>
2025
2749
 
2026
 
Copyright (C) 2006-2007
 
2750
Copyright (C) 2006-2008
2027
2751
 
2028
2752
Gena Batyan <bgeradz at mediatomb dot cc>
2029
2753
 
2089
2813
  * TagLib support patch was contributed by Benhur Stein <benhur.stein at gmail
2090
2814
    dot com>
2091
2815
 
 
2816
  * ffmpeg metadata handler was contributed by Ingo Preiml <ipreiml at edu dot
 
2817
    uni-klu dot ac dot at>
 
2818
 
 
2819
  * ID3 keyword extraction patch was contributed by Gabriel Burca
 
2820
    <gburca-mediatomb at ebixio dot com>
 
2821
 
2092
2822
  * tombupnp is kept in sync with the latest pupnp (http://pupnp.sf.net/)
2093
2823
    patches, see documentation in the tombupnp directory
2094
2824