This is an automated email from the git hooks/post-receive script. smcv pushed a commit to annotated tag 1.42d in repository iortcw.
commit 9fd43cf2cefae140944747993603757ea94bef5e Author: [email protected] <[email protected]@e65d2741-a53d-b2dc-ae96-bb75fa5e4c4a> Date: Tue Aug 26 09:18:46 2014 +0000 All: Update opusfile to 0.6 --- MP/Makefile | 2 +- .../code/opusfile-0.6}/include/opusfile.h | 19 +++++++++-- MP/code/{opusfile-0.5 => opusfile-0.6}/src/http.c | 0 .../code/opusfile-0.6}/src/info.c | 12 ++++--- .../{opusfile-0.5 => opusfile-0.6}/src/internal.c | 0 .../{opusfile-0.5 => opusfile-0.6}/src/internal.h | 0 .../code/opusfile-0.6}/src/opusfile.c | 39 ++++++++++------------ .../{opusfile-0.5 => opusfile-0.6}/src/stream.c | 0 .../{opusfile-0.5 => opusfile-0.6}/src/wincerts.c | 0 .../{opusfile-0.5 => opusfile-0.6}/src/winerrno.h | 0 SP/Makefile | 2 +- .../code/opusfile-0.6}/include/opusfile.h | 19 +++++++++-- SP/code/{opusfile-0.5 => opusfile-0.6}/src/http.c | 0 .../code/opusfile-0.6}/src/info.c | 12 ++++--- .../{opusfile-0.5 => opusfile-0.6}/src/internal.c | 0 .../{opusfile-0.5 => opusfile-0.6}/src/internal.h | 0 .../code/opusfile-0.6}/src/opusfile.c | 39 ++++++++++------------ .../{opusfile-0.5 => opusfile-0.6}/src/stream.c | 0 .../{opusfile-0.5 => opusfile-0.6}/src/wincerts.c | 0 .../{opusfile-0.5 => opusfile-0.6}/src/winerrno.h | 0 20 files changed, 84 insertions(+), 60 deletions(-) diff --git a/MP/Makefile b/MP/Makefile index 6107963..6843bdd 100644 --- a/MP/Makefile +++ b/MP/Makefile @@ -286,7 +286,7 @@ JPDIR=$(MOUNT_DIR)/jpeg-8c OGGDIR=$(MOUNT_DIR)/libogg-1.3.1 VORBISDIR=$(MOUNT_DIR)/libvorbis-1.3.4 OPUSDIR=$(MOUNT_DIR)/opus-1.1 -OPUSFILEDIR=$(MOUNT_DIR)/opusfile-0.5 +OPUSFILEDIR=$(MOUNT_DIR)/opusfile-0.6 ZDIR=$(MOUNT_DIR)/zlib Q3ASMDIR=$(MOUNT_DIR)/tools/asm LBURGDIR=$(MOUNT_DIR)/tools/lcc/lburg diff --git a/SP/code/opusfile-0.5/include/opusfile.h b/MP/code/opusfile-0.6/include/opusfile.h similarity index 99% rename from SP/code/opusfile-0.5/include/opusfile.h rename to MP/code/opusfile-0.6/include/opusfile.h index 850cd6b..a31b6c4 100644 --- a/SP/code/opusfile-0.5/include/opusfile.h +++ b/MP/code/opusfile-0.6/include/opusfile.h @@ -1453,6 +1453,10 @@ int op_channel_count(const OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); /**Get the total (compressed) size of the stream, or of an individual link in a (possibly-chained) Ogg Opus stream, including all headers and Ogg muxing overhead. + \warning If the Opus stream (or link) is concurrently multiplexed with other + logical streams (e.g., video), this returns the size of the entire stream + (or link), not just the number of bytes in the first logical Opus stream. + Returning the latter would require scanning the entire file. \param _of The \c OggOpusFile from which to retrieve the compressed size. \param _li The index of the link whose compressed size should be computed. Use a negative number to get the compressed size of the entire @@ -1537,13 +1541,22 @@ const OpusTags *op_tags(const OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); \retval #OP_EINVAL The stream was only partially open.*/ int op_current_link(const OggOpusFile *_of) OP_ARG_NONNULL(1); -/**Computes the bitrate for a given link in a (possibly chained) Ogg Opus - stream. +/**Computes the bitrate of the stream, or of an individual link in a + (possibly-chained) Ogg Opus stream. The stream must be seekable to compute the bitrate. For unseekable streams, use op_bitrate_instant() to get periodic estimates. + \warning If the Opus stream (or link) is concurrently multiplexed with other + logical streams (e.g., video), this uses the size of the entire stream (or + link) to compute the bitrate, not just the number of bytes in the first + logical Opus stream. + Returning the latter requires scanning the entire file, but this may be done + by decoding the whole file and calling op_bitrate_instant() once at the + end. + Install a trivial decoding callback with op_set_decode_callback() if you + wish to skip actual decoding during this process. \param _of The \c OggOpusFile from which to retrieve the bitrate. \param _li The index of the link whose bitrate should be computed. - USe a negative number to get the bitrate of the whole stream. + Use a negative number to get the bitrate of the whole stream. \return The bitrate on success, or a negative value on error. \retval #OP_EINVAL The stream was only partially open, the stream was not seekable, or \a _li was larger than the number of diff --git a/MP/code/opusfile-0.5/src/http.c b/MP/code/opusfile-0.6/src/http.c similarity index 100% rename from MP/code/opusfile-0.5/src/http.c rename to MP/code/opusfile-0.6/src/http.c diff --git a/SP/code/opusfile-0.5/src/info.c b/MP/code/opusfile-0.6/src/info.c similarity index 98% rename from SP/code/opusfile-0.5/src/info.c rename to MP/code/opusfile-0.6/src/info.c index 6cf9851..3134927 100644 --- a/SP/code/opusfile-0.5/src/info.c +++ b/MP/code/opusfile-0.6/src/info.c @@ -28,11 +28,13 @@ static int op_parse_int16le(const unsigned char *_data){ } static opus_uint32 op_parse_uint32le(const unsigned char *_data){ - return _data[0]|_data[1]<<8|_data[2]<<16|_data[3]<<24; + return _data[0]|(opus_uint32)_data[1]<<8| + (opus_uint32)_data[2]<<16|(opus_uint32)_data[3]<<24; } static opus_uint32 op_parse_uint32be(const unsigned char *_data){ - return _data[3]|_data[2]<<8|_data[1]<<16|_data[0]<<24; + return _data[3]|(opus_uint32)_data[2]<<8| + (opus_uint32)_data[1]<<16|(opus_uint32)_data[0]<<24; } int opus_head_parse(OpusHead *_head,const unsigned char *_data,size_t _len){ @@ -259,10 +261,11 @@ int opus_tags_add(OpusTags *_tags,const char *_tag,const char *_value){ _tags->user_comments[ncomments]=comment= (char *)_ogg_malloc(sizeof(*comment)*(tag_len+value_len+2)); if(OP_UNLIKELY(comment==NULL))return OP_EFAULT; - _tags->comment_lengths[ncomments]=tag_len+value_len+1; memcpy(comment,_tag,sizeof(*comment)*tag_len); comment[tag_len]='='; memcpy(comment+tag_len+1,_value,sizeof(*comment)*(value_len+1)); + _tags->comment_lengths[ncomments]=tag_len+value_len+1; + _tags->comments=ncomments+1; return 0; } @@ -278,6 +281,7 @@ int opus_tags_add_comment(OpusTags *_tags,const char *_comment){ _tags->user_comments[ncomments]=op_strdup_with_len(_comment,comment_len); if(OP_UNLIKELY(_tags->user_comments[ncomments]==NULL))return OP_EFAULT; _tags->comment_lengths[ncomments]=comment_len; + _tags->comments=ncomments+1; return 0; } @@ -560,7 +564,7 @@ static int opus_picture_tag_parse_impl(OpusPictureTag *_pic,const char *_tag, i+=4; /*If one of these is set, they all must be, but colors==0 is a valid value.*/ colors_set=width!=0||height!=0||depth!=0||colors!=0; - if(width==0||height==0||depth==0&&colors_set)return OP_ENOTFORMAT; + if((width==0||height==0||depth==0)&&colors_set)return OP_ENOTFORMAT; data_length=op_parse_uint32be(_buf+i); i+=4; if(data_length>_buf_sz-i)return OP_ENOTFORMAT; diff --git a/MP/code/opusfile-0.5/src/internal.c b/MP/code/opusfile-0.6/src/internal.c similarity index 100% rename from MP/code/opusfile-0.5/src/internal.c rename to MP/code/opusfile-0.6/src/internal.c diff --git a/MP/code/opusfile-0.5/src/internal.h b/MP/code/opusfile-0.6/src/internal.h similarity index 100% rename from MP/code/opusfile-0.5/src/internal.h rename to MP/code/opusfile-0.6/src/internal.h diff --git a/SP/code/opusfile-0.5/src/opusfile.c b/MP/code/opusfile-0.6/src/opusfile.c similarity index 99% rename from SP/code/opusfile-0.5/src/opusfile.c rename to MP/code/opusfile-0.6/src/opusfile.c index 392ddb2..e8ce150 100644 --- a/SP/code/opusfile-0.5/src/opusfile.c +++ b/MP/code/opusfile-0.6/src/opusfile.c @@ -156,8 +156,8 @@ static int op_get_data(OggOpusFile *_of,int _nbytes){ /*Save a tiny smidge of verbosity to make the code more readable.*/ static int op_seek_helper(OggOpusFile *_of,opus_int64 _offset){ if(_offset==_of->offset)return 0; - if(_of->callbacks.seek==NULL|| - (*_of->callbacks.seek)(_of->source,_offset,SEEK_SET)){ + if(_of->callbacks.seek==NULL + ||(*_of->callbacks.seek)(_of->source,_offset,SEEK_SET)){ return OP_EREAD; } _of->offset=_offset; @@ -496,30 +496,25 @@ static int op_fetch_headers_impl(OggOpusFile *_of,OpusHead *_head, ogg_stream_pagein(&_of->os,_og); if(OP_LIKELY(ogg_stream_packetout(&_of->os,&op)>0)){ ret=opus_head_parse(_head,op.packet,op.bytes); - /*If it's just a stream type we don't recognize, ignore it.*/ - if(ret==OP_ENOTFORMAT)continue; - /*Everything else is fatal.*/ - if(OP_UNLIKELY(ret<0))return ret; /*Found a valid Opus header. Continue setup.*/ - _of->ready_state=OP_STREAMSET; + if(OP_LIKELY(ret>=0))_of->ready_state=OP_STREAMSET; + /*If it's just a stream type we don't recognize, ignore it. + Everything else is fatal.*/ + else if(ret!=OP_ENOTFORMAT)return ret; } } /*Get the next page. No need to clamp the boundary offset against _of->end, as all errors - become OP_ENOTFORMAT.*/ + become OP_ENOTFORMAT or OP_EBADHEADER.*/ if(OP_UNLIKELY(op_get_next_page(_of,_og, OP_ADV_OFFSET(_of->offset,OP_CHUNK_SIZE))<0)){ - return OP_ENOTFORMAT; - } - /*If this page also belongs to our Opus stream, submit it and break.*/ - if(_of->ready_state==OP_STREAMSET - &&_of->os.serialno==ogg_page_serialno(_og)){ - ogg_stream_pagein(&_of->os,_og); - break; + return _of->ready_state<OP_STREAMSET?OP_ENOTFORMAT:OP_EBADHEADER; } } if(OP_UNLIKELY(_of->ready_state!=OP_STREAMSET))return OP_ENOTFORMAT; + /*If the first non-header page belonged to our Opus stream, submit it.*/ + if(_of->os.serialno==ogg_page_serialno(_og))ogg_stream_pagein(&_of->os,_og); /*Loop getting packets.*/ for(;;){ switch(ogg_stream_packetout(&_of->os,&op)){ @@ -930,7 +925,7 @@ static int op_find_initial_pcm_offset(OggOpusFile *_of, prev_packet_gp=pcm_start; for(pi=0;pi<op_count;pi++){ if(cur_page_eos){ - ogg_int64_t diff; + ogg_int64_t diff = 0; OP_ALWAYS_TRUE(!op_granpos_diff(&diff,cur_page_gp,prev_packet_gp)); diff=durations[pi]-diff; /*If we have samples to trim...*/ @@ -1715,7 +1710,7 @@ opus_int64 op_raw_total(const OggOpusFile *_of,int _li){ ogg_int64_t op_pcm_total(const OggOpusFile *_of,int _li){ OggOpusLink *links; - ogg_int64_t diff; + ogg_int64_t diff = 0; int nlinks; nlinks=_of->nlinks; if(OP_UNLIKELY(_of->ready_state<OP_OPENED) @@ -2114,7 +2109,7 @@ int op_raw_seek(OggOpusFile *_of,opus_int64 _pos){ static ogg_int64_t op_get_granulepos(const OggOpusFile *_of, ogg_int64_t _pcm_offset,int *_li){ const OggOpusLink *links; - ogg_int64_t duration; + ogg_int64_t duration = 0; int nlinks; int li; OP_ASSERT(_pcm_offset>=0); @@ -2166,7 +2161,7 @@ static int op_pcm_seek_page(OggOpusFile *_of, ogg_int64_t _target_gp,int _li){ const OggOpusLink *link; ogg_page og; - ogg_int64_t pcm_pre_skip; + ogg_int64_t pcm_pre_skip = 0; ogg_int64_t pcm_start; ogg_int64_t pcm_end; ogg_int64_t best_gp; @@ -2239,7 +2234,7 @@ static int op_pcm_seek_page(OggOpusFile *_of, } } else{ - ogg_int64_t prev_page_gp; + ogg_int64_t prev_page_gp = 0; /*We might get lucky and already have the packet with the target buffered. Worth checking. @@ -2289,7 +2284,7 @@ static int op_pcm_seek_page(OggOpusFile *_of, d2=end-begin>>1; if(force_bisect)bisect=begin+(end-begin>>1); else{ - ogg_int64_t diff2; + ogg_int64_t diff2 = 0; OP_ALWAYS_TRUE(!op_granpos_diff(&diff,_target_gp,pcm_start)); OP_ALWAYS_TRUE(!op_granpos_diff(&diff2,pcm_end,pcm_start)); /*Take a (pretty decent) guess.*/ @@ -2503,7 +2498,7 @@ static ogg_int64_t op_get_pcm_offset(const OggOpusFile *_of, ogg_int64_t _gp,int _li){ const OggOpusLink *links; ogg_int64_t pcm_offset; - ogg_int64_t delta; + ogg_int64_t delta = 0; int li; links=_of->links; pcm_offset=0; diff --git a/MP/code/opusfile-0.5/src/stream.c b/MP/code/opusfile-0.6/src/stream.c similarity index 100% rename from MP/code/opusfile-0.5/src/stream.c rename to MP/code/opusfile-0.6/src/stream.c diff --git a/MP/code/opusfile-0.5/src/wincerts.c b/MP/code/opusfile-0.6/src/wincerts.c similarity index 100% rename from MP/code/opusfile-0.5/src/wincerts.c rename to MP/code/opusfile-0.6/src/wincerts.c diff --git a/MP/code/opusfile-0.5/src/winerrno.h b/MP/code/opusfile-0.6/src/winerrno.h similarity index 100% rename from MP/code/opusfile-0.5/src/winerrno.h rename to MP/code/opusfile-0.6/src/winerrno.h diff --git a/SP/Makefile b/SP/Makefile index 07f4d8c..2192493 100644 --- a/SP/Makefile +++ b/SP/Makefile @@ -282,7 +282,7 @@ JPDIR=$(MOUNT_DIR)/jpeg-8c OGGDIR=$(MOUNT_DIR)/libogg-1.3.1 VORBISDIR=$(MOUNT_DIR)/libvorbis-1.3.4 OPUSDIR=$(MOUNT_DIR)/opus-1.1 -OPUSFILEDIR=$(MOUNT_DIR)/opusfile-0.5 +OPUSFILEDIR=$(MOUNT_DIR)/opusfile-0.6 ZDIR=$(MOUNT_DIR)/zlib SPLDIR=$(MOUNT_DIR)/splines Q3ASMDIR=$(MOUNT_DIR)/tools/asm diff --git a/MP/code/opusfile-0.5/include/opusfile.h b/SP/code/opusfile-0.6/include/opusfile.h similarity index 99% rename from MP/code/opusfile-0.5/include/opusfile.h rename to SP/code/opusfile-0.6/include/opusfile.h index 850cd6b..a31b6c4 100644 --- a/MP/code/opusfile-0.5/include/opusfile.h +++ b/SP/code/opusfile-0.6/include/opusfile.h @@ -1453,6 +1453,10 @@ int op_channel_count(const OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); /**Get the total (compressed) size of the stream, or of an individual link in a (possibly-chained) Ogg Opus stream, including all headers and Ogg muxing overhead. + \warning If the Opus stream (or link) is concurrently multiplexed with other + logical streams (e.g., video), this returns the size of the entire stream + (or link), not just the number of bytes in the first logical Opus stream. + Returning the latter would require scanning the entire file. \param _of The \c OggOpusFile from which to retrieve the compressed size. \param _li The index of the link whose compressed size should be computed. Use a negative number to get the compressed size of the entire @@ -1537,13 +1541,22 @@ const OpusTags *op_tags(const OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); \retval #OP_EINVAL The stream was only partially open.*/ int op_current_link(const OggOpusFile *_of) OP_ARG_NONNULL(1); -/**Computes the bitrate for a given link in a (possibly chained) Ogg Opus - stream. +/**Computes the bitrate of the stream, or of an individual link in a + (possibly-chained) Ogg Opus stream. The stream must be seekable to compute the bitrate. For unseekable streams, use op_bitrate_instant() to get periodic estimates. + \warning If the Opus stream (or link) is concurrently multiplexed with other + logical streams (e.g., video), this uses the size of the entire stream (or + link) to compute the bitrate, not just the number of bytes in the first + logical Opus stream. + Returning the latter requires scanning the entire file, but this may be done + by decoding the whole file and calling op_bitrate_instant() once at the + end. + Install a trivial decoding callback with op_set_decode_callback() if you + wish to skip actual decoding during this process. \param _of The \c OggOpusFile from which to retrieve the bitrate. \param _li The index of the link whose bitrate should be computed. - USe a negative number to get the bitrate of the whole stream. + Use a negative number to get the bitrate of the whole stream. \return The bitrate on success, or a negative value on error. \retval #OP_EINVAL The stream was only partially open, the stream was not seekable, or \a _li was larger than the number of diff --git a/SP/code/opusfile-0.5/src/http.c b/SP/code/opusfile-0.6/src/http.c similarity index 100% rename from SP/code/opusfile-0.5/src/http.c rename to SP/code/opusfile-0.6/src/http.c diff --git a/MP/code/opusfile-0.5/src/info.c b/SP/code/opusfile-0.6/src/info.c similarity index 98% rename from MP/code/opusfile-0.5/src/info.c rename to SP/code/opusfile-0.6/src/info.c index 6cf9851..3134927 100644 --- a/MP/code/opusfile-0.5/src/info.c +++ b/SP/code/opusfile-0.6/src/info.c @@ -28,11 +28,13 @@ static int op_parse_int16le(const unsigned char *_data){ } static opus_uint32 op_parse_uint32le(const unsigned char *_data){ - return _data[0]|_data[1]<<8|_data[2]<<16|_data[3]<<24; + return _data[0]|(opus_uint32)_data[1]<<8| + (opus_uint32)_data[2]<<16|(opus_uint32)_data[3]<<24; } static opus_uint32 op_parse_uint32be(const unsigned char *_data){ - return _data[3]|_data[2]<<8|_data[1]<<16|_data[0]<<24; + return _data[3]|(opus_uint32)_data[2]<<8| + (opus_uint32)_data[1]<<16|(opus_uint32)_data[0]<<24; } int opus_head_parse(OpusHead *_head,const unsigned char *_data,size_t _len){ @@ -259,10 +261,11 @@ int opus_tags_add(OpusTags *_tags,const char *_tag,const char *_value){ _tags->user_comments[ncomments]=comment= (char *)_ogg_malloc(sizeof(*comment)*(tag_len+value_len+2)); if(OP_UNLIKELY(comment==NULL))return OP_EFAULT; - _tags->comment_lengths[ncomments]=tag_len+value_len+1; memcpy(comment,_tag,sizeof(*comment)*tag_len); comment[tag_len]='='; memcpy(comment+tag_len+1,_value,sizeof(*comment)*(value_len+1)); + _tags->comment_lengths[ncomments]=tag_len+value_len+1; + _tags->comments=ncomments+1; return 0; } @@ -278,6 +281,7 @@ int opus_tags_add_comment(OpusTags *_tags,const char *_comment){ _tags->user_comments[ncomments]=op_strdup_with_len(_comment,comment_len); if(OP_UNLIKELY(_tags->user_comments[ncomments]==NULL))return OP_EFAULT; _tags->comment_lengths[ncomments]=comment_len; + _tags->comments=ncomments+1; return 0; } @@ -560,7 +564,7 @@ static int opus_picture_tag_parse_impl(OpusPictureTag *_pic,const char *_tag, i+=4; /*If one of these is set, they all must be, but colors==0 is a valid value.*/ colors_set=width!=0||height!=0||depth!=0||colors!=0; - if(width==0||height==0||depth==0&&colors_set)return OP_ENOTFORMAT; + if((width==0||height==0||depth==0)&&colors_set)return OP_ENOTFORMAT; data_length=op_parse_uint32be(_buf+i); i+=4; if(data_length>_buf_sz-i)return OP_ENOTFORMAT; diff --git a/SP/code/opusfile-0.5/src/internal.c b/SP/code/opusfile-0.6/src/internal.c similarity index 100% rename from SP/code/opusfile-0.5/src/internal.c rename to SP/code/opusfile-0.6/src/internal.c diff --git a/SP/code/opusfile-0.5/src/internal.h b/SP/code/opusfile-0.6/src/internal.h similarity index 100% rename from SP/code/opusfile-0.5/src/internal.h rename to SP/code/opusfile-0.6/src/internal.h diff --git a/MP/code/opusfile-0.5/src/opusfile.c b/SP/code/opusfile-0.6/src/opusfile.c similarity index 99% rename from MP/code/opusfile-0.5/src/opusfile.c rename to SP/code/opusfile-0.6/src/opusfile.c index 392ddb2..e8ce150 100644 --- a/MP/code/opusfile-0.5/src/opusfile.c +++ b/SP/code/opusfile-0.6/src/opusfile.c @@ -156,8 +156,8 @@ static int op_get_data(OggOpusFile *_of,int _nbytes){ /*Save a tiny smidge of verbosity to make the code more readable.*/ static int op_seek_helper(OggOpusFile *_of,opus_int64 _offset){ if(_offset==_of->offset)return 0; - if(_of->callbacks.seek==NULL|| - (*_of->callbacks.seek)(_of->source,_offset,SEEK_SET)){ + if(_of->callbacks.seek==NULL + ||(*_of->callbacks.seek)(_of->source,_offset,SEEK_SET)){ return OP_EREAD; } _of->offset=_offset; @@ -496,30 +496,25 @@ static int op_fetch_headers_impl(OggOpusFile *_of,OpusHead *_head, ogg_stream_pagein(&_of->os,_og); if(OP_LIKELY(ogg_stream_packetout(&_of->os,&op)>0)){ ret=opus_head_parse(_head,op.packet,op.bytes); - /*If it's just a stream type we don't recognize, ignore it.*/ - if(ret==OP_ENOTFORMAT)continue; - /*Everything else is fatal.*/ - if(OP_UNLIKELY(ret<0))return ret; /*Found a valid Opus header. Continue setup.*/ - _of->ready_state=OP_STREAMSET; + if(OP_LIKELY(ret>=0))_of->ready_state=OP_STREAMSET; + /*If it's just a stream type we don't recognize, ignore it. + Everything else is fatal.*/ + else if(ret!=OP_ENOTFORMAT)return ret; } } /*Get the next page. No need to clamp the boundary offset against _of->end, as all errors - become OP_ENOTFORMAT.*/ + become OP_ENOTFORMAT or OP_EBADHEADER.*/ if(OP_UNLIKELY(op_get_next_page(_of,_og, OP_ADV_OFFSET(_of->offset,OP_CHUNK_SIZE))<0)){ - return OP_ENOTFORMAT; - } - /*If this page also belongs to our Opus stream, submit it and break.*/ - if(_of->ready_state==OP_STREAMSET - &&_of->os.serialno==ogg_page_serialno(_og)){ - ogg_stream_pagein(&_of->os,_og); - break; + return _of->ready_state<OP_STREAMSET?OP_ENOTFORMAT:OP_EBADHEADER; } } if(OP_UNLIKELY(_of->ready_state!=OP_STREAMSET))return OP_ENOTFORMAT; + /*If the first non-header page belonged to our Opus stream, submit it.*/ + if(_of->os.serialno==ogg_page_serialno(_og))ogg_stream_pagein(&_of->os,_og); /*Loop getting packets.*/ for(;;){ switch(ogg_stream_packetout(&_of->os,&op)){ @@ -930,7 +925,7 @@ static int op_find_initial_pcm_offset(OggOpusFile *_of, prev_packet_gp=pcm_start; for(pi=0;pi<op_count;pi++){ if(cur_page_eos){ - ogg_int64_t diff; + ogg_int64_t diff = 0; OP_ALWAYS_TRUE(!op_granpos_diff(&diff,cur_page_gp,prev_packet_gp)); diff=durations[pi]-diff; /*If we have samples to trim...*/ @@ -1715,7 +1710,7 @@ opus_int64 op_raw_total(const OggOpusFile *_of,int _li){ ogg_int64_t op_pcm_total(const OggOpusFile *_of,int _li){ OggOpusLink *links; - ogg_int64_t diff; + ogg_int64_t diff = 0; int nlinks; nlinks=_of->nlinks; if(OP_UNLIKELY(_of->ready_state<OP_OPENED) @@ -2114,7 +2109,7 @@ int op_raw_seek(OggOpusFile *_of,opus_int64 _pos){ static ogg_int64_t op_get_granulepos(const OggOpusFile *_of, ogg_int64_t _pcm_offset,int *_li){ const OggOpusLink *links; - ogg_int64_t duration; + ogg_int64_t duration = 0; int nlinks; int li; OP_ASSERT(_pcm_offset>=0); @@ -2166,7 +2161,7 @@ static int op_pcm_seek_page(OggOpusFile *_of, ogg_int64_t _target_gp,int _li){ const OggOpusLink *link; ogg_page og; - ogg_int64_t pcm_pre_skip; + ogg_int64_t pcm_pre_skip = 0; ogg_int64_t pcm_start; ogg_int64_t pcm_end; ogg_int64_t best_gp; @@ -2239,7 +2234,7 @@ static int op_pcm_seek_page(OggOpusFile *_of, } } else{ - ogg_int64_t prev_page_gp; + ogg_int64_t prev_page_gp = 0; /*We might get lucky and already have the packet with the target buffered. Worth checking. @@ -2289,7 +2284,7 @@ static int op_pcm_seek_page(OggOpusFile *_of, d2=end-begin>>1; if(force_bisect)bisect=begin+(end-begin>>1); else{ - ogg_int64_t diff2; + ogg_int64_t diff2 = 0; OP_ALWAYS_TRUE(!op_granpos_diff(&diff,_target_gp,pcm_start)); OP_ALWAYS_TRUE(!op_granpos_diff(&diff2,pcm_end,pcm_start)); /*Take a (pretty decent) guess.*/ @@ -2503,7 +2498,7 @@ static ogg_int64_t op_get_pcm_offset(const OggOpusFile *_of, ogg_int64_t _gp,int _li){ const OggOpusLink *links; ogg_int64_t pcm_offset; - ogg_int64_t delta; + ogg_int64_t delta = 0; int li; links=_of->links; pcm_offset=0; diff --git a/SP/code/opusfile-0.5/src/stream.c b/SP/code/opusfile-0.6/src/stream.c similarity index 100% rename from SP/code/opusfile-0.5/src/stream.c rename to SP/code/opusfile-0.6/src/stream.c diff --git a/SP/code/opusfile-0.5/src/wincerts.c b/SP/code/opusfile-0.6/src/wincerts.c similarity index 100% rename from SP/code/opusfile-0.5/src/wincerts.c rename to SP/code/opusfile-0.6/src/wincerts.c diff --git a/SP/code/opusfile-0.5/src/winerrno.h b/SP/code/opusfile-0.6/src/winerrno.h similarity index 100% rename from SP/code/opusfile-0.5/src/winerrno.h rename to SP/code/opusfile-0.6/src/winerrno.h -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/iortcw.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

