1. 05 Sep, 2015 1 commit
    • Andy Wu's avatar
      avformat/mp3dec: Make MP3 seek fast · c43bd08f
      Andy Wu authored
      When AVFMT_FLAG_FAST_SEEK is specified, make MP3 seek operation as
      fast as possible.
      
      When no "-usetoc" is specified, the default operation is using TOC
      if available; otherwise, uses linear interpolation. This is useful
      when seeking a large MP3 file with no TOC available. One example is
      Podcast, many MP3 files are large, but no CBR/VBR tags. Most of
      them are actually CBR. Even in VBR cases, this option sacrifices the
      accuracy of playback time in exchange for responsiveness.
      c43bd08f
  2. 20 Jul, 2015 1 commit
  3. 19 Jul, 2015 2 commits
  4. 18 Jul, 2015 1 commit
  5. 13 Jul, 2015 1 commit
  6. 11 Jul, 2015 1 commit
  7. 24 Jun, 2015 1 commit
  8. 13 Jun, 2015 1 commit
  9. 27 May, 2015 2 commits
  10. 24 Apr, 2015 1 commit
    • wm4's avatar
      avformat/mp3: large id3 tags break concatenated file detection · 537ab680
      wm4 authored
      If the file size is much larger than what is indicated in the XING
      header, the demuxer assumes it's a concatenated file, and throws away
      the (presumably) incorrect duration information. Unfortunately, this
      also triggers if the id3 tags are very large (embedded pictures and
      such). Then the half-baked heuristic not only breaks the duration
      display, but also gapless audio.
      
      Fix it by subtracting the size of the headers (the check is off by some
      bytes, but that doesn't matter at all). Note that there could be an
      arbitrary amount of tags _after_ the mp3 data, but hopefully these are
      not too large to trigger the heuristic in practice.
      
      Also add a warning when this happens.
      Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
      537ab680
  11. 22 Apr, 2015 4 commits
  12. 20 Apr, 2015 1 commit
  13. 17 Apr, 2015 1 commit
    • wm4's avatar
      avformat/mp3dec: fix gapless audio when seeking in CBR mode · 92eef26e
      wm4 authored
      Removing a bunch of questionable hacks makes it work. These hacks
      apparently try to make concatenated mp3s with Lame headers seekable,
      which doesn't make too much sense anyway. The main change is that we
      trust the Xing header file size field now (the same field is used for
      seeking with Xing TOC). Note that a mp3 might contain an unknown number
      of unsupported additional tags, so we can't reliably compute this size
      manually.
      Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
      92eef26e
  14. 15 Apr, 2015 3 commits
  15. 31 Mar, 2015 1 commit
  16. 11 Mar, 2015 1 commit
  17. 26 Feb, 2015 2 commits
  18. 14 Dec, 2014 1 commit
  19. 07 Dec, 2014 1 commit
  20. 18 Nov, 2014 1 commit
  21. 24 Oct, 2014 2 commits
  22. 21 Sep, 2014 1 commit
    • wm4's avatar
      avformat/mp3dec: avoid early EOF with concatenated gapless mp3s · 6c7f1155
      wm4 authored
      Consider a file created with something like:
      
          cat file1.mp3 file2.mp3 > result.mp3
      
      Then if file2.mp3 has gapless information, result.mp3 would stop playing
      something in the middle. This happens because the gapless info directs
      the decoder to discard all samples after a certain position. To make
      matters worse, the gapless info of file2.mp3 will be used when playing
      the file1.mp3 part, because the gapless info is located at the end of
      the file.
      
      While handling concatenated gapless files correctly would be insane and
      a lot of effort (especially without scanning the whole file on opening),
      it's easy to prevent at least early EOF. Playback will happen to work,
      even if it's slightly broken.
      Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
      6c7f1155
  23. 20 Sep, 2014 1 commit
    • wm4's avatar
      avformat/mp3dec: fix gapless audio support · d87fe268
      wm4 authored
      The code already had skipping of initial padding, but discarding
      trailing frame padding was missing.
      
      This is somewhat questionable, because it will make the decoder discard
      any data after the declared file size in the LAME header. But note that
      skipping full frames at the end of the stream is required. Encoders
      actually create such files.
      Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
      d87fe268
  24. 10 Sep, 2014 1 commit
  25. 24 Jul, 2014 1 commit
  26. 12 May, 2014 1 commit
  27. 17 Apr, 2014 2 commits
  28. 24 Mar, 2014 1 commit
  29. 01 Mar, 2014 1 commit
  30. 05 Jan, 2014 1 commit