Пример #1
0
u32 sceAudioSRCChReserve(u32 sampleCount, u32 freq, u32 format) {
	DEBUG_LOG(HLE, "sceAudioSRCChReserve(%08x, %08x, %08x)", sampleCount, freq, format);
	chans[src].reserved = true;
	chans[src].sampleCount = sampleCount;
	chans[src].format = format;
	__AudioSetOutputFrequency(freq);
	return 0;
}
Пример #2
0
u32 sceAudioSetFrequency(u32 freq) {
	if (freq == 44100 || freq == 48000) {
		INFO_LOG(HLE, "sceAudioSetFrequency(%i)", freq);
		__AudioSetOutputFrequency(freq);
		return 0;
	} else {
		ERROR_LOG(HLE, "sceAudioSetFrequency(%i) - invalid frequency (must be 44.1 or 48 khz)", freq);
		return -1;
	}
}
Пример #3
0
static u32 sceAudioSetFrequency(u32 freq) {
    if (freq == 44100 || freq == 48000) {
        INFO_LOG(SCEAUDIO, "sceAudioSetFrequency(%08x)", freq);
        __AudioSetOutputFrequency(freq);
        return 0;
    } else {
        ERROR_LOG(SCEAUDIO, "sceAudioSetFrequency(%08x) - invalid frequency (must be 44.1 or 48 khz)", freq);
        return SCE_ERROR_AUDIO_INVALID_FREQUENCY;
    }
}
Пример #4
0
u32 sceAudioSRCChReserve(u32 sampleCount, u32 freq, u32 format) {
	if (chans[src].reserved) {
		DEBUG_LOG(HLE, "sceAudioSRCChReserve(%08x, %08x, %08x) - channel already reserved ", sampleCount, freq, format);
		return SCE_ERROR_AUDIO_CHANNEL_ALREADY_RESERVED;
	} else {
		DEBUG_LOG(HLE, "sceAudioSRCChReserve(%08x, %08x, %08x)", sampleCount, freq, format);
		chans[src].reserved = true;
		chans[src].sampleCount = sampleCount;
		chans[src].format = format;
		__AudioSetOutputFrequency(freq);
	}
	return 0;
}
Пример #5
0
u32 sceVaudioChReserve(int sampleCount, int freq, int format) {
	if (vaudioReserved) {
		ERROR_LOG(HLE, "sceVaudioChReserve(%i, %i, %i) - already reserved", sampleCount, freq, format);
		return SCE_KERNEL_ERROR_BUSY;
	}
	// We still have to check the channel also, which gives a different error.
	if (chans[PSP_AUDIO_CHANNEL_VAUDIO].reserved) {
		ERROR_LOG(HLE, "sceVaudioChReserve(%i, %i, %i) - channel already reserved", sampleCount, freq, format);
		return SCE_ERROR_AUDIO_CHANNEL_ALREADY_RESERVED;
	}
	DEBUG_LOG(HLE, "sceVaudioChReserve(%i, %i, %i)", sampleCount, freq, format);
	chans[PSP_AUDIO_CHANNEL_VAUDIO].reserved = true;
	chans[PSP_AUDIO_CHANNEL_VAUDIO].sampleCount = sampleCount;
	chans[PSP_AUDIO_CHANNEL_VAUDIO].format = format == 2 ? PSP_AUDIO_FORMAT_STEREO : PSP_AUDIO_FORMAT_MONO;
	chans[PSP_AUDIO_CHANNEL_VAUDIO].leftVolume = 0;
	chans[PSP_AUDIO_CHANNEL_VAUDIO].rightVolume = 0;
	vaudioReserved = true;
	__AudioSetOutputFrequency(freq);
	return 0;
}
Пример #6
0
static u32 sceAudioSRCChReserve(u32 sampleCount, u32 freq, u32 format) {
    if (format == 4) {
        ERROR_LOG(SCEAUDIO, "sceAudioSRCChReserve(%08x, %08x, %08x) - unexpected format", sampleCount, freq, format);
        return PSP_AUDIO_ERROR_SRC_FORMAT_4;
    } else if (format != 2) {
        ERROR_LOG(SCEAUDIO, "sceAudioSRCChReserve(%08x, %08x, %08x) - unexpected format", sampleCount, freq, format);
        return SCE_KERNEL_ERROR_INVALID_SIZE;
    } else if (sampleCount < 17 || sampleCount > 4111) {
        ERROR_LOG(SCEAUDIO, "sceAudioSRCChReserve(%08x, %08x, %08x) - invalid sample count", sampleCount, freq, format);
        return SCE_KERNEL_ERROR_INVALID_SIZE;
    } else if (chans[PSP_AUDIO_CHANNEL_SRC].reserved) {
        ERROR_LOG(SCEAUDIO, "sceAudioSRCChReserve(%08x, %08x, %08x) - channel already reserved ", sampleCount, freq, format);
        return SCE_ERROR_AUDIO_CHANNEL_ALREADY_RESERVED;
    } else {
        DEBUG_LOG(SCEAUDIO, "sceAudioSRCChReserve(%08x, %08x, %08x)", sampleCount, freq, format);
        chans[PSP_AUDIO_CHANNEL_SRC].reserved = true;
        chans[PSP_AUDIO_CHANNEL_SRC].sampleCount = sampleCount;
        chans[PSP_AUDIO_CHANNEL_SRC].format = format == 2 ? PSP_AUDIO_FORMAT_STEREO : PSP_AUDIO_FORMAT_MONO;
        __AudioSetOutputFrequency(freq);
    }
    return 0;
}