svn commit: r477549 - in head/www/iridium: . files
Carlos J. Puga Medina
cpm at FreeBSD.org
Sun Aug 19 00:28:43 UTC 2018
Author: cpm
Date: Sun Aug 19 00:28:41 2018
New Revision: 477549
URL: https://svnweb.freebsd.org/changeset/ports/477549
Log:
- Unbreak build with SNDIO option [1]
- Cosmetic fix
Reported by: starikarp at yandex.com via email [1]
Modified:
head/www/iridium/Makefile
head/www/iridium/files/audio_manager_openbsd.cc
head/www/iridium/files/sndio_input.cc
head/www/iridium/files/sndio_input.h
head/www/iridium/files/sndio_output.cc
Modified: head/www/iridium/Makefile
==============================================================================
--- head/www/iridium/Makefile Sun Aug 19 00:25:02 2018 (r477548)
+++ head/www/iridium/Makefile Sun Aug 19 00:28:41 2018 (r477549)
@@ -60,6 +60,7 @@ RUN_DEPENDS= xdg-open:devel/xdg-utils \
noto-lite>0:x11-fonts/noto-lite
ONLY_FOR_ARCHS= amd64 i386
+
USES= bison desktop-file-utils jpeg ninja perl5 pkgconfig \
python:2.7,build shebangfix tar:xz
USE_GL= gl
Modified: head/www/iridium/files/audio_manager_openbsd.cc
==============================================================================
--- head/www/iridium/files/audio_manager_openbsd.cc Sun Aug 19 00:25:02 2018 (r477548)
+++ head/www/iridium/files/audio_manager_openbsd.cc Sun Aug 19 00:28:41 2018 (r477549)
@@ -73,7 +73,7 @@ AudioParameters AudioManagerOpenBSD::GetInputStreamPar
return AudioParameters(
AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO,
- kDefaultSampleRate, buffer_size);
+ kDefaultSampleRate, 16, buffer_size);
}
AudioManagerOpenBSD::AudioManagerOpenBSD(std::unique_ptr<AudioThread> audio_thread,
@@ -130,8 +130,10 @@ AudioParameters AudioManagerOpenBSD::GetPreferredOutpu
ChannelLayout channel_layout = CHANNEL_LAYOUT_STEREO;
int sample_rate = kDefaultSampleRate;
int buffer_size = kDefaultOutputBufferSize;
+ int bits_per_sample = 16;
if (input_params.IsValid()) {
sample_rate = input_params.sample_rate();
+ bits_per_sample = input_params.bits_per_sample();
channel_layout = input_params.channel_layout();
buffer_size = std::min(buffer_size, input_params.frames_per_buffer());
}
@@ -142,7 +144,7 @@ AudioParameters AudioManagerOpenBSD::GetPreferredOutpu
return AudioParameters(
AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout,
- sample_rate, buffer_size);
+ sample_rate, bits_per_sample, buffer_size);
}
AudioInputStream* AudioManagerOpenBSD::MakeInputStream(
Modified: head/www/iridium/files/sndio_input.cc
==============================================================================
--- head/www/iridium/files/sndio_input.cc Sun Aug 19 00:25:02 2018 (r477548)
+++ head/www/iridium/files/sndio_input.cc Sun Aug 19 00:28:41 2018 (r477549)
@@ -15,13 +15,11 @@
namespace media {
-static const SampleFormat kSampleFormat = kSampleFormatS16;
-
void sndio_in_onmove(void *arg, int delta) {
NOTIMPLEMENTED();
SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg);
- self->hw_delay_ = delta - self->params_.GetBytesPerFrame(kSampleFormat);
+ self->hw_delay_ = delta - self->params_.GetBytesPerFrame();
}
void *sndio_in_threadstart(void *arg) {
@@ -38,7 +36,9 @@ SndioAudioInputStream::SndioAudioInputStream(AudioMana
: audio_manager_(audio_manager),
device_name_(device_name),
params_(params),
- bytes_per_buffer_(params.GetBytesPerBuffer(kSampleFormat)),
+ bytes_per_buffer_(params.frames_per_buffer() *
+ (params.channels() * params.bits_per_sample()) /
+ 8),
buffer_duration_(base::TimeDelta::FromMicroseconds(
params.frames_per_buffer() * base::Time::kMicrosecondsPerSecond /
static_cast<float>(params.sample_rate()))),
@@ -66,7 +66,7 @@ bool SndioAudioInputStream::Open() {
sio_initpar(&par);
par.rate = params_.sample_rate();
par.pchan = params_.channels();
- par.bits = SampleFormatToBytesPerChannel(kSampleFormat);
+ par.bits = params_.bits_per_sample();
par.bps = par.bits / 8;
par.sig = sig = par.bits != 8 ? 1 : 0;
par.le = SIO_LE_NATIVE;
@@ -88,7 +88,7 @@ bool SndioAudioInputStream::Open() {
if (par.rate != (unsigned int)params_.sample_rate() ||
par.pchan != (unsigned int)params_.channels() ||
- par.bits != (unsigned int)SampleFormatToBytesPerChannel(kSampleFormat) ||
+ par.bits != (unsigned int)params_.bits_per_sample() ||
par.sig != (unsigned int)sig ||
(par.bps > 1 && par.le != SIO_LE_NATIVE) ||
(par.bits != par.bps * 8)) {
@@ -160,11 +160,6 @@ double SndioAudioInputStream::GetVolume() {
bool SndioAudioInputStream::IsMuted() {
return false;
-}
-
-void SndioAudioInputStream::SetOutputDeviceForAec(
- const std::string& output_device_id) {
-// Not supported. Do nothing.
}
} // namespace media
Modified: head/www/iridium/files/sndio_input.h
==============================================================================
--- head/www/iridium/files/sndio_input.h Sun Aug 19 00:25:02 2018 (r477548)
+++ head/www/iridium/files/sndio_input.h Sun Aug 19 00:28:41 2018 (r477549)
@@ -59,7 +59,6 @@ class SndioAudioInputStream : public AgcAudioStream<Au
void SetVolume(double volume) override;
double GetVolume() override;
bool IsMuted() override;
- void SetOutputDeviceForAec(const std::string& output_device_id) override;
// C-linkage call-backs are friends to access private data
friend void sndio_in_onmove(void *arg, int delta);
Modified: head/www/iridium/files/sndio_output.cc
==============================================================================
--- head/www/iridium/files/sndio_output.cc Sun Aug 19 00:25:02 2018 (r477548)
+++ head/www/iridium/files/sndio_output.cc Sun Aug 19 00:28:41 2018 (r477549)
@@ -11,8 +11,6 @@
namespace media {
-static const SampleFormat kSampleFormat = kSampleFormatS16;
-
void sndio_onmove(void *arg, int delta) {
SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg);
@@ -37,7 +35,7 @@ SndioAudioOutputStream::SndioAudioOutputStream(const A
: manager(manager),
params(params),
audio_bus(AudioBus::Create(params)),
- bytes_per_frame(params.GetBytesPerFrame(kSampleFormat)),
+ bytes_per_frame(params.GetBytesPerFrame()),
state(kClosed),
mutex(PTHREAD_MUTEX_INITIALIZER) {
}
@@ -59,7 +57,7 @@ bool SndioAudioOutputStream::Open() {
sio_initpar(&par);
par.rate = params.sample_rate();
par.pchan = params.channels();
- par.bits = SampleFormatToBitsPerChannel(kSampleFormat);
+ par.bits = params.bits_per_sample();
par.bps = par.bits / 8;
par.sig = sig = par.bits != 8 ? 1 : 0;
par.le = SIO_LE_NATIVE;
@@ -76,7 +74,7 @@ bool SndioAudioOutputStream::Open() {
}
if (par.rate != (unsigned int)params.sample_rate() ||
par.pchan != (unsigned int)params.channels() ||
- par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) ||
+ par.bits != (unsigned int)params.bits_per_sample() ||
par.sig != (unsigned int)sig ||
(par.bps > 1 && par.le != SIO_LE_NATIVE) ||
(par.bits != par.bps * 8)) {
@@ -86,7 +84,7 @@ bool SndioAudioOutputStream::Open() {
state = kStopped;
volpending = 0;
vol = 0;
- buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)];
+ buffer = new char[audio_bus->frames() * params.GetBytesPerFrame()];
sio_onmove(hdl, sndio_onmove, this);
sio_onvol(hdl, sndio_onvol, this);
return true;
@@ -155,16 +153,16 @@ void SndioAudioOutputStream::RealTimeThread(void) {
// Get data to play
const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay, params.sample_rate() * 1000);
count = source->OnMoreData(delay, base::TimeTicks::Now(), 0, audio_bus.get());
- audio_bus->ToInterleaved(count, SampleFormatToBytesPerChannel(kSampleFormat), buffer);
+ audio_bus->ToInterleaved(count, params.bits_per_sample() / 8, buffer);
if (count == 0) {
// We have to submit something to the device
count = audio_bus->frames();
- memset(buffer, 0, count * params.GetBytesPerFrame(kSampleFormat));
+ memset(buffer, 0, count * params.GetBytesPerFrame());
LOG(WARNING) << "No data to play, running empty cycle.";
}
// Submit data to the device
- avail = count * params.GetBytesPerFrame(kSampleFormat);
+ avail = count * params.GetBytesPerFrame();
count = sio_write(hdl, buffer, avail);
if (count == 0) {
LOG(WARNING) << "Audio device disconnected.";
More information about the svn-ports-head
mailing list