]> git.sesse.net Git - vlc/blobdiff - modules/codec/shine/shine_mod.c
i_nb_bytes -> i_buffer
[vlc] / modules / codec / shine / shine_mod.c
index 94de78ef7732300be190b7bbe1985be8b953b999..6f30a45557594f311078417ea8fca8cf4be173c0 100644 (file)
@@ -74,7 +74,7 @@ static int OpenEncoder( vlc_object_t *p_this )
     encoder_sys_t *p_sys;
 
     /* FIXME: what about layers 1 and 2 ? shine is an 'MP3' encoder */
-    if( p_enc->fmt_out.i_codec != VLC_FOURCC('m','p','3',' ') ||
+    if( p_enc->fmt_out.i_codec != VLC_CODEC_MP3 ||
         p_enc->fmt_out.audio.i_channels > 2 )
         return VLC_EGENERIC;
 
@@ -96,10 +96,9 @@ static int OpenEncoder( vlc_object_t *p_this )
              p_enc->fmt_out.i_bitrate, p_enc->fmt_out.audio.i_rate,
              p_enc->fmt_out.audio.i_channels );
 
-    p_sys = p_enc->p_sys = malloc( sizeof( encoder_sys_t ) );
+    p_enc->p_sys = p_sys = calloc( 1, sizeof( *p_sys ) );
     if( !p_sys )
         return VLC_ENOMEM;
-    memset( p_sys, 0, sizeof( encoder_sys_t ) );
 
     if( !( p_sys->p_fifo = block_FifoNew() ) )
     {
@@ -111,6 +110,7 @@ static int OpenEncoder( vlc_object_t *p_this )
         p_enc->fmt_out.audio.i_channels, p_enc->fmt_out.i_bitrate / 1000 );
 
     p_enc->pf_encode_audio = EncodeFrame;
+    p_enc->fmt_out.i_cat = AUDIO_ES;
 
     return VLC_SUCCESS;
 }
@@ -124,7 +124,7 @@ static block_t *GetPCM( encoder_t *p_enc, aout_buffer_t *p_block )
     if( !p_block ) goto buffered; /* just return a block if we can */
 
     /* Put the PCM samples sent by VLC in the Fifo */
-    while( p_sys->i_buffer + p_block->i_nb_bytes >= pcm_chunk_size )
+    while( p_sys->i_buffer + p_block->i_buffer >= pcm_chunk_size )
     {
         unsigned int i_buffer = 0;
         p_pcm_block = block_New( p_enc, pcm_chunk_size );
@@ -144,20 +144,20 @@ static block_t *GetPCM( encoder_t *p_enc, aout_buffer_t *p_block )
                     p_block->p_buffer, pcm_chunk_size - i_buffer );
         p_block->p_buffer += pcm_chunk_size - i_buffer;
 
-        p_block->i_nb_bytes -= pcm_chunk_size - i_buffer;
+        p_block->i_buffer -= pcm_chunk_size - i_buffer;
 
         block_FifoPut( p_sys->p_fifo, p_pcm_block );
     }
 
     /* We hadn't enough data to make a block, put it in standby */
-    if( p_block->i_nb_bytes )
+    if( p_block->i_buffer )
     {
         uint8_t *p_tmp;
 
         if( p_sys->i_buffer > 0 )
-            p_tmp = realloc( p_sys->p_buffer, p_block->i_nb_bytes + p_sys->i_buffer );
+            p_tmp = realloc( p_sys->p_buffer, p_block->i_buffer + p_sys->i_buffer );
         else
-            p_tmp = malloc( p_block->i_nb_bytes );
+            p_tmp = malloc( p_block->i_buffer );
 
         if( !p_tmp )
         {
@@ -168,10 +168,10 @@ static block_t *GetPCM( encoder_t *p_enc, aout_buffer_t *p_block )
         }
         p_sys->p_buffer = p_tmp;
         vlc_memcpy( p_sys->p_buffer + p_sys->i_buffer,
-                    p_block->p_buffer, p_block->i_nb_bytes );
+                    p_block->p_buffer, p_block->i_buffer );
 
-        p_sys->i_buffer += p_block->i_nb_bytes;
-        p_block->i_nb_bytes = 0;
+        p_sys->i_buffer += p_block->i_buffer;
+        p_block->i_buffer = 0;
     }
 
 buffered:
@@ -181,13 +181,14 @@ buffered:
 
 static block_t *EncodeFrame( encoder_t *p_enc, aout_buffer_t *p_block )
 {
-    encoder_sys_t *p_sys = (encoder_sys_t *)p_enc->p_sys;
     block_t *p_pcm_block;
     block_t *p_chain = NULL;
-    unsigned int i_samples = p_block->i_nb_bytes >> 2 /* s16l stereo */;
-    mtime_t start_date = p_block->start_date;
+    unsigned int i_samples = p_block->i_buffer >> 2 /* s16l stereo */;
+    mtime_t start_date = p_block->i_pts;
     start_date -= (mtime_t)i_samples * (mtime_t)1000000 / (mtime_t)p_enc->fmt_out.audio.i_rate;
 
+    VLC_UNUSED(p_enc);
+
     do {
         p_pcm_block = GetPCM( p_enc, p_block );
         if( !p_pcm_block )
@@ -215,7 +216,7 @@ static block_t *EncodeFrame( encoder_t *p_enc, aout_buffer_t *p_block )
         start_date += p_mp3_block->i_length;
         p_mp3_block->i_dts = p_mp3_block->i_pts = start_date;
 
-        p_mp3_block->i_samples = SAMP_PER_FRAME1;
+        p_mp3_block->i_nb_samples = SAMP_PER_FRAME1;
 
         block_ChainAppend( &p_chain, p_mp3_block );