]> git.sesse.net Git - vlc/commitdiff
opus: fix duration signedness
authorFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 18 Mar 2015 16:51:01 +0000 (17:51 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Thu, 19 Mar 2015 17:36:34 +0000 (18:36 +0100)
modules/demux/ogg.c
modules/demux/opus.h

index 8326b4e0ef35fdbbf59332ff1730990f2c4bd894..f23bfdddede94a61219abc7252567fc1c348a999 100644 (file)
@@ -123,7 +123,7 @@ static int  Control( demux_t *, int, va_list );
 static int  Ogg_ReadPage     ( demux_t *, ogg_page * );
 static void Ogg_UpdatePCR    ( demux_t *, logical_stream_t *, ogg_packet * );
 static void Ogg_DecodePacket ( demux_t *, logical_stream_t *, ogg_packet * );
-static int  Ogg_OpusPacketDuration( ogg_packet * );
+static unsigned Ogg_OpusPacketDuration( ogg_packet * );
 static void Ogg_SendOrQueueBlocks( demux_t *, logical_stream_t *, block_t * );
 
 static void Ogg_CreateES( demux_t *p_demux );
@@ -990,7 +990,7 @@ static void Ogg_UpdatePCR( demux_t *p_demux, logical_stream_t *p_stream,
 
             if( p_stream->fmt.i_codec == VLC_CODEC_OPUS && p_oggpacket->e_o_s )
             {
-                int duration = Ogg_OpusPacketDuration( p_oggpacket );
+                unsigned duration = Ogg_OpusPacketDuration( p_oggpacket );
                 if( duration > 0 )
                 {
                     ogg_int64_t end_sample = p_oggpacket->granulepos;
@@ -1011,7 +1011,7 @@ static void Ogg_UpdatePCR( demux_t *p_demux, logical_stream_t *p_stream,
     }
     else if ( p_oggpacket->granulepos == -1 )
     {
-        int i_duration;
+        unsigned i_duration;
         /* no granulepos available, try to interpolate the pcr.
          * If we can't then don't touch the old value. */
         if( p_stream->fmt.i_cat == VIDEO_ES && p_stream->i_pcr > VLC_TS_INVALID )
@@ -1460,7 +1460,7 @@ static void Ogg_DecodePacket( demux_t *p_demux,
     Ogg_SendOrQueueBlocks( p_demux, p_stream, p_block );
 }
 
-static int Ogg_OpusPacketDuration( ogg_packet *p_oggpacket )
+static unsigned Ogg_OpusPacketDuration( ogg_packet *p_oggpacket )
 {
     return opus_frame_duration(p_oggpacket->packet, p_oggpacket->bytes);
 }
index 9721bc17a64e65797c661c1e0c5685ea2f50b026..7365e2e6d5e58ce2c97796f65dcf260e4f579631 100644 (file)
 
 /* Returns Opus frame duration in samples */
 
-static inline int opus_frame_duration(unsigned char *data, long len)
+static inline unsigned opus_frame_duration(unsigned char *data, long len)
 {
     static const int silk_fs_div[4] = { 6000, 3000, 1500, 1000 };
-    int toc;
-    int nframes;
-    int frame_size;
-    int nsamples;
-    int i_rate;
+    unsigned toc;
+    unsigned nframes;
+    unsigned frame_size;
+    unsigned nsamples;
+    unsigned i_rate;
     if( len < 1 )
         return 0;
     toc = data[0];