1. 01 Oct, 2012 6 commits
    • Timothy B. Terriberry's avatar
      Add status output to opusfile_example. · 8e6d4a76
      Timothy B. Terriberry authored
      This displays the current raw position, PCM position, and
       instantaneous bitrate once per second of output.
      This is useful when testing against long-running streams.
      8e6d4a76
    • Timothy B. Terriberry's avatar
      Make seeking_example continue after failures. · 643aed3d
      Timothy B. Terriberry authored
      This makes it more useful for testing invalid files, where the goal
       is merely not to crash, assert, or trip valgrind warnings.
      643aed3d
    • Timothy B. Terriberry's avatar
      Documentation updates. · 9926a466
      Timothy B. Terriberry authored
      * Add Opus logo.
      * Use @VERSION@ consistently.
      * Fix some warnings/formatting exposed by a newer Doxygen versions.
      9926a466
    • Timothy B. Terriberry's avatar
      Fix an uninitialized warning from cf594de6. · 1f2f0bc4
      Timothy B. Terriberry authored
      The warning was correct, as far as it goes, but the use was
       actually harmless.
      1f2f0bc4
    • Timothy B. Terriberry's avatar
      Fix file: <host> comparison. · 01012058
      Timothy B. Terriberry authored
      The previous comparison would have succeeded on things like
       "localhost123" instead of just "localhost".
      01012058
    • Timothy B. Terriberry's avatar
      Clean up page seeking a bit. · cf594de6
      Timothy B. Terriberry authored
      * Guarantee pcm_start and pcm_end stay in range (not just move in
         the right direction).
      * When we fail to find a page in the interval, back up by increasing
         chunk sizes just like op_get_prev_page_serial().
      * Eliminate the special case for the last page in the interval.
      * Force a straight bisection if we're backing up, but not decreasing
         the interval size rapidly enough, to limit the worst-case.
        This is guaranteed not to affect the first two iterations, so it
         has minimal impact on seeking in the normal case.
      cf594de6
  2. 30 Sep, 2012 1 commit
    • Ralph Giles's avatar
      Fix the doc makefile. · bed73602
      Ralph Giles authored
      The autoconf build replaced the static Doxyfile with a Doxyfile.in
      template. In the autoconf build, the config.status script applies
      substitutions to generate the actual Doxyfile. This made the generic
      doc/Makefile non-functional.
      
      Apply similar substitutions directly with the makefile so we can
      still build documentation outside the context of the autoconf build.
      
      Also add a 'distclean' target to remove the generated Doxyfile.
      bed73602
  3. 29 Sep, 2012 4 commits
  4. 24 Sep, 2012 6 commits
  5. 23 Sep, 2012 12 commits
  6. 22 Sep, 2012 7 commits
    • Timothy B. Terriberry's avatar
      Save initial stream state on seekable open. · 2df5f786
      Timothy B. Terriberry authored
      This means that in the normal case, after identifying the chain
       boundaries, we will seek back exactly where we were before.
      With the http backend, that gives us a good chance of re-using our
       initial connection to continue reading the stream.
      Currently the LRU connection expiration algorithm means that is
       unlikely with lots of links, however.
      2df5f786
    • Timothy B. Terriberry's avatar
      Small speed-up to op_bisect_forward_serialno(). · 167822cf
      Timothy B. Terriberry authored
      Try to guess that the next link will be approximately the average
       size of all previous links, for files with many links.
      This cuts off 6-17% of the seeks.
      
      Also remove a variable that was left unused after 5e36109d.
      167822cf
    • Timothy B. Terriberry's avatar
      Clean up offset tracking. · 5e36109d
      Timothy B. Terriberry authored
      Reduce the number of places we modify 'offset' so that
       op_seek_helper() can always skip seeks to the current offset.
      The checks we were doing before already covered all the places
       where this was useful in the normal case, but this lets us
       centralize that logic.
      
      This commit also includes a few minor follow-ups to 9b57b0c2:
      * Use a smaller type for ret_size and initialize it.
      * Verify 'end' is at least as large as data we've already read.
      5e36109d
    • Timothy B. Terriberry's avatar
      Fix some issues with trailing junk in files. · 9b57b0c2
      Timothy B. Terriberry authored
      1) We were treating EOF in op_get_next_page() as a read error when
          called from op_get_prev_page_serial().
      2) We also assumed op_get_prev_page_serial() stopped scanning at the
          end of the page it returned, in order to compute the size of
          that page.
         Return the page size explicitly instead.
      3) Finally, once we discover where the last page is, there is no
          reason to ever look at data past it.
         Update 'end' once we find it, and always pass that to
          op_get_next_page().
      9b57b0c2
    • Timothy B. Terriberry's avatar
      Minor http redirect clean-ups. · 073fe98c
      Timothy B. Terriberry authored
      Actually close the old socket.
      Don't initialize SSL more than once.
      073fe98c
    • Timothy B. Terriberry's avatar
      Add URL support to seeking_example. · 9df7ae98
      Timothy B. Terriberry authored
      Also fixes some indenting in opusfile_example.
      9df7ae98
    • Timothy B. Terriberry's avatar
      Add support for http, https, and file URLs. · 8d04070b
      Timothy B. Terriberry authored
      This is pretty preliminary for now.
      Seeking performance isn't great, and there's no caching.
      I'm sure there's also lots of bugs.
      8d04070b
  7. 21 Sep, 2012 1 commit
  8. 19 Sep, 2012 2 commits
    • Timothy B. Terriberry's avatar
      Fix hole reporting discrepancy. · 78e5fffc
      Timothy B. Terriberry authored
      op_find_initial_pcm_offset() would swallow any holes at the start
       of a link, but seekable streams did not use it when crossing a
       link boundary, so they would report a hole.
      This unifies the hole reporting between the two, and also
       simplifies the seeking code (which also needs to ignore holes) a
       bit.
      78e5fffc
    • Timothy B. Terriberry's avatar
      A couple of seeking_example improvements. · efbca3a1
      Timothy B. Terriberry authored
      1) Check for allocation failure and fall back to merely scanning a
       file for consistent timestamps instead of loading it to RAM.
      2) Report holes, but do not quit scanning/loading unless they cause
       a discontinuity in the timestamps.
      efbca3a1
  9. 18 Sep, 2012 1 commit
    • Ralph Giles's avatar
      Embed the git revision in the doxygen documentation. · 3c7191a9
      Ralph Giles authored
      The simple git-version script asks git for the current
      revision, and falls back to 'unknown' if the result is
      empty. This will have little effect until we have tags
      in the repository.
      
      We use the FILE_VERSION_FILTER option on doxygen to
      embed this in the documentation with each file reference.
      
      Unfortunately, there doesn't seem to be a way to
      set PROJECT_NUMBER globally in the same way. This
      commit unsets that option to avoid confusing references
      in the generated documentation.
      3c7191a9