Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Aug 2018 00:28:41 +0000 (UTC)
From:      "Carlos J. Puga Medina" <cpm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r477549 - in head/www/iridium: . files
Message-ID:  <201808190028.w7J0SfKZ022641@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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.";



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201808190028.w7J0SfKZ022641>