Merged v2.19

This commit is contained in:
Fred Gleason 2018-04-14 14:03:01 -04:00
commit b4fdca6f3e
6 changed files with 31 additions and 27 deletions

View File

@ -16773,3 +16773,8 @@
2018-03-30 Fred Gleason <fredg@paravelsystems.com>
* Increased the maximum value of the 'Card' control in the
'Edit Switcher' dialog in rdamin(1) to 9999.
2018-04-14 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in the HPI audio interface that broke capture
on adapters lacking DMA bus-mastering support.
2018-04-14 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up spurious HPI error messages being sent to the syslog.

14
NEWS
View File

@ -1,5 +1,19 @@
The NEWS file for the Rivendell package.
-------------------------------------------------------------------------------
v2.19.2 -- 4/14/2018
Changes:
HPI Support. Fixed a regression in the HPI support layer that broke
audio capture with adapters lacking DMA bus-mastering support.
Database Update:
This version of Rivendell uses database schema version 275, and will
automatically upgrade any earlier versions. To see the current schema
version prior to upgrade, see RDAdmin->SystemInfo.
As always, be sure to run RDAdmin immediately after upgrading to allow
any necessary changes to the database schema to be applied.
-------------------------------------------------------------------------------
v2.19.1 -- 3/27/2018

View File

@ -1 +1 @@
2.19.1
2.19.2

View File

@ -196,11 +196,7 @@ bool RDHPIPlayStream::formatSupported(RDWaveFile::Format format)
if(!found) {
return false;
}
if(LogHpi(HPI_OutStreamHostBufferAllocate(NULL,hostream,dma_buffer_size),
__LINE__)!=0) {
LogHpi(HPI_OutStreamClose(NULL,hostream),__LINE__);
return false;
}
if(HPI_OutStreamHostBufferAllocate(NULL,hostream,dma_buffer_size));
}
else {
hostream=hpi_stream;
@ -246,7 +242,7 @@ bool RDHPIPlayStream::formatSupported(RDWaveFile::Format format)
break;
}
if(!is_open) {
LogHpi(HPI_OutStreamHostBufferFree(NULL,hostream),__LINE__);
if(HPI_OutStreamHostBufferFree(NULL,hostream));
LogHpi(HPI_OutStreamClose(NULL,hostream),__LINE__);
}
if(state!=0) {
@ -759,7 +755,7 @@ void RDHPIPlayStream::tickClock()
else {
if(state==HPI_STATE_DRAINED) {
LogHpi(HPI_OutStreamStop(NULL,hpi_stream),__LINE__);
LogHpi(HPI_OutStreamHostBufferFree(NULL,hpi_stream),__LINE__);
if(HPI_OutStreamHostBufferFree(NULL,hpi_stream));
LogHpi(HPI_OutStreamClose(NULL,hpi_stream),__LINE__);
hpi_err=LogHpi(HPI_AdapterClose(NULL,card_index[card_number]),__LINE__);
clock->stop();
@ -795,8 +791,7 @@ int RDHPIPlayStream::GetStream()
if(++stream_mutex[card_number][i]==1) {
LogHpi(HPI_OutStreamOpen(NULL,card_index[card_number],i,&hpi_stream),
__LINE__);
LogHpi(HPI_OutStreamHostBufferAllocate(NULL,hpi_stream,dma_buffer_size),
__LINE__);
if(HPI_OutStreamHostBufferAllocate(NULL,hpi_stream,dma_buffer_size));
stream_number=i;
return stream_number;
}
@ -823,13 +818,12 @@ void RDHPIPlayStream::FreeStream()
{
#ifdef RDHPIPLAYSTREAM_USE_LOCAL_MUTEX
stream_mutex[card_number][stream_number]--;
LogHpi(HPI_OutStreamHostBufferFree(NULL,hpi_stream),__LINE__);
if(HPI_OutStreamHostBufferFree(NULL,hpi_stream));
LogHpi(HPI_OutStreamClose(NULL,hpi_stream),__LINE__);
stream_number=-1;
#else
LogHpi(HPI_OutStreamHostBufferFree(NULL,hpi_stream),__LINE__);
if(HPI_OutStreamHostBufferFree(NULL,hpi_stream));
LogHpi(HPI_OutStreamClose(NULL,hpi_stream),__LINE__);
// syslog(LOG_ERR,"HPI closing ostream: %d",stream_number);
stream_number=-1;
#endif
}

View File

@ -210,12 +210,7 @@ bool RDHPIRecordStream::formatSupported(RDWaveFile::Format format)
if(!found) {
return false;
}
if(LogHpi(HPI_InStreamHostBufferAllocate(NULL,histream,dma_buffer_size),
__LINE__)!=0) {
LogHpi(HPI_InStreamHostBufferFree(NULL,histream),__LINE__);
LogHpi(HPI_InStreamClose(NULL,histream),__LINE__);
return false;
}
if(HPI_InStreamHostBufferAllocate(NULL,histream,dma_buffer_size));
}
else {
histream=hpi_stream;
@ -262,7 +257,7 @@ bool RDHPIRecordStream::formatSupported(RDWaveFile::Format format)
break;
}
if(!is_open) {
LogHpi(HPI_InStreamHostBufferFree(NULL,histream),__LINE__);
if(HPI_InStreamHostBufferFree(NULL,histream));
LogHpi(HPI_InStreamClose(NULL,histream),__LINE__);
}
if(state!=0) {
@ -724,19 +719,15 @@ bool RDHPIRecordStream::GetStream()
}
return false;
}
if(LogHpi(HPI_InStreamHostBufferAllocate(NULL,hpi_stream,dma_buffer_size),
__LINE__)!=0) {
LogHpi(HPI_InStreamHostBufferFree(NULL,hpi_stream),__LINE__);
LogHpi(HPI_InStreamClose(NULL,hpi_stream),__LINE__);
return false;
}
if(HPI_InStreamHostBufferAllocate(NULL,hpi_stream,dma_buffer_size));
return true;
}
void RDHPIRecordStream::FreeStream()
{
LogHpi(HPI_InStreamHostBufferFree(NULL,hpi_stream),__LINE__);
if(HPI_InStreamHostBufferFree(NULL,hpi_stream));
LogHpi(HPI_InStreamClose(NULL,hpi_stream),__LINE__);
}

BIN
rivendell.ism Normal file → Executable file

Binary file not shown.