DNT IPDio mini can't play transcoded file

Markus
2008-11-18
2013-05-30
  • Markus
    Markus
    2008-11-18

    I've been trying to get external transcoding for streaming music to my reciva based device (DNT IPdio mini) to work for some time now without success.
    After reading a bit into the mediatomb sources and adding a few log_debug() statements, now i get the following while playing an ordinary file to the device (see below):
    The device keeps opening the playing file, seeking to a position, reading some data and closing the file.

    With a renderer working that way, external transconding with mediatomb will obviously fail.

    Now: Is this behaviour really uncommon, or are there other renderers known to work that way?

    Well, maybe jin might add a passage to the "Supported devices" doc, stating that
    * The DNT IPdio mini (reciva based internet radio) works with mediatomb nicely, while external transcoding will not work

    At this point in time, i can not see an easy way to get that thing working and even doubt if one should try to:
    * all possibilities i can imagine do not fit nicely to the concept of the fifo interface between mediatomb and a transcoder
    * all possibilities i can imagine would add quite some complexitiy to the mechanisms in mediatomb which would not be justifiable to support just an uncommon (stupid behaving - as far as i understand) device

    I will have a look into FUSE now, always wanted to understand that thing...

    Markus

    ...
    2008-11-17 23:15:16   DEBUG: [../src/web_callbacks.cc:72] create_request_handler(): Filename: /content/media/object_id/8503/res_id/0/ext/file.au, Path: (null)
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:337] open(): start
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:352] open(): full url (filename): /content/media/object_id/8503/res_id/0/ext/file.au, parameters: object_id/8503/res_id/0/ext/file.au
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:362] open(): Opening media file with object id 8503
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:498] open(): path: /mnt/HD_a2/mediatomb/testmedia/test.au
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:511] open(): fetching resource id 0
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:626] open(): Adding content disposition header: Content-Disposition: attachment; filename="test.au"
    2008-11-17 23:15:16   DEBUG: [../src/web_callbacks.cc:199] web_open(): web_open file_length: 72451036 ContentType (null)
    2008-11-17 23:15:16   DEBUG: [../src/web_callbacks.cc:292] web_seek(): web_seek offset: 0
    2008-11-17 23:15:16   DEBUG: [../src/web_callbacks.cc:249] web_read(): web_read length: 131072
    2008-11-17 23:15:16   DEBUG: [../src/web_callbacks.cc:320] web_close(): *** web_close( IN UpnpWebFileHandle f)
    2008-11-17 23:15:16   DEBUG: [../src/web_callbacks.cc:72] create_request_handler(): Filename: /content/media/object_id/8503/res_id/0/ext/file.au, Path: (null)
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:337] open(): start
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:352] open(): full url (filename): /content/media/object_id/8503/res_id/0/ext/file.au, parameters: object_id/8503/res_id/0/ext/file.au
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:362] open(): Opening media file with object id 8503
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:498] open(): path: /mnt/HD_a2/mediatomb/testmedia/test.au
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:511] open(): fetching resource id 0
    2008-11-17 23:15:16   DEBUG: [../src/file_request_handler.cc:626] open(): Adding content disposition header: Content-Disposition: attachment; filename="test.au"
    2008-11-17 23:15:16   DEBUG: [../src/web_callbacks.cc:199] web_open(): web_open file_length: 72451036 ContentType (null)
    2008-11-17 23:15:16   DEBUG: [../src/web_callbacks.cc:292] web_seek(): web_seek offset: 131072
    2008-11-17 23:15:16   DEBUG: [../src/web_callbacks.cc:249] web_read(): web_read length: 131072
    2008-11-17 23:15:17   DEBUG: [../src/web_callbacks.cc:320] web_close(): *** web_close( IN UpnpWebFileHandle f)
    2008-11-17 23:15:17   DEBUG: [../src/web_callbacks.cc:72] create_request_handler(): Filename: /content/media/object_id/8503/res_id/0/ext/file.au, Path: (null)
    2008-11-17 23:15:17   DEBUG: [../src/file_request_handler.cc:337] open(): start
    2008-11-17 23:15:17   DEBUG: [../src/file_request_handler.cc:352] open(): full url (filename): /content/media/object_id/8503/res_id/0/ext/file.au, parameters: object_id/8503/res_id/0/ext/file.au
    2008-11-17 23:15:17   DEBUG: [../src/file_request_handler.cc:362] open(): Opening media file with object id 8503
    2008-11-17 23:15:17   DEBUG: [../src/file_request_handler.cc:498] open(): path: /mnt/HD_a2/mediatomb/testmedia/test.au
    2008-11-17 23:15:17   DEBUG: [../src/file_request_handler.cc:511] open(): fetching resource id 0
    2008-11-17 23:15:17   DEBUG: [../src/file_request_handler.cc:626] open(): Adding content disposition header: Content-Disposition: attachment; filename="test.au"
    2008-11-17 23:15:17   DEBUG: [../src/web_callbacks.cc:199] web_open(): web_open file_length: 72451036 ContentType (null)
    2008-11-17 23:15:17   DEBUG: [../src/web_callbacks.cc:292] web_seek(): web_seek offset: 262144
    2008-11-17 23:15:17   DEBUG: [../src/web_callbacks.cc:249] web_read(): web_read length: 131072
    2008-11-17 23:15:17   DEBUG: [../src/web_callbacks.cc:320] web_close(): *** web_close( IN UpnpWebFileHandle f)
    ...

     
    • Jin
      Jin
      2008-11-18

      I know one device that has a similar behavior when streaming video files - the DSM-320, there transcoding will also not work.

      There is a fuse thing called mp3fs (not sure), you may want to try that, I think it allows seeking (that's probably the one you mentioned anyway).

      Apart from that I do not think we could do anything there, at least not without a significant effort...

      I would also counter check with wireshark, does the device behave the same way with all content types?
      Does it behave this way when chunked HTTP encoding is used? (you may want to try latest SVN)

       
      • Markus
        Markus
        2008-11-18

        Thanks, jin.
        No, i did not try other content types than an .au audio file, i'll check with others just to be sure.

        Can you give a short hint of how to test with chunked HTTP encoding?

         
    • Jin
      Jin
      2008-11-18

      it's enabled by default for transcoded streams (in svn version at least), also have a look at the README in SVN in the transcoding section.