Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Rockbox Ports are now being developed for various digital audio players!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Audio Playback, Database and Playlists
| | |-+  iPod 5g / mini 2g: AAC playback problems
« previous next »
  • Print
Pages: [1]

Author Topic: iPod 5g / mini 2g: AAC playback problems  (Read 2595 times)

michael.conner

  • Guest
iPod 5g / mini 2g: AAC playback problems
« on: November 05, 2006, 12:43:36 PM »
iTunes 128 VBR and Nero AAC ~140kbps (can't remember the qval I chose when I originally encoded the tracks) of "normal" track length (~4 minutes) play back fine.  However, I have a number of audiobooks encoded as single tracks with both iTunes (64k stereo) and Nero (q .30, "force LC profile" selected in dbPoweramp so they aren't encoded using SBR, came out between 100-128kbps) that range in size from 28MB-64MB.  Rockbox chokes on them -- starts to load, but freezes and becomes unresponsive.  I do hear the hard drive spinning if I put the iPod up to my ear.  If I reboot and resume is turned on, it tries to load the same track and freezes again.  (Clearing settings on reboot fixes the freeze cycle.)

EDIT: This occurs w/both CVS build 061104-1534 and daily build from 5 November for the 2g mini and with the 24 October daily build for the 5g iPod.
« Last Edit: November 05, 2006, 03:03:38 PM by michael.conner »
Logged

Offline Lear

  • Developer
  • Member
  • *
  • Posts: 533
Re: iPod 5g / mini 2g: AAC playback problems
« Reply #1 on: November 06, 2006, 10:31:53 AM »
Hm... Sounds like it could be a problem decoding some metadata. Can you see how large the atoms in the moov atom is? One of the programs available here can show the information I'm looking for; I think it is mp4info, but it could also be mp4dump (can't easily test it at the moment).
Logged

Offline Lear

  • Developer
  • Member
  • *
  • Posts: 533
Re: iPod 5g / mini 2g: AAC playback problems
« Reply #2 on: November 06, 2006, 02:28:11 PM »
mp4dump it is. But really long files can cause problems, yes. A table used for seeking and playback gets too large then. Should handle that case better, I think. And it might be possible to increase the max supported file size...
Logged

michael.conner

  • Guest
Re: iPod 5g / mini 2g: AAC playback problems
« Reply #3 on: November 06, 2006, 03:57:34 PM »
I'll check the files in question this evening and let you know what mp4dump says.
Logged

michael.conner

  • Guest
Re: iPod 5g / mini 2g: AAC playback problems
« Reply #4 on: November 06, 2006, 05:37:29 PM »
Apologies that I'm posting the whole thing, but other than the word "moov" I don't know what of this is useful and what isn't.

