mirror of
https://github.com/rwengine/openrw.git
synced 2024-10-06 09:07:19 +02:00
openrw: iwyu: reduce warnings in audio subdirectory
This commit is contained in:
parent
b6b53ffdad
commit
428efd8fb1
@ -15,4 +15,10 @@
|
|||||||
{ "include": [ "@<boost/range/iterator_range_core\\.hpp>", "private", "<boost/range/iterator_range.hpp>", "public"] },
|
{ "include": [ "@<boost/range/iterator_range_core\\.hpp>", "private", "<boost/range/iterator_range.hpp>", "public"] },
|
||||||
# Bullet:
|
# Bullet:
|
||||||
{ "include": [ "@<BulletDynamics/Character/.*>", "public", "<btBulletDynamicsCommon.h>", "public"] },
|
{ "include": [ "@<BulletDynamics/Character/.*>", "public", "<btBulletDynamicsCommon.h>", "public"] },
|
||||||
|
# libavcodec / libavutil
|
||||||
|
{ "include": [ "@<libavcodec/version\\.h>", "public", "<libavcodec/avcodec.h>", "public"] },
|
||||||
|
{ "include": [ "@<libavutil/version\\.h>", "public", "<libavutil/avutil.h>", "public"] },
|
||||||
|
{ "include": [ "@<libavutil/frame\\.h>", "public", "<libavutil/avutil.h>", "public"] },
|
||||||
|
{ "include": [ "@<libavutil/log\\.h>", "public", "<libavutil/avutil.h>", "public"] },
|
||||||
|
{ "include": [ "@<libavutil/samplefmt\\.h>", "public", "<libavutil/avutil.h>", "public"] },
|
||||||
]
|
]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include <audio/SoundManager.hpp>
|
#include "audio/SoundManager.hpp"
|
||||||
|
|
||||||
#include "audio/alCheck.hpp"
|
#include "audio/alCheck.hpp"
|
||||||
|
|
||||||
@ -7,6 +7,8 @@ extern "C" {
|
|||||||
#include <libavformat/avformat.h>
|
#include <libavformat/avformat.h>
|
||||||
#include <libavutil/avutil.h>
|
#include <libavutil/avutil.h>
|
||||||
}
|
}
|
||||||
|
//ab
|
||||||
|
#include <rw/defines.hpp>
|
||||||
|
|
||||||
// Rename some functions for older libavcodec/ffmpeg versions (e.g. Ubuntu Trusty)
|
// Rename some functions for older libavcodec/ffmpeg versions (e.g. Ubuntu Trusty)
|
||||||
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,28,1)
|
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,28,1)
|
||||||
@ -14,10 +16,6 @@ extern "C" {
|
|||||||
#define av_frame_free avcodec_free_frame
|
#define av_frame_free avcodec_free_frame
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <array>
|
|
||||||
#include <iostream>
|
|
||||||
#include <fstream>
|
|
||||||
|
|
||||||
SoundManager::SoundManager() {
|
SoundManager::SoundManager() {
|
||||||
initializeOpenAL();
|
initializeOpenAL();
|
||||||
initializeAVCodec();
|
initializeAVCodec();
|
||||||
@ -36,18 +34,18 @@ SoundManager::~SoundManager() {
|
|||||||
bool SoundManager::initializeOpenAL() {
|
bool SoundManager::initializeOpenAL() {
|
||||||
alDevice = alcOpenDevice(NULL);
|
alDevice = alcOpenDevice(NULL);
|
||||||
if (!alDevice) {
|
if (!alDevice) {
|
||||||
std::cerr << "Could not find OpenAL device!" << std::endl;
|
RW_ERROR("Could not find OpenAL device!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
alContext = alcCreateContext(alDevice, NULL);
|
alContext = alcCreateContext(alDevice, NULL);
|
||||||
if (!alContext) {
|
if (!alContext) {
|
||||||
std::cerr << "Could not create OpenAL context!" << std::endl;
|
RW_ERROR("Could not create OpenAL context!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!alcMakeContextCurrent(alContext)) {
|
if (!alcMakeContextCurrent(alContext)) {
|
||||||
std::cerr << "Unable to make OpenAL context current!" << std::endl;
|
RW_ERROR("Unable to make OpenAL context current!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,7 +68,7 @@ void SoundManager::SoundSource::loadFromFile(const std::string& filename) {
|
|||||||
// Allocate audio frame
|
// Allocate audio frame
|
||||||
AVFrame* frame = av_frame_alloc();
|
AVFrame* frame = av_frame_alloc();
|
||||||
if (!frame) {
|
if (!frame) {
|
||||||
std::cerr << "Error allocating the audio frame" << std::endl;
|
RW_ERROR("Error allocating the audio frame");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,14 +76,14 @@ void SoundManager::SoundSource::loadFromFile(const std::string& filename) {
|
|||||||
AVFormatContext* formatContext = nullptr;
|
AVFormatContext* formatContext = nullptr;
|
||||||
if (avformat_open_input(&formatContext, filename.c_str(), nullptr, nullptr) != 0) {
|
if (avformat_open_input(&formatContext, filename.c_str(), nullptr, nullptr) != 0) {
|
||||||
av_frame_free(&frame);
|
av_frame_free(&frame);
|
||||||
std::cerr << "Error opening audio file (" << filename << ")" << std::endl;
|
RW_ERROR("Error opening audio file (" << filename << ")");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (avformat_find_stream_info(formatContext, nullptr) < 0) {
|
if (avformat_find_stream_info(formatContext, nullptr) < 0) {
|
||||||
av_frame_free(&frame);
|
av_frame_free(&frame);
|
||||||
avformat_close_input(&formatContext);
|
avformat_close_input(&formatContext);
|
||||||
std::cerr << "Error finding audio stream info" << std::endl;
|
RW_ERROR("Error finding audio stream info");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,7 +93,7 @@ void SoundManager::SoundSource::loadFromFile(const std::string& filename) {
|
|||||||
if (streamIndex < 0) {
|
if (streamIndex < 0) {
|
||||||
av_frame_free(&frame);
|
av_frame_free(&frame);
|
||||||
avformat_close_input(&formatContext);
|
avformat_close_input(&formatContext);
|
||||||
std::cerr << "Could not find any audio stream in the file " << filename << std::endl;
|
RW_ERROR("Could not find any audio stream in the file " << filename);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,7 +105,7 @@ void SoundManager::SoundSource::loadFromFile(const std::string& filename) {
|
|||||||
if (avcodec_open2(codecContext, codecContext->codec, NULL) != 0) {
|
if (avcodec_open2(codecContext, codecContext->codec, NULL) != 0) {
|
||||||
av_frame_free(&frame);
|
av_frame_free(&frame);
|
||||||
avformat_close_input(&formatContext);
|
avformat_close_input(&formatContext);
|
||||||
std::cerr << "Couldn't open the audio codec context" << std::endl;
|
RW_ERROR("Couldn't open the audio codec context");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -117,7 +115,7 @@ void SoundManager::SoundSource::loadFromFile(const std::string& filename) {
|
|||||||
|
|
||||||
// OpenAL only supports mono or stereo, so error on more than 2 channels
|
// OpenAL only supports mono or stereo, so error on more than 2 channels
|
||||||
if(channels > 2) {
|
if(channels > 2) {
|
||||||
std::cerr << "Audio has more than two channels" << std::endl;
|
RW_ERROR("Audio has more than two channels");
|
||||||
av_frame_free(&frame);
|
av_frame_free(&frame);
|
||||||
avcodec_close(codecContext);
|
avcodec_close(codecContext);
|
||||||
avformat_close_input(&formatContext);
|
avformat_close_input(&formatContext);
|
||||||
@ -126,7 +124,7 @@ void SoundManager::SoundSource::loadFromFile(const std::string& filename) {
|
|||||||
|
|
||||||
// Right now we only support signed 16-bit audio
|
// Right now we only support signed 16-bit audio
|
||||||
if(codecContext->sample_fmt != AV_SAMPLE_FMT_S16P) {
|
if(codecContext->sample_fmt != AV_SAMPLE_FMT_S16P) {
|
||||||
std::cerr << "Audio data isn't in a planar signed 16-bit format" << std::endl;
|
RW_ERROR("Audio data isn't in a planar signed 16-bit format");
|
||||||
av_frame_free(&frame);
|
av_frame_free(&frame);
|
||||||
avcodec_close(codecContext);
|
avcodec_close(codecContext);
|
||||||
avformat_close_input(&formatContext);
|
avformat_close_input(&formatContext);
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
#pragma once
|
#ifndef _RWENGINE_SOUNDMANAGER_HPP_
|
||||||
|
#define _RWENGINE_SOUNDMANAGER_HPP_
|
||||||
#include "al.h"
|
|
||||||
#include "alc.h"
|
|
||||||
|
|
||||||
|
#include <cstddef>
|
||||||
|
#include <cstdint>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include <al.h>
|
||||||
|
#include <alc.h>
|
||||||
|
|
||||||
class SoundManager {
|
class SoundManager {
|
||||||
public:
|
public:
|
||||||
SoundManager();
|
SoundManager();
|
||||||
@ -68,3 +71,5 @@ private:
|
|||||||
std::map<std::string, Sound> sounds;
|
std::map<std::string, Sound> sounds;
|
||||||
std::string backgroundNoise;
|
std::string backgroundNoise;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#pragma once
|
#ifndef _RWENGINE_ALCHECK_HPP_
|
||||||
|
#define _RWENGINE_ALCHECK_HPP_
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
@ -13,3 +14,5 @@ void checkALerror(const std::string& file, unsigned int line);
|
|||||||
#else
|
#else
|
||||||
#define alCheck(stmt) stmt
|
#define alCheck(stmt) stmt
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user