1. 01 Oct, 2012 2 commits
    • 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. 29 Sep, 2012 2 commits
    • Timothy B. Terriberry's avatar
      Fix handling of holes. · e7661191
      Timothy B. Terriberry authored
      We have to call op_collect_audio_packets() again to drain any
       buffered packets from the page.
      e7661191
    • Timothy B. Terriberry's avatar
      Clean-up for alternate configurations. · 21322357
      Timothy B. Terriberry authored
      * s/op_read_stereo_float/op_read_float_stereo/ for the fixed-point
         API.
      * Fix compiler warnings exposed when optimizations are enabled.
      * Fix opusfile_example to work with --enable-fixed-point
         --disable-float
      * Fix seeking_example to not re-define OP_FIXED_POINT if it's
         already been defined.
      21322357
  3. 24 Sep, 2012 2 commits
  4. 23 Sep, 2012 11 commits
  5. 22 Sep, 2012 6 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 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
  6. 19 Sep, 2012 1 commit
    • 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
  7. 18 Sep, 2012 1 commit
  8. 17 Sep, 2012 2 commits
  9. 16 Sep, 2012 2 commits