- Sep 29, 2012
-
-
Includes - A make debug target that disables optimizations and enables assertions, - Proper ./configure switches for the optional features, - A configuration summary, - libtool versioning information, - Visibility and warning flags, - API documentation, and - Support for out-of-tree builds. Signed-off-by:
Diego Elio Pettenò <flameeyes@flameeyes.eu>
-
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.
-
Gregory Maxwell authored
-
- Sep 24, 2012
-
-
Ralph Giles authored
GNU make provides a default definition for this variable. I've no idea what's special about mingw32-ar vs native ar, but it seems to be required.
-
Timothy B. Terriberry authored
The most important for the https backend: - Implement RFC 6066 Server Name Indication. - Implement SSL session resumption. This gives less of a speed improvement than you might think.
-
Timothy B. Terriberry authored
-
Timothy B. Terriberry authored
-
Timothy B. Terriberry authored
-
Timothy B. Terriberry authored
-
- Sep 23, 2012
-
-
Timothy B. Terriberry authored
It's served its purpose, and isn't worth the time it takes now. Leaving the code around to make it easy to re-enable if necessary.
-
Timothy B. Terriberry authored
Splits the documentation into sections and provides an overview. Also explicitly document which functions can and cannot be called on partially-open streams, and fix-up a few things to behave as documented.
-
Timothy B. Terriberry authored
There are now a couple of places where we need to know the actual stream position indicator, not just the offset of the data we've read out of the ogg_sync_state. Make a function to compute this, document it, and use it.
-
Timothy B. Terriberry authored
end_offset should be the _start_ of the last Opus page in a link, to guarantee we seek before it to have enough information to do end-trimming. After the changes in 007ec4e4, it would be set to the start of the next link if we cached the last page granule position. Also add more comments.
-
Timothy B. Terriberry authored
-
Timothy B. Terriberry authored
1) Remember the granule position of the last page we've seen from the current link and save the first page of the next link as long as we're scanning forward. This knocks almost 10% off the number of seeks for large links. For smaller links the improvement is much larger. 2) Only use pairs of close-by serial numbers to estimate link start locations (assuming they're above our start threshold). This gives a minor (<2%) improvement, which might be in the noise, but as it doesn't appear to hurt and is faster, might as well. 3) Eliminate a redundant check in op_pcm_seek_page_impl().
-
Timothy B. Terriberry authored
If we encounter the first page after the target while scanning forward, we no longer seek back and read it again after we exit the bisection search, but just hold on to the copy we already have.
-
Timothy B. Terriberry authored
Teach me to change something right before committing.
-
Timothy B. Terriberry authored
This gives us a better idea when to re-use a connection.
-
Timothy B. Terriberry authored
This uses two sightings of a valid granule position from the same future stream to extrapolate where the start of that stream is during link enumeration. This can cut out more than 20% of the seeks required to open large files with lots of long links.
-
Timothy B. Terriberry authored
-
Timothy B. Terriberry authored
2df5f786 did not quite save enough. The ogg_stream_state and initial ogg_packet list also need to be saved, and the starting granule position and pre-skip need to be restored. Otherwise, if the stream has more than one link, the first packets decoded will come from the wrong one.
-
- Sep 22, 2012
-
-
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.
-
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.
-
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.
-
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().
-
Timothy B. Terriberry authored
Actually close the old socket. Don't initialize SSL more than once.
-
Timothy B. Terriberry authored
Also fixes some indenting in opusfile_example.
-
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.
-
- Sep 21, 2012
-
-
Timothy B. Terriberry authored
When a match fails, the index of the position in the link needs to be 64 bits.
-
- Sep 19, 2012
-
-
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.
-
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.
-
- Sep 18, 2012
-
-
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.
-
Ralph Giles authored
Just runs doxygen for us, an optionally latex. The 'clean' target removes the doxygen output directories.
-
Ralph Giles authored
This is just to help us validate the api docs as they're added. By using a minimal Doxyfile we save space, make it easier to read, and avoid warnings from deprecated and unknown options across different doxygen versions.
-
Timothy B. Terriberry authored
Apparently just declaring the functions in the header is not good enough. Currently completely untested.
-
- Sep 17, 2012
-
-
Timothy B. Terriberry authored
3f18c55f moved it out of opus/, so strip the prefix.
-
Ralph Giles authored
If a source file moves (as in the previous commit), any stale dependencies will block execution of 'make' because they define a dependency relationship to an non-existant file. The obvious thing to do is 'make clean' to get rid of the dependency files, but of course that fails the same way. To support this recovery, skip the include directive if the GNU make variable MAKECMDGOALS is 'clean', exempting this target from dependency checks. Based on an example in the GNU make manual.
-
Ralph Giles authored
This matches the convention used by opus itself, where headers are included without a prefix, and the build must do -I/path/to/opus to find the appropriate versions.
-
Timothy B. Terriberry authored
More consistent formatting, s/file/stream/g, and finish adding function warning attributes.
-
Timothy B. Terriberry authored
The actual problem was that opus-uninstalled.pc was forcing static linking, but not including all the relevant libraries.
-