diff options
| author | Yun Zheng Hu <yunzheng.hu@gmail.com> | 2007-10-23 08:38:50 +0000 | 
|---|---|---|
| committer | Zaheer Abbas Merali <zaheerabbas@merali.org> | 2007-10-23 08:38:50 +0000 | 
| commit | de4452fce97667856af7cdf3a4b83d7b3f4ed79d (patch) | |
| tree | c9afe0c5b1643b4e4e9ff5f9a28f429708bd6d7a | |
| parent | 7ec35b117eb7b3cc1668820b5e285fe558b628d3 (diff) | |
sys/osxaudio/gstosxaudiosrc.c: Use default input device instead of default output device and only memcpy actual avail...
Original commit message from CVS:
patch by: Yun Zheng Hu
* sys/osxaudio/gstosxaudiosrc.c:
Use default input device instead of default output device and
only memcpy actual available bytes.
| -rw-r--r-- | ChangeLog | 8 | ||||
| -rw-r--r-- | sys/osxaudio/gstosxaudiosrc.c | 13 | 
2 files changed, 18 insertions, 3 deletions
@@ -1,3 +1,11 @@ +2007-10-23  Zaheer Abbas Merali <zaheerabbas at merali dot org> + +	patch by: Yun Zheng Hu + +	* sys/osxaudio/gstosxaudiosrc.c: +	Use default input device instead of default output device and +	only memcpy actual available bytes. +  2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>  	* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_grab_frame): diff --git a/sys/osxaudio/gstosxaudiosrc.c b/sys/osxaudio/gstosxaudiosrc.c index 5e2b2c2f..0a543ae5 100644 --- a/sys/osxaudio/gstosxaudiosrc.c +++ b/sys/osxaudio/gstosxaudiosrc.c @@ -162,7 +162,7 @@ gst_osx_audio_src_class_init (GstOsxAudioSrcClass * klass)        GST_DEBUG_FUNCPTR (gst_osx_audio_src_get_property);    g_object_class_install_property (gobject_class, ARG_DEVICE, -      g_param_spec_int ("device", "Device ID", "Device ID of output device", +      g_param_spec_int ("device", "Device ID", "Device ID of input device",            0, G_MAXINT, 0, G_PARAM_READWRITE));    gstbaseaudiosrc_class->create_ringbuffer = @@ -230,11 +230,17 @@ static GstRingBuffer *  gst_osx_audio_src_create_ringbuffer (GstBaseAudioSrc * src)  {    GstOsxAudioSrc *osxsrc; +  OSStatus status; +  UInt32 propertySize;    osxsrc = GST_OSX_AUDIO_SRC (src);    if (!osxsrc->ringbuffer) {      GST_DEBUG ("Creating ringbuffer");      osxsrc->ringbuffer = g_object_new (GST_TYPE_OSX_RING_BUFFER, NULL); +    /* change the device to the Default Input Device */ +    propertySize = sizeof (osxsrc->ringbuffer->device_id); +    status = AudioHardwareGetProperty (kAudioHardwarePropertyDefaultInputDevice, +        &propertySize, &osxsrc->ringbuffer->device_id);      GST_DEBUG ("osx src 0x%p element 0x%p  ioproc 0x%p", osxsrc,          GST_OSX_AUDIO_ELEMENT_GET_INTERFACE (osxsrc),          (void *) gst_osx_audio_src_io_proc); @@ -255,11 +261,12 @@ gst_osx_audio_src_io_proc (AudioDeviceID inDevice, const AudioTimeStamp * inNow,    guint8 *writeptr;    gint writeseg;    gint len; +  gint bytesToCopy;    if (gst_ring_buffer_prepare_read (GST_RING_BUFFER (buf), &writeseg, &writeptr,            &len)) { - -    memcpy (writeptr, (char *) inInputData->mBuffers[0].mData, len); +    bytesToCopy = inInputData->mBuffers[0].mDataByteSize; +    memcpy (writeptr, (char *) inInputData->mBuffers[0].mData, bytesToCopy);      /* clear written samples */      /*gst_ring_buffer_clear (GST_RING_BUFFER(buf), writeseg); */  | 
