[opus] [PATCH 1/1] Updated opus_types.h to correctly support 8 and 64 bit types.

Jean-Marc Valin jmvalin at jmvalin.ca
Wed Jun 3 22:13:07 PDT 2015


Well, what you're describing is indeed an issue. opus_int64 was always
meant to be an "internal" type, not exported in an API. I think "long
long" is OK internally, but not for a public API. I had not realized
opusfile was actually using it. Tim, any thoughts?

	Jean-Marc

On 03/06/15 02:13 PM, Simon Jackson wrote:
> Jean-Marc,
> 
> Clearly I haven't thought these changes through properly and was only
> really considering common desktop systems. I was originally fixing an
> issue when compiling my code as 64bit where my use of int64_t (defined
> as long on my platform) was conflicting with the opusfile
> stream callbacks (e.g. op_seek_func) which were using the opus_int64
> type which was defined as long long. When I looked at the header I
> thought it could do with some work, so instead of putting casts in my
> code, I modified the header and sent a patch. I didn't even consider
> building for architectures which could have a 40bit long etc. and am
> obviously a bit out of my depth in this case.
> 
> Sorry for the bad patch, please just disregard it. It might be worth
> updating the header based on the ogg one though. Even without the
> breaking changes I made, it seems to be much more update in some areas.
> 
> Simon
> 
> On 3 June 2015 at 17:59, Ralph Giles <giles at thaumas.net
> <mailto:giles at thaumas.net>> wrote:
> 
>     On 2015-06-03 6:21 AM, Simon Jackson wrote:
> 
>     > - Replaced blanket #define of 8 & 64 bit types with typedefs for each
>     >   platform to match 16 & 32 bit types.
> 
>     You didn't say why you need these additional types?
> 
>      -r
> 
> 


More information about the opus mailing list