D:\>mp4dump "03 the ghosts of mendez.m4a"
mp4dump version 1.5.5
Dumping 03 the ghosts of mendez.m4a meta-information...
 type ftyp
  majorBrand = M4A
  minorVersion = 0 (0x00000000)
 
 type moov
  type mvhd
   version = 0 (0x00)
   flags = 0 (0x000000)
   creationTime = 3245246113 (0xc16e86a1)
   modificationTime = 3245247731 (0xc16e8cf3)
   timeScale = 44100 (0x0000ac44)
   duration = 176173056 (0x0a803000)
   rate = 1.000000
   volume = 1.000000
   reserved1 = <70 bytes>
   00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00
   nextTrackId = 2 (0x00000002)
  type trak
   type tkhd
    version = 0 (0x00)
    flags = 7 (0x000007)
    creationTime = 3245246113 (0xc16e86a1)
    modificationTime = 3245247731 (0xc16e8cf3)
    trackId = 1 (0x00000001)
    reserved1 = <4 bytes> 00 00 00 00
    duration = 176173056 (0x0a803000)
    reserved2 = <12 bytes> 00 00 00 00 00 00 00 00 00 00 00 00
    volume = 1.000000
    reserved3 = <38 bytes>
    00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 40 00 00 00
    width = 0.000000
    height = 0.000000
   type mdia
    type mdhd
     version = 0 (0x00)
     flags = 0 (0x000000)
     creationTime = 3245246113 (0xc16e86a1)
     modificationTime = 3245247731 (0xc16e8cf3)
     timeScale = 44100 (0x0000ac44)
     duration = 176173056 (0x0a803000)
     language = 21956 (0x55c4)
     reserved = <2 bytes> 00 00
    type hdlr
     version = 0 (0x00)
     flags = 0 (0x000000)
     reserved1 = <4 bytes> 00 00 00 00
     handlerType = soun
     reserved2 = <12 bytes> 00 00 00 00 00 00 00 00 00 00 00 00
     name =
    type minf
     type smhd
      version = 0 (0x00)
      flags = 0 (0x000000)
      reserved = <4 bytes> 00 00 00 00
     type dinf
      type dref
       version = 0 (0x00)
       flags = 0 (0x000000)
       entryCount = 1 (0x00000001)
       type url
        version = 0 (0x00)
        flags = 1 (0x000001)
        location = (null)
     type stbl
      type stsd
       version = 0 (0x00)
       flags = 0 (0x000000)
       entryCount = 1 (0x00000001)
       type mp4a
        reserved1 = <6 bytes> 00 00 00 00 00 00
        dataReferenceIndex = 1 (0x0001)
        soundVersion = 0 (0x0000)
        reserved2 = <6 bytes> 00 00 00 00 00 00
        channels = 2 (0x0002)
        sampleSize = 16 (0x0010)
        packetSize = 0 (0x0000)
        timeScale = 44100 (0x0000ac44)
        reserved3 = <2 bytes> 00 00
        type esds
         version = 0 (0x00)
         flags = 0 (0x000000)
         ESID = 0 (0x0000)
         streamDependenceFlag = 0 (0x0) <1 bits>
         URLFlag = 0 (0x0) <1 bits>
         OCRstreamFlag = 0 (0x0) <1 bits>
         streamPriority = 0 (0x00) <5 bits>
         decConfigDescr
          objectTypeId = 64 (0x40)
          streamType = 5 (0x05) <6 bits>
          upStream = 0 (0x0) <1 bits>
          reserved = 1 (0x1) <1 bits>
          bufferSizeDB = 6144 (0x001800) <24 bits>
          maxBitrate = 64000 (0x0000fa00)
          avgBitrate = 64000 (0x0000fa00)
          decSpecificInfo
           info = <2 bytes> 12 10
          profileLevelIndicationIndexDescr
         slConfigDescr
          predefined = 2 (0x02)
         ipiPtr
         ipIds
         ipmpDescrPtr
         langDescr
         qosDescr
         regDescr
         extDescr
      type stts
       version = 0 (0x00)
       flags = 0 (0x000000)
       entryCount = 1 (0x00000001)
       

      type stsc
       version = 0 (0x00)
       flags = 0 (0x000000)
       entryCount = 2 (0x00000002)
       

      type stsz
       version = 0 (0x00)
       flags = 0 (0x000000)
       sampleSize = 0 (0x00000000)
       sampleCount = 172044 (0x0002a00c)
       

      type stco
       version = 0 (0x00)
       flags = 0 (0x000000)
       entryCount = 8193 (0x00002001)
       

  type udta
   type meta
    version = 0 (0x00)
    flags = 0 (0x000000)
    type hdlr
     version = 0 (0x00)
     flags = 0 (0x000000)
     reserved1 = <4 bytes> 00 00 00 00
     handlerType = mdir
     reserved2 = <12 bytes> 61 70 70 6c 00 00 00 00 00 00 00 00
     name =
    type ilst
     type ⌐nam
      type data
       version = 0 (0x00)
       flags = 1 (0x000001)
       reserved2 = <4 bytes> 00 00 00 00
       metadata = <23 bytes>
       30 33 20 74 68 65 20 67 68 6f 73 74 73 20 6f 66
       20 6d 65 6e 64 65 7a
     type cpil
      type data
       version = 0 (0x00)
       flags = 21 (0x000015)
       reserved2 = <4 bytes> 00 00 00 00
       metadata = <1 bytes> 00
     type pgap
      data = <17 bytes>
      00 00 00 11 64 61 74 61 00 00 00 15 00 00 00 00
      00
     type tmpo
      type data
       version = 0 (0x00)
       flags = 21 (0x000015)
       reserved2 = <4 bytes> 00 00 00 00
       metadata = <2 bytes> 00 00
     type ⌐too
      type data
       version = 0 (0x00)
       flags = 1 (0x000001)
       reserved2 = <4 bytes> 00 00 00 00
       metadata = <32 bytes>
       69 54 75 6e 65 73 20 76 37 2e 30 2e 31 2e 38 2c
       20 51 75 69 63 6b 54 69 6d 65 20 37 2e 31 2e 33
     type ----
      type mean
       version = 0 (0x00)
       flags = 0 (0x000000)
       metadata = <16 bytes> 63 6f 6d 2e 61 70 70 6c 65 2e 69 54 75 6e 65 73
      type name
       version = 0 (0x00)
       flags = 0 (0x000000)
       metadata = <8 bytes> 69 54 75 6e 53 4d 50 42
      type data
       version = 0 (0x00)
       flags = 1 (0x000001)
       reserved2 = <4 bytes> 00 00 00 00
       metadata = <116 bytes>
       20 30 30 30 30 30 30 30 30 20 30 30 30 30 30 38
       34 45 20 30 30 30 30 30 30 30 45 20 30 30 30 30
       30 30 30 30 30 41 38 30 32 37 41 34 20 30 30 30
       30 30 30 30 30 20 30 30 30 30 30 30 30 30 20 30
       30 30 30 30 30 30 30 20 30 30 30 30 30 30 30 30
       20 30 30 30 30 30 30 30 30 20 30 30 30 30 30 30
       30 30 20 30 30 30 30 30 30 30 30 20 30 30 30 30
       30 30 30 30
     type ----
      type mean
       version = 0 (0x00)
       flags = 0 (0x000000)
       metadata = <16 bytes> 63 6f 6d 2e 61 70 70 6c 65 2e 69 54 75 6e 65 73
      type name
       version = 0 (0x00)
       flags = 0 (0x000000)
       metadata = <8 bytes> 69 54 75 6e 4e 4f 52 4d
      type data
       version = 0 (0x00)
       flags = 1 (0x000001)
       reserved2 = <4 bytes> 00 00 00 00
       metadata = <90 bytes>
       20 30 30 30 30 30 31 46 42 20 30 30 30 30 30 31
       46 33 20 30 30 30 30 39 31 30 44 20 30 30 30 30
       37 32 43 37 20 30 30 32 35 41 36 31 34 20 30 30
       32 35 41 36 31 34 20 30 30 30 30 34 43 43 34 20
       30 30 30 30 34 42 46 33 20 30 30 30 33 34 35 32
       41 20 30 30 32 43 38 31 45 35
     type ⌐ART
      type data
       version = 0 (0x00)
       flags = 1 (0x000001)
       reserved2 = <4 bytes> 00 00 00 00
       metadata = <19 bytes>
       54 68 65 20 54 6f 6d 6f 72 72 6f 77 20 50 65 6f
       70 6c 65
     type ⌐alb
      type data
       version = 0 (0x00)
       flags = 1 (0x000001)
       reserved2 = <4 bytes> 00 00 00 00
       metadata = <20 bytes>
       54 68 65 20 47 68 6f 73 74 73 20 6f 66 20 4d 65
       6e 64 65 7a
    type free
 type free
 type mdat

D:\>



Logged

Offline Lear

  • Developer
  • Member
  • *
  • Posts: 533
Re: iPod 5g / mini 2g: AAC playback problems
« Reply #5 on: November 07, 2006, 12:26:54 AM »
Well, I didn't say what I was interested in. But yes, this file is simply too long (the stsz atom, with the count 172044, is too large). I made some tests here, and it should be fairly easy to increased the limit, so that twice as long files can be handled.

Making it able to handle even longer files might be possible, but would require some investigations, as I don't know what, if anything, is possible yet. But I think it would be strange if it couldn't be improved somehow...
Logged

michael.conner

  • Guest
Re: iPod 5g / mini 2g: AAC playback problems
« Reply #6 on: November 09, 2006, 04:56:27 PM »
Thanks -- the files work now with the newest CVS builds.  
Logged

  • Print
Pages: [1]
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Audio Playback, Database and Playlists
| | |-+  iPod 5g / mini 2g: AAC playback problems
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.052 seconds with 15 queries.