[vlc-commits] dc1394: remove OSS support

Rémi Denis-Courmont git at videolan.org
Thu May 10 17:34:55 CEST 2012


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Thu May 10 18:33:51 2012 +0300| [c46a2cc9abd28e61f5ae5e7173b1e6b62364c1d3] | committer: Rémi Denis-Courmont

dc1394: remove OSS support

A slave input should be used for audio, probably ALSA or Pulse.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c46a2cc9abd28e61f5ae5e7173b1e6b62364c1d3
---

 modules/access/dc1394.c |  182 +----------------------------------------------
 1 files changed, 1 insertions(+), 181 deletions(-)

diff --git a/modules/access/dc1394.c b/modules/access/dc1394.c
index 41eadf8..555be9b 100644
--- a/modules/access/dc1394.c
+++ b/modules/access/dc1394.c
@@ -34,20 +34,7 @@
 
 #include <vlc_common.h>
 #include <vlc_plugin.h>
-#include <vlc_input.h>
 #include <vlc_demux.h>
-#include <vlc_fs.h>
-#include <vlc_picture.h>
-
-#include <fcntl.h>
-#ifdef HAVE_UNISTD_H
-#   include <unistd.h>
-#elif defined( WIN32 ) && !defined( UNDER_CE )
-#   include <io.h>
-#endif
-
-#include <sys/ioctl.h>
-#include <sys/soundcard.h>
 
 #include <dc1394/dc1394.h>
 
@@ -59,8 +46,6 @@
  *****************************************************************************/
 static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
-static int OpenAudioDev( demux_t *p_demux );
-static inline void CloseAudioDev( demux_t *p_demux );
 
 vlc_module_begin()
     set_shortname( N_("DC1394") )
@@ -93,14 +78,6 @@ struct demux_sys_t
     unsigned int        focus;
     es_out_id_t         *p_es_video;
     dc1394video_frame_t *frame;
-
-    /* audio stuff */
-    int                 i_sample_rate;
-    int                 channels;
-    int                 i_audio_max_frame_size;
-    int                 fd_audio;
-    char                *audio_device;
-    es_out_id_t         *p_es_audio;
 };
 
 /*****************************************************************************
@@ -109,7 +86,6 @@ struct demux_sys_t
 static int Demux( demux_t *p_demux );
 static int Control( demux_t *, int, va_list );
 static block_t *GrabVideo( demux_t *p_demux );
-static block_t *GrabAudio( demux_t *p_demux );
 static int process_options( demux_t *p_demux);
 
 /*****************************************************************************
@@ -214,7 +190,6 @@ static int Open( vlc_object_t *p_this )
     p_sys->frame_rate      = DC1394_FRAMERATE_15;
     p_sys->brightness      = 200;
     p_sys->focus           = 0;
-    p_sys->fd_audio        = -1;
     p_sys->p_dccontext     = NULL;
     p_sys->camera          = NULL;
     p_sys->selected_camera = -1;
@@ -382,28 +357,6 @@ static int Open( vlc_object_t *p_this )
 
     p_sys->p_es_video = es_out_Add( p_demux->out, &fmt );
 
-    if( p_sys->audio_device )
-    {
-        if( OpenAudioDev( p_demux ) == VLC_SUCCESS )
-        {
-            es_format_t fmt;
-            es_format_Init( &fmt, AUDIO_ES, VLC_CODEC_S16L ); /* FIXME: hmm, ?? */
-
-            fmt.audio.i_channels = p_sys->channels ? p_sys->channels : 1;
-            fmt.audio.i_rate = p_sys->i_sample_rate;
-            fmt.audio.i_bitspersample = 16;
-            fmt.audio.i_blockalign = fmt.audio.i_channels *
-                                     fmt.audio.i_bitspersample / 8;
-            fmt.i_bitrate = fmt.audio.i_channels * fmt.audio.i_rate *
-                            fmt.audio.i_bitspersample;
-
-            msg_Dbg( p_demux, "New audio es %d channels %dHz",
-            fmt.audio.i_channels, fmt.audio.i_rate );
-
-            p_sys->p_es_audio = es_out_Add( p_demux->out, &fmt );
-        }
-    }
-
     /* have the camera start sending us data */
     if( dc1394_video_set_transmission( p_sys->camera,
                        DC1394_ON ) != DC1394_SUCCESS )
@@ -418,70 +371,6 @@ static int Open( vlc_object_t *p_this )
     return VLC_SUCCESS;
 }
 
-static int OpenAudioDev( demux_t *p_demux )
-{
-    demux_sys_t *p_sys = p_demux->p_sys;
-    char *psz_device = p_sys->audio_device;
-    int i_format = AFMT_S16_LE;
-    int result;
-
-    p_sys->fd_audio = vlc_open( psz_device, O_RDONLY | O_NONBLOCK );
-    if( p_sys->fd_audio  < 0 )
-    {
-        msg_Err( p_demux, "Cannot open audio device (%s)", psz_device );
-        return VLC_EGENERIC;
-    }
-
-    if( !p_sys->i_sample_rate )
-        p_sys->i_sample_rate = 44100;
-
-    result = ioctl( p_sys->fd_audio, SNDCTL_DSP_SETFMT, &i_format );
-    if( (result  < 0) || (i_format != AFMT_S16_LE) )
-    {
-        msg_Err( p_demux, "Cannot set audio format (16b little endian) "
-                          "(%d)", i_format );
-        goto error;
-    }
-
-    result = ioctl( p_sys->fd_audio, SNDCTL_DSP_CHANNELS, &p_sys->channels );
-    if( result < 0 )
-    {
-        msg_Err( p_demux, "Cannot set audio channels count (%d)",
-                 p_sys->channels );
-        goto error;
-    }
-
-    result = ioctl( p_sys->fd_audio, SNDCTL_DSP_SPEED, &p_sys->i_sample_rate );
-    if( result < 0 )
-    {
-        msg_Err( p_demux, "Cannot set audio sample rate (%d)",
-         p_sys->i_sample_rate );
-        goto error;
-    }
-
-    msg_Dbg( p_demux, "Opened adev=`%s' %s %dHz",
-             psz_device,
-             (p_sys->channels > 1) ? "stereo" : "mono",
-             p_sys->i_sample_rate );
-
-    p_sys->i_audio_max_frame_size = 32 * 1024;
-
-    return VLC_SUCCESS;
-
-error:
-    CloseAudioDev( p_demux );
-    p_sys->fd_audio = -1;
-    return VLC_EGENERIC;
-}
-
-static inline void CloseAudioDev( demux_t *p_demux )
-{
-    demux_sys_t *p_sys = p_demux->p_sys;
-
-    if( p_sys->fd_audio >= 0 )
-        close( p_sys->fd_audio );
-}
-
 /*****************************************************************************
  * Close:
  *****************************************************************************/
@@ -498,13 +387,10 @@ static void Close( vlc_object_t *p_this )
     /* Close camera */
     dc1394_capture_stop( p_sys->camera );
 
-    CloseAudioDev( p_demux );
-
     dc1394_camera_free(p_sys->camera);
     dc1394_free(p_sys->p_dccontext);
 
     free( p_sys->video_device );
-    free( p_sys->audio_device );
     free( p_sys );
 }
 
@@ -581,59 +467,15 @@ static block_t *GrabVideo( demux_t *p_demux )
     return p_block;
 }
 
-static block_t *GrabAudio( demux_t *p_demux )
-{
-    demux_sys_t *p_sys = p_demux->p_sys;
-    struct audio_buf_info buf_info;
-    block_t *p_block = NULL;
-    int i_read = 0;
-    int i_correct = 0;
-    int result = 0;
-
-    p_block = block_New( p_demux, p_sys->i_audio_max_frame_size );
-    if( !p_block )
-    {
-        msg_Warn( p_demux, "Cannot get buffer" );
-        return NULL;
-    }
-
-    i_read = read( p_sys->fd_audio, p_block->p_buffer,
-                   p_sys->i_audio_max_frame_size );
-
-    if( i_read <= 0 )
-    {
-        block_Release( p_block );
-        return NULL;
-    }
-
-    p_block->i_buffer = i_read;
-
-    /* Correct the date because of kernel buffering */
-    i_correct = i_read;
-    result = ioctl( p_sys->fd_audio, SNDCTL_DSP_GETISPACE, &buf_info );
-    if( result == 0 )
-        i_correct += buf_info.bytes;
-
-    p_block->i_pts = p_block->i_dts =
-                        mdate() - INT64_C(1000000) * (mtime_t)i_correct /
-                        2 / p_sys->channels / p_sys->i_sample_rate;
-    return p_block;
-}
-
 static int Demux( demux_t *p_demux )
 {
     demux_sys_t *p_sys = p_demux->p_sys;
-    block_t *p_blocka = NULL;
     block_t *p_blockv = NULL;
 
-    /* Try grabbing audio frames first */
-    if( p_sys->fd_audio >= 0 )
-        p_blocka = GrabAudio( p_demux );
-
     /* Try grabbing video frame */
     p_blockv = GrabVideo( p_demux );
 
-    if( !p_blocka && !p_blockv )
+    if( !p_blockv )
     {
         /* Sleep so we do not consume all the cpu, 10ms seems
          * like a good value (100fps)
@@ -642,12 +484,6 @@ static int Demux( demux_t *p_demux )
         return 1;
     }
 
-    if( p_blocka )
-    {
-        es_out_Control( p_demux->out, ES_OUT_SET_PCR, p_blocka->i_pts );
-        es_out_Send( p_demux->out, p_sys->p_es_audio, p_blocka );
-    }
-
     if( p_blockv )
     {
         es_out_Control( p_demux->out, ES_OUT_SET_PCR, p_blockv->i_pts );
@@ -880,22 +716,6 @@ static int process_options( demux_t *p_demux )
             p_sys->video_device = strdup(token);
             msg_Dbg( p_demux, "Using video device '%s'.", token );
         }
-        else if( strncmp( token, "adev=", strlen( "adev=" ) ) == 0 )
-        {
-            token += strlen("adev=");
-            p_sys->audio_device = strdup(token);
-            msg_Dbg( p_demux, "Using audio device '%s'.", token );
-        }
-        else if( strncmp( token, "samplerate=", strlen( "samplerate=" ) ) == 0 )
-        {
-            token += strlen("samplerate=");
-            sscanf( token, "%d", &p_sys->i_sample_rate );
-        }
-        else if( strncmp( token, "channels=", strlen("channels=" ) ) == 0 )
-        {
-            token += strlen("channels=");
-            sscanf( token, "%d", &p_sys->channels );
-        }
         else if( strncmp( token, "focus=", strlen("focus=" ) ) == 0)
         {
             int nr = 0;



More information about the vlc-commits mailing list