diff options
Diffstat (limited to 'recordmydesktop/include')
| -rw-r--r-- | recordmydesktop/include/rmdfunc.h | 22 | ||||
| -rw-r--r-- | recordmydesktop/include/rmdmacro.h | 9 | ||||
| -rw-r--r-- | recordmydesktop/include/rmdtypes.h | 17 | 
3 files changed, 43 insertions, 5 deletions
diff --git a/recordmydesktop/include/rmdfunc.h b/recordmydesktop/include/rmdfunc.h index a4908d5..2f41c4d 100644 --- a/recordmydesktop/include/rmdfunc.h +++ b/recordmydesktop/include/rmdfunc.h @@ -283,9 +283,9 @@ void *CaptureSound(ProgData *pdata);  * \param pdata ProgData struct containing all program data  */  void *EncodeSoundBuffer(ProgData *pdata); - +#ifdef HAVE_LIBASOUND  /** -* Try to open sound device, with the desired parameters, +* Try to open (alsa) sound device, with the desired parameters,  * and place the obtained ones on their place  *  * \param pcm_dev name of the device @@ -314,6 +314,24 @@ snd_pcm_t *OpenDev( const char *pcm_dev,                      snd_pcm_uframes_t *periodsize,                      unsigned int *periodtime,                      int *hardpause); +#else +/** +* Try to open (OSS) sound device, with the desired parameters. +* +* +* \param pcm_dev name of the device +* +* \param channels desired number of channels +* +* \param frequency desired frequency +* +* +* \returns file descriptor of open device,-1 on failure +*/ +int OpenDev( const char *pcm_dev, +             unsigned int channels, +             unsigned int frequency); +#endif  /**  * Initialize theora,vorbis encoders, and their respective ogg streams.  * diff --git a/recordmydesktop/include/rmdmacro.h b/recordmydesktop/include/rmdmacro.h index c14785f..1fe06a4 100644 --- a/recordmydesktop/include/rmdmacro.h +++ b/recordmydesktop/include/rmdmacro.h @@ -99,6 +99,11 @@  #define Y_UNIT_BYTES    0x0100  #define UV_UNIT_BYTES   0x0040 +#ifdef HAVE_LIBASOUND +    #define DEFAULT_AUDIO_DEVICE "hw:0,0" +#else +    #define DEFAULT_AUDIO_DEVICE "/dev/dsp" +#endif  #define CLIP_EVENT_AREA(e,brwin,wgeom){\      if(((e)->area.x<=(brwin)->rgeom.x)&&((e)->area.y<=(brwin)->rgeom.y)&&\ @@ -208,8 +213,8 @@      (args)->shared_thres=75;\      (args)->have_dummy_cursor=0;\      (args)->xfixes_cursor=1;\ -    (args)->device=(char *)malloc(8);\ -    strcpy((args)->device,"hw:0,0");\ +    (args)->device=(char *)malloc(strlen(DEFAULT_AUDIO_DEVICE)+1);\ +    strcpy((args)->device,DEFAULT_AUDIO_DEVICE);\      (args)->fps=15;\      (args)->channels=1;\      (args)->frequency=22050;\ diff --git a/recordmydesktop/include/rmdtypes.h b/recordmydesktop/include/rmdtypes.h index 7da30e9..5430ef4 100644 --- a/recordmydesktop/include/rmdtypes.h +++ b/recordmydesktop/include/rmdtypes.h @@ -60,7 +60,13 @@  #include <vorbis/codec.h>  #include <vorbis/vorbisenc.h>  #include <ogg/ogg.h> -#include <alsa/asoundlib.h> + +#ifdef HAVE_LIBASOUND +    #include <alsa/asoundlib.h> +#else +    #include <sys/ioctl.h> +    #include <sys/soundcard.h> +#endif  //this type exists only  //for comparing the planes at caching. @@ -137,7 +143,11 @@ typedef struct _ProgArgs{      unsigned int frequency;     //desired frequency (default 22050)      unsigned int channels;      //no of channels(default 2)      char *device;               //default sound device +#ifdef HAVE_LIBASOUND      snd_pcm_uframes_t buffsize; //buffer size(in frames) for sound capturing +#else +    u_int32_t buffsize; +#endif      int nosound;        //do not record sound(default 0)      int noshared;       //do not use shared memory extension(default 1)      int nocondshared;   //do not use shared memory on large image aquititions @@ -283,8 +293,13 @@ typedef struct _ProgData{          v_encoding_clean;      int v_enc_thread_waiting,   //these indicate a wait          th_enc_thread_waiting;  //condition on the above cond vars +#ifdef HAVE_LIBASOUND      snd_pcm_t *sound_handle;      snd_pcm_uframes_t periodsize; +#else +    int sound_handle; +    u_int32_t periodsize; +#endif  }ProgData;  | 
