]> git.sesse.net Git - vlc/blobdiff - modules/codec/vorbis.c
Convert stream to system timestamp after the decoder.
[vlc] / modules / codec / vorbis.c
index 952b33f97adfcab76a0d8336e029cc8ecfe2b2d8..f7dd711442da019d856c15f876310c83f928ea54 100644 (file)
@@ -87,8 +87,6 @@ struct decoder_sys_t
     audio_date_t end_date;
     int          i_last_block_size;
 
-    int i_input_rate;
-
     /*
     ** Channel reordering
     */
@@ -246,7 +244,6 @@ static int OpenDecoder( vlc_object_t *p_this )
     p_sys->i_last_block_size = 0;
     p_sys->b_packetizer = false;
     p_sys->i_headers = 0;
-    p_sys->i_input_rate = INPUT_RATE_DEFAULT;
 
     /* Take care of vorbis init */
     vorbis_info_init( &p_sys->vi );
@@ -301,9 +298,6 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
         /* Block to Ogg packet */
         oggpacket.packet = (*pp_block)->p_buffer;
         oggpacket.bytes = (*pp_block)->i_buffer;
-
-        if( (*pp_block)->i_rate > 0 )
-            p_sys->i_input_rate = (*pp_block)->i_rate;
     }
     else
     {
@@ -573,8 +567,7 @@ static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
 
         /* Date management */
         p_aout_buffer->start_date = aout_DateGet( &p_sys->end_date );
-        p_aout_buffer->end_date = aout_DateIncrement( &p_sys->end_date,
-                                                      i_samples * p_sys->i_input_rate / INPUT_RATE_DEFAULT );
+        p_aout_buffer->end_date = aout_DateIncrement( &p_sys->end_date, i_samples );
         return p_aout_buffer;
     }
     else
@@ -601,9 +594,7 @@ static block_t *SendPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,
     p_block->i_dts = p_block->i_pts = aout_DateGet( &p_sys->end_date );
 
     if( p_sys->i_headers >= 3 )
-        p_block->i_length = aout_DateIncrement( &p_sys->end_date,
-            i_samples * p_sys->i_input_rate / INPUT_RATE_DEFAULT ) -
-                p_block->i_pts;
+        p_block->i_length = aout_DateIncrement( &p_sys->end_date, i_samples ) - p_block->i_pts;
     else
         p_block->i_length = 0;