2015-08-29 Fred Gleason <fredg@paravelsystems.com>

* Added an 'RDAudioConvert::Stage3Pcm24()' method in
	'lib/rdaudioconvert.cpp' and 'lib/rdaudioconvert.h'.
	* Added a 'Format::Pcm24' value to the 'RDSettings::Format'
	enumeration in 'lib/rdsettings.h'.
	* Modified the 'RDAudioConvert' class to support generating PCM24
	output in 'lib/rdaudioconvert.cpp' and 'lib/rdaudioconvert.h'.
	* Modified the 'RDPlayStream' class to support playing PCM24
	data in 'rdhpi/rdplaystream.cpp'.
	* Modified the 'RDRecordStream' class to support capturing PCM24
	data in 'rdhpi/rdrecordstream.cpp'.
	* Added an 'audio_peaks_test' harness in 'tests/audio_peaks_test.cpp'
	and 'tests/audio_peaks_test.h'.
	* Added 'PCM24' to the list of available formats in
	'rdadmin/edit_rdlibrary.cpp' and 'rdadmin/edit_rdlibrary.h'.
	* Added 'PCM24' to the list of available formats in
	'rdadmin/edit_decks.cpp'.
	* Added PCM24 support for file importation in
	'web/rdxport/import.cpp'.
	* Added an 'RDCae::Pcm24' value to the 'RDCae::AudioCoding
	enumeration in 'lib/rdcae.h'.
This commit is contained in:
Fred Gleason
2015-08-30 07:49:44 -04:00
parent e48a90a363
commit 8d70a79387
45 changed files with 1329 additions and 854 deletions

View File

@@ -176,6 +176,7 @@ bool MainObject::hpiLoadRecord(int card,int stream,int coding,int chans,
int samprate,int bitrate,QString wavename)
{
#ifdef HPI
syslog(LOG_NOTICE,"card: %d coding: %d\n",card,coding);
record[card][stream]=new RDHPIRecordStream(sound_card);
connect(record[card][stream],SIGNAL(stateChanged(int,int,int)),
this,SLOT(stateRecordUpdate(int,int,int)));
@@ -188,7 +189,7 @@ bool MainObject::hpiLoadRecord(int card,int stream,int coding,int chans,
record[card][stream]->setFormatTag(WAVE_FORMAT_PCM);
record[card][stream]->setBitsPerSample(16);
}
if((coding>=1)&&(coding<=2)) { // MPEG-1
if((coding==1)||(coding==2)) { // MPEG-1
record[card][stream]->setFormatTag(WAVE_FORMAT_MPEG);
record[card][stream]->setHeadLayer(coding);
record[card][stream]->setHeadBitRate(bitrate);
@@ -207,7 +208,11 @@ bool MainObject::hpiLoadRecord(int card,int stream,int coding,int chans,
}
record[card][stream]->setHeadFlags(ACM_MPEG_ID_MPEG1);
}
if(coding>2) {
if(coding==4) { // PCM24
record[card][stream]->setFormatTag(WAVE_FORMAT_PCM);
record[card][stream]->setBitsPerSample(24);
}
if(coding>4) {
delete record[card][stream];
record[card][stream]=NULL;
return false;