Opusfile merge requestshttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests2022-11-23T08:17:02Zhttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/42m4: fix -Wstrict-protoypes2022-11-23T08:17:02ZSam Jamesm4: fix -Wstrict-protoypesIn preparation for C23. Fixes the following error if Clang 16 is
cranked up to be stricter:
```
-warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
+error: a function declaration ...In preparation for C23. Fixes the following error if Clang 16 is
cranked up to be stricter:
```
-warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
+error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
```
Signed-off-by: Sam James <sam@gentoo.org>https://gitlab.xiph.org/xiph/opusfile/-/merge_requests/41Propagate allocation failure from ogg_sync_buffer.2022-09-07T20:43:21ZRalph GilesPropagate allocation failure from ogg_sync_buffer.Instead of segfault, report OP_EFAULT if ogg_sync_buffer returns
a null pointer. This allows more graceful recovery by the caller
in the unlikely event of a fallable ogg_malloc call.
We do check the return value elsewhere in the code, s...Instead of segfault, report OP_EFAULT if ogg_sync_buffer returns
a null pointer. This allows more graceful recovery by the caller
in the unlikely event of a fallable ogg_malloc call.
We do check the return value elsewhere in the code, so the new
checks make the code more consistent.
Thanks to https://github.com/xiph/opusfile/issues/36 for reporting.Ralph GilesRalph Gileshttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/36Rollup doxygen fixes2021-10-23T22:28:45ZRalph GilesRollup doxygen fixesRollup of signed-off doxygen fixes from !33, !34, and !35.Rollup of signed-off doxygen fixes from !33, !34, and !35.Ralph GilesRalph Gileshttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/32gitlab-ci: Move tags and image properties to a default section.2021-07-29T18:19:57ZRalph Gilesgitlab-ci: Move tags and image properties to a default section.This avoids redundancy and conforms to more recent style.This avoids redundancy and conforms to more recent style.Ralph GilesRalph Gileshttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/31cmake support2022-01-15T19:13:37ZRalph Gilescmake supportcmake support from https://github.com/xiph/opusfile/pull/25
Merge request for ci feedback on gitlabcmake support from https://github.com/xiph/opusfile/pull/25
Merge request for ci feedback on gitlabRalph GilesRalph Gileshttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/30Fix 2330 and 23312020-12-16T15:33:24ZTimothy B. TerriberryFix 2330 and 2331Mark HarrisMark Harrishttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/29Fix short-circuit test when seeking in short files2020-10-18T00:21:41ZTimothy B. TerriberryFix short-circuit test when seeking in short filesWhen a file is very, very short (i.e., only one packet) and uses
end-trimming, the apparent granule position preceding the first
sample in the first packet can underflow.
We were computing this value by subtracting the packet duration
...When a file is very, very short (i.e., only one packet) and uses
end-trimming, the apparent granule position preceding the first
sample in the first packet can underflow.
We were computing this value by subtracting the packet duration
from the computed per-packet granule position and expecting this
computation to always succeed.
Because it could fail in the presence of end-trimming on the first
packet (ironically, exactly the situation where the short-circuit
is helpful), it would leave the value uninitialized, and then use
it in a comparison, which is undefined behavior.
The correct solution is to check for failure and force the previous
page's granule position to 0 in this case.Mark HarrisMark Harrishttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/28Fix a possible divide-by-zero.2020-09-16T03:04:21ZTimothy B. TerriberryFix a possible divide-by-zero.We were attempting to ensure a minimum spacing between granule
positions when guessing the start of a link location.
However, we took a strictly-positive granule position, added a
fixed increment with op_granpos_add(), and checked if
...We were attempting to ensure a minimum spacing between granule
positions when guessing the start of a link location.
However, we took a strictly-positive granule position, added a
fixed increment with op_granpos_add(), and checked if
op_granpos_add() failed.
op_granpos_add() only fails if the sum would have overflowed past
zero, which can never happen when adding two strictly positive
granule positions.
Instead, we need to check if the result becomes negative (which is
a legal granule position, but violates our assumptions in the
search).
Thanks to Felicia Lim for the report.Mark HarrisMark Harrishttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/25Fix memory leak caused by incorrect link count to clean up on error.2020-08-01T14:27:31ZTimothy B. TerriberryFix memory leak caused by incorrect link count to clean up on error.Timothy B. TerriberryTimothy B. Terriberryhttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/24updates for the 0.12 release2020-06-26T23:45:42ZRalph Gilesupdates for the 0.12 releasebump soname and update release checklistbump soname and update release checklistRalph GilesRalph Gileshttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/23Replace broken Jenkins status with GitLab status2020-06-25T15:34:56ZMark HarrisReplace broken Jenkins status with GitLab statushttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/22http: Fix build on Solaris/Illumos2020-06-26T18:04:47ZMark Harrishttp: Fix build on Solaris/IllumosSolaris/Illumos sys/ioctl.h requires BSD_COMP to be defined in order for FIONREAD to be defined.Solaris/Illumos sys/ioctl.h requires BSD_COMP to be defined in order for FIONREAD to be defined.https://gitlab.xiph.org/xiph/opusfile/-/merge_requests/21mingw updates2020-06-25T04:56:52ZRalph Gilesmingw updatesImprove the state of the mingw build, updating dependencies to the latest working releases.
This sort of works, but only with the out-of-support openssl 1.0.2u release. That means we won't distribute a windows binary package from this...Improve the state of the mingw build, updating dependencies to the latest working releases.
This sort of works, but only with the out-of-support openssl 1.0.2u release. That means we won't distribute a windows binary package from this tree, but it's a better reference for someone who wants to built it themselves.
The docker container is broken by the lack of ssl.dll which I couldn't get to build, but the following worked for me:
make -C mingw libopusfile-0.dll
make -C mingw package
And the results ran on a Windows 10 vm.Ralph GilesRalph Gileshttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/20configure.ac: Fix macro underquoting2020-05-04T15:01:25ZMark Harrisconfigure.ac: Fix macro underquotingTimothy B. TerriberryTimothy B. Terriberryhttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/19Silence clang null pointer arithmetic warning2020-05-02T06:33:25ZMark HarrisSilence clang null pointer arithmetic warningTimothy B. TerriberryTimothy B. Terriberryhttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/17Resolve the rest of the scan-build static analysis repotrs2020-05-02T06:01:25ZTimothy B. TerriberryResolve the rest of the scan-build static analysis repotrsContinued from https://gitlab.xiph.org/xiph/opusfile/-/merge_requests/16
Addressing one more issue not reported by my local scan-build, thanks to Mark Harris for testing the fix.Continued from https://gitlab.xiph.org/xiph/opusfile/-/merge_requests/16
Addressing one more issue not reported by my local scan-build, thanks to Mark Harris for testing the fix.Mark HarrisMark Harrishttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/14Avoid a potential divide-by-zero.2020-05-02T03:11:57ZTimothy B. TerriberryAvoid a potential divide-by-zero.Reported by clang's static analysis in
https://github.com/xiph/opusfile/issues/16
This would have taken about 22 TB of junk data before the first
decoded sample to trigger, so not very likely to occur in
practice.
Thanks to kcgen for...Reported by clang's static analysis in
https://github.com/xiph/opusfile/issues/16
This would have taken about 22 TB of junk data before the first
decoded sample to trigger, so not very likely to occur in
practice.
Thanks to kcgen for filing the report.Mark HarrisMark Harrishttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/13Fix macOS travis build2020-05-02T00:53:15ZRalph GilesFix macOS travis buildUpdate the travis config to resolve recent build errors.Update the travis config to resolve recent build errors.Marvin ScholzMarvin Scholzhttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/8Fix handling of holes again.2020-04-26T01:02:47ZTimothy B. TerriberryFix handling of holes again.It is possible for us to buffer multiple out-of-sequence pages with no packets
on them before getting one that does have packets.
In this case, libogg will report each hole in the page sequence numbers
separately.
Since we were only ch...It is possible for us to buffer multiple out-of-sequence pages with no packets
on them before getting one that does have packets.
In this case, libogg will report each hole in the page sequence numbers
separately.
Since we were only checking for the actual packets once after encountering a
hole, if the total number of holes was even, we could exit
op_fetch_and_process_page() with valid packets still in the libogg buffer.
Then, if the next page had a lot of packets, we might wind up with a total of
more than 255 of them, overflowing our stack buffer for their durations.
That's bad.
Instead, make sure we always drain all hole reports from libogg any time we
encounter one, to ensure we get the actual packets behind it.
Thanks to Felicia Lim for the report.Mark HarrisMark Harrishttps://gitlab.xiph.org/xiph/opusfile/-/merge_requests/7Miscellaneous fixes2019-11-23T00:55:14ZTimothy B. TerriberryMiscellaneous fixesUpdated from https://gitlab.xiph.org/xiph/opusfile/merge_requests/6Updated from https://gitlab.xiph.org/xiph/opusfile/merge_requests/6Timothy B. TerriberryTimothy B. Terriberry