Browse Source

Fix querying the default audio recording device, some Source code style cleanups.

Alex Szpakowski 7 years ago
parent
commit
3949fde802
2 changed files with 89 additions and 89 deletions
  1. 1 1
      src/modules/audio/openal/Audio.cpp
  2. 88 88
      src/modules/audio/openal/Source.cpp

+ 1 - 1
src/modules/audio/openal/Audio.cpp

@@ -408,7 +408,7 @@ const std::vector<love::audio::RecordingDevice*> &Audio::getRecordingDevices()
 	if (defaultname.length() == 0)
 	{
 		//use some safe basic parameters - 8 kHz, 8 bits, 1 channel
-		ALCdevice *defaultdevice = alcCaptureOpenDevice(NULL, 8000, 8, 1);
+		ALCdevice *defaultdevice = alcCaptureOpenDevice(NULL, 8000, AL_FORMAT_MONO8, 1024);
 		if (alGetError() == AL_NO_ERROR)
 		{
 			defaultname = alcGetString(defaultdevice, ALC_CAPTURE_DEVICE_SPECIFIER);

+ 88 - 88
src/modules/audio/openal/Source.cpp

@@ -610,36 +610,36 @@ double Source::getDuration(Unit unit)
 
 	switch (sourceType)
 	{
-		case TYPE_STATIC:
-		{
-			ALsizei size = staticBuffer->getSize();
-			ALsizei samples = (size / channels) / (bitDepth / 8);
+	case TYPE_STATIC:
+	{
+		ALsizei size = staticBuffer->getSize();
+		ALsizei samples = (size / channels) / (bitDepth / 8);
 
-			if (unit == UNIT_SAMPLES)
-				return (double) samples;
-			else
-				return (double) samples / (double) sampleRate;
-		}
-		case TYPE_STREAM:
-		{
-			double seconds = decoder->getDuration();
+		if (unit == UNIT_SAMPLES)
+			return (double) samples;
+		else
+			return (double) samples / (double) sampleRate;
+	}
+	case TYPE_STREAM:
+	{
+		double seconds = decoder->getDuration();
 
-			if (unit == UNIT_SECONDS)
-				return seconds;
-			else
-				return seconds * decoder->getSampleRate();
-		}
-		case TYPE_QUEUE:
-		{
-			ALsizei samples = (bufferedBytes / channels) / (bitDepth / 8);
+		if (unit == UNIT_SECONDS)
+			return seconds;
+		else
+			return seconds * decoder->getSampleRate();
+	}
+	case TYPE_QUEUE:
+	{
+		ALsizei samples = (bufferedBytes / channels) / (bitDepth / 8);
 
-			if (unit == UNIT_SAMPLES)
-				return (double)samples;
-			else
-				return (double)samples / (double)sampleRate;
-		}
-		case TYPE_MAX_ENUM:
-			return 0.0;
+		if (unit == UNIT_SAMPLES)
+			return (double)samples;
+		else
+			return (double)samples / (double)sampleRate;
+	}
+	case TYPE_MAX_ENUM:
+		return 0.0;
 	}
 	return 0.0;
 }
@@ -813,14 +813,14 @@ int Source::getFreeBufferCount() const
 {
 	switch (sourceType) //why not :^)
 	{
-		case TYPE_STATIC:
-			return 0;
-		case TYPE_STREAM:
-			return unusedBuffers.size();
-		case TYPE_QUEUE:
-			return unusedBuffers.size();
-		case TYPE_MAX_ENUM:
-			return 0;
+	case TYPE_STATIC:
+		return 0;
+	case TYPE_STREAM:
+		return unusedBuffers.size();
+	case TYPE_QUEUE:
+		return unusedBuffers.size();
+	case TYPE_MAX_ENUM:
+		return 0;
 	}
 	return 0;
 }
@@ -834,34 +834,34 @@ void Source::prepareAtomic()
 
 	switch (sourceType)
 	{
-		case TYPE_STATIC:
-			alSourcei(source, AL_BUFFER, staticBuffer->getBuffer());
-			break;
-		case TYPE_STREAM:
-			while (!unusedBuffers.empty())
-			{
-				auto b = unusedBuffers.top();
-				if (streamAtomic(b, decoder.get()) == 0)
-					break;
+	case TYPE_STATIC:
+		alSourcei(source, AL_BUFFER, staticBuffer->getBuffer());
+		break;
+	case TYPE_STREAM:
+		while (!unusedBuffers.empty())
+		{
+			auto b = unusedBuffers.top();
+			if (streamAtomic(b, decoder.get()) == 0)
+				break;
 
-				alSourceQueueBuffers(source, 1, &b);
-				unusedBuffers.pop();
+			alSourceQueueBuffers(source, 1, &b);
+			unusedBuffers.pop();
 
-				if (decoder->isFinished())
-					break;
-			}
-			break;
-		case TYPE_QUEUE:
+			if (decoder->isFinished())
+				break;
+		}
+		break;
+	case TYPE_QUEUE:
+	{
+		while (!streamBuffers.empty())
 		{
-			while (!streamBuffers.empty())
-			{
-				alSourceQueueBuffers(source, 1, &streamBuffers.front());
-				streamBuffers.pop();
-			}
-			break;
+			alSourceQueueBuffers(source, 1, &streamBuffers.front());
+			streamBuffers.pop();
 		}
-		case TYPE_MAX_ENUM:
-			break;
+		break;
+	}
+	case TYPE_MAX_ENUM:
+		break;
 	}
 }
 
@@ -869,39 +869,39 @@ void Source::teardownAtomic()
 {
 	switch (sourceType)
 	{
-		case TYPE_STATIC:
-			break;
-		case TYPE_STREAM:
+	case TYPE_STATIC:
+		break;
+	case TYPE_STREAM:
+	{
+		ALint queued;
+		ALuint buffer;
+
+		decoder->seek(0);
+		// drain buffers
+		//since we only unqueue 1 buffer, it's OK to use singular variable pointer instead of array
+		alGetSourcei(source, AL_BUFFERS_QUEUED, &queued);
+		for (unsigned int i = 0; i < (unsigned int)queued; i++)
 		{
-			ALint queued;
-			ALuint buffer;
-
-			decoder->seek(0);
-			// drain buffers
-			//since we only unqueue 1 buffer, it's OK to use singular variable pointer instead of array
-			alGetSourcei(source, AL_BUFFERS_QUEUED, &queued);
-			for (unsigned int i = 0; i < (unsigned int)queued; i++)
-			{
-				alSourceUnqueueBuffers(source, 1, &buffer);
-				unusedBuffers.push(buffer);
-			}
-			break;
+			alSourceUnqueueBuffers(source, 1, &buffer);
+			unusedBuffers.push(buffer);
 		}
-		case TYPE_QUEUE:
-		{
-			ALint queued;
-			ALuint buffer;
+		break;
+	}
+	case TYPE_QUEUE:
+	{
+		ALint queued;
+		ALuint buffer;
 
-			alGetSourcei(source, AL_BUFFERS_QUEUED, &queued);
-			for (unsigned int i = (unsigned int)queued; i > 0; i--)
-			{
-				alSourceUnqueueBuffers(source, 1, &buffer);
-				unusedBuffers.push(buffer);
-			}
-			break;
+		alGetSourcei(source, AL_BUFFERS_QUEUED, &queued);
+		for (unsigned int i = (unsigned int)queued; i > 0; i--)
+		{
+			alSourceUnqueueBuffers(source, 1, &buffer);
+			unusedBuffers.push(buffer);
 		}
-		case TYPE_MAX_ENUM:
-			break;
+		break;
+	}
+	case TYPE_MAX_ENUM:
+		break;
 	}
 
 	alSourcei(source, AL_BUFFER, AL_NONE